Posting in the Magento forums has been disabled pending the implementation of a new and improved forum solution which should better serve the community.

For new questions please post at magento.stackexchange.com, the community-run support site for the Magento community. We will be providing updates on the new forum solution soon. For questions or concerns please email community@magento.com.

Magento Forum

Looking to fund Affiliate / Rewards Points Module
 
PeterC
Member
 
Total Posts:  45
Joined:  2008-07-20
 

Gui,

If you can test the product systematically that will be extremely valuable; thanks.  (IMO, no one does enough testing.  After all, if you test your code, you might find a bug and then you’d have to fix it, LOL.)

How do you want to deal with the coupon codes?  Presumably for your loyalty scheme, you will extract all the balances in the same way that an affiliate programme operator would.  What happens then?  Are you going to email them to your customers?  I could imagine that working quite well, it would be an excuse to email people and remind them what you sell!  If this is the kind of thing you’re planning, what support do you need from the affiliate software?

The other suggestions you make sound good, but are they features that would be required for the most basic possible affiliate programme?  I’m keen to get something usable written as quickly as possible, so we don’t get into a loop of adding features without actually releasing anything.

I’m not too keen on the name either, it’s frustrating because all the obvious names are already registered.  A lot of them are just parked, too.  Presumably they were registered by speculators who think people like us have millions in venture backing and can buy them out.

I quite like AffiliatesForAll.  To give people a few more names to think about, here is the complete list that I came up with yesterday.  All these are available in .com and .org.

OpenAffiliation
CommissionPanel
AffiliateLiberty
AffiliateLiberation
LibertyAffiliate
LiberationAffiliate
AffiliatesLiberated
LiberatedAffiliates

If people particularly like any of these, please say so, but personally I’d be perfectly happy going with AffiliatesForAll.

VisualFrames,

Thanks for offering to do the coding, that’s very generous.  It looks as though quite a lot of people are keen to be involved as well, so I suppose one thing we need to think about is who writes what.  Considering that you have a lot of experience with Magento itself, I was wondering if you’d like to write the code that ties the affiliate system into Magento.  That would be a big learning curve for me, but probably quite straightforward for you.

What do you think, would you like to do that?  Was anyone else particularly keen on writing that code?

In fact I am still proposing two separate modules, rather than integrating everything into Magento.  The point is that I’m not making any plans to produce integrations for other shopping carts.  If someone wants to use our code with osCommerce, they would be very welcome, but they’d probably have to write their own integration!  Of course if the code was good quality and they were happy to contribute it to the community, we could then distribute it with future releases of the affiliate system.

---

I haven’t got much time today, but tomorrow I should be able to spend much of the day working on this.  Assuming I don’t get stuck on a silly technical issue, I’m hoping that I’ll be able to produce a skeleton of the project, with directories for each component.  You can then critique it if you don’t like it.  Because it will make the project more concrete, hopefully it will also make it easier for us to decide who is going to write what code.

 
Magento Community Magento Community
Magento Community
Magento Community
 
Gui
Guru
 
Avatar
Total Posts:  588
Joined:  2008-03-09
 

How do you want to deal with the coupon codes

Email would be a very good option. And perhaps on their My account page an overview of Points acquired, Points Spend and a Coupon Code to use the points. Or you could set as an admin a standard coupon code that always uses x-amount of points when the balance is available. I do think that such a thing has a low priority though.
And balance extraction could be the same, you would just have a different name for the earnings.

You are bound to have some group structure if there is going to be support for two sign-up situations. Why not get it right in the first place by tieying that to the Magento Groups? All suggestions I make are not based on a coding background so I could overlook things that make it more difficult, keep that in mind.

 
Magento Community Magento Community
Magento Community
Magento Community
 
swbratcher
Member
 
Avatar
Total Posts:  43
Joined:  2008-07-21
 

---------------------
Links and Ensuring Affiliate Credit…

In the past I was charged with the task of adding affiliate functionality to a mod of Mambo/osCommerce. To ensure that an affiliate link was credited even if the purchase came at a later session I used a cookie. The affiliate link triggered a cookie to be set which was later looked for during checkout or account creation. Just in case the current session that placed the order wasn’t the original referred session the user account and/or order was linked to the affiliate that was responsible for the referral. I would like to see a similar safeguard in AffLib (AffiliateLiberated). I would be happy to provide code snippets if desired.

---------------------
Permanent Referred User Association for Affiliate Credit…

Is it planned that a user and all that user’s orders, current and future, are to be credited to an affiliate?

---------------------
Great project, looking forward to helping with and using it.

Thanks all.

 
Magento Community Magento Community
Magento Community
Magento Community
 
PeterC
Member
 
Total Posts:  45
Joined:  2008-07-20
 

VisualFrames,

Sounds good.  I appreciate your offer to write the whole thing, I’m just thinking that we can get something working quicker if we all contribute.

Gui,

When you say two sign-up situations, do you mean you want to run an affiliate programme and a loyalty programme at the same time?

I’m just wondering if there is anyone who wants to take on the coding necessary to make the affiliate software work as a loyalty programme.  I’m probably not the best person to do it, because I’ve no use for a system like that.  All I need is a traditional affiliate programme, so it’s difficult for me to see what is necessary to make the system work the other way.

Lizardo,

At the moment the system sets a cookie with a configurable lifetime.  If someone follows an affiliate link, the cookie gets set.  If they go away and come back to order before the cookie has expired, the affiliate will get the credit.  If they order again before the cookie has expired, the affiliate will get additional credit.  On the other hand, once the cookie has expired the affiliate will not get credit, even if he was responsible for introducing the customer, and the first order was placed within the cookie lifetime.

I imagine everyone will want different policies on this!  I’ll probably implement at least the model where an affiliate benefits throughout the customer lifetime, as that’s probably what I’ll do on my own store.  An affiliate who introduces a loyal customer deserves to be rewarded.

---

Progress report time… I’ve been writing code today, and you can now follow affiliate links to my dummy store.  When you follow the link, a cookie will be set.  If you place an order in the dummy store, and you have a cookie set, it will be recorded in MySQL.

You can browse the code or download a tarball at http://www.metathinking.com/affiliates/ .  Once you’ve installed Bazaar, you can also get a copy with “bzr branch http://www.metathinking.com/affiliates/trunk”.  If you want to join in with the coding, I suggest you set up the system as it exists at present, and see if it looks flexible enough to do what you want.  If it does, that’s great, if it doesn’t please let me know.

To set up the system, you should first create a user and database in MySQL.  Load the table definition from affiliates.sql.  You then need to copy config.inc.sample to config.inc and set the appropriate MySQL connection parameters at the bottom.  You probably don’t need to change the top three values, but if you are interested they are: (i) the parameter used in affiliate links to give the affiliate’s account number, (ii) the name of the cookie which the system will set, and (iii) the length of time the cookie will persist in the browser.

You’ve now configured the affiliate software, but you also need to configure the demo store.  The idea is that integrations for different shopping carts will go in the “carts” directory.  At the moment, there is only one thing in there, a subdirectory called “dummy”.  This contains the dummy store.  Change into that directory and again copy config.inc.sample to config.inc.  There is only one value to configure, which is the URL of the affiliate software.

Finally you need to enable web serving for the directory “public” (for the affiliate software) and “carts/dummy” (for the dummy store).  Visit the dummy store using a URL like “http://www.example.com/dummystore?ref=123”.  You should find that a cookie has been set.  You will be asked how many widgets you want.  Choose a number and click “Buy Now”.  The order will then be recorded in MySQL against affiliate 123.

If you’re confused about the various URL paths, let me explain how it’s set up on my machine.  My machine is called yeltsin.metathinking.com (but the firewall blocks access to it from outside, so you can’t actually see it).  In the document root directory, I have two symlinks.  One is called “affiliates” and points to the “public” directory.  The other is called “affiliates-dummy” and points to “carts/dummy”.  The $affiliate_base variable is set to “http://yeltsin.metathinking.com/affiliates’”.

If you now look at the code for the dummy cart, it should be fairly apparent what it does.  Every time a page is displayed, the dummy cart makes an XMLRPC call to get_cookie.  If there is an affiliate code in the URL, the call will return details of the cookie which must be set.  When the order is actually placed, an XMLRPC call is made to order_placed.  The call’s parameters include the order number and the total price.  The affiliate will be determined by looking at the cookie list.

It may seem like an overhead calling get_cookie on every page view, but the cart and the affiliate software will normally run on the same machine, so the delay will be minimal.  Later it may be useful to have a call on every page view, to collect analytics information which can be made available to affiliates.  (I also know the security needs fixing!)

I used XMLRPC because it allows us to integrate carts which don’t use PHP.  At the moment, it might be simpler to make the call directly, by loading the relevant PHP module and calling the right procedure.  However, it would make it hard to integrate carts based on other technologies like Java or Ruby on Rails.

If you have any problems getting your test environment set up, please let me know.  The more people who work on this, the less work we all have to do, so I don’t want to exclude anyone.  I’m also happy to help if you aren’t sure how to set up Bazaar (or aren’t sure what it does).

Finally, I haven’t had any negative comments about the name AffiliatesForAll.  If you don’t like that name, please shout within the next day, because I’m likely to register the project hosting soon.  (I’m a bit busy tomorrow though, so it’s unlikely that much will happen from my end.)

Pete

 
Magento Community Magento Community
Magento Community
Magento Community
 
swbratcher
Member
 
Avatar
Total Posts:  43
Joined:  2008-07-21
 

Cookie related features sound great to me, thanks for the read-back.
...Solid name. I vote to run with it.

 
Magento Community Magento Community
Magento Community
Magento Community
 
Christian_Norway
Sr. Member
 
Total Posts:  135
Joined:  2008-06-18
 

Thumbs up so far. I wish i had the skills to help out with the coding

 
Magento Community Magento Community
Magento Community
Magento Community
 
swbratcher
Member
 
Avatar
Total Posts:  43
Joined:  2008-07-21
 
PeterC - 05 August 2008 04:35 AM

At the moment the system sets a cookie with a configurable lifetime.  If someone follows an affiliate link, the cookie gets set.

Configurable cookies are intended as I read PeterC’s post above.

L

 
Magento Community Magento Community
Magento Community
Magento Community
 
Loic_LC
Sr. Member
 
Avatar
Total Posts:  194
Joined:  2007-12-19
Paris, France
 

Hi everyone.
I’ve read through these posts and I’m very glad such module is being developped, I just wanted to express my support.
I’m not a native speaker and I need to make sure about something. Is this module,
A : an affiliate programe
B : a point and reward (voucher) module
C : both.

Who will (financially) contribute, and where ?
Thanks !

 
Magento Community Magento Community
Magento Community
Magento Community
 
Christian_Norway
Sr. Member
 
Total Posts:  135
Joined:  2008-06-18
 

Another thing is that the module should be based on the same translation system as Magento, so people can translate easy to their own languages.

openaffiliate.csv file for translation of all text

 
Magento Community Magento Community
Magento Community
Magento Community
 
ukdazza
Guru
 
Total Posts:  308
Joined:  2008-04-16
 

I have been interested in a module like this since magento was released. Very keen to keep reading and see how you guys get on. I’m not a coder or anything but if this becomes available I think it would benefit so many magento users. Great work! Keep it up.

 
Magento Community Magento Community
Magento Community
Magento Community
 
magcurious
Jr. Member
 
Total Posts:  4
Joined:  2008-06-06
 

Just wanted to cast my vote in support of this module.  I know quite a few ecommerce businesses for whom the primary concern with moving to Magento is the platform’s lack of affiliate / loyalty program support.  I am sure a module such as the one you are developing would stir up a good deal of interest.

 
Magento Community Magento Community
Magento Community
Magento Community
 
Christian_Norway
Sr. Member
 
Total Posts:  135
Joined:  2008-06-18
 

There is a lot of support for this module. So hopefully this will spur the developement.

 
Magento Community Magento Community
Magento Community
Magento Community
 
PeterC
Member
 
Total Posts:  45
Joined:  2008-07-20
 

Just wanted to let you know that I’m still here! grin

I’ve been looking at the Zend Framework over the last few days.  Presumably some people here have used it extensively for Magento development, and I’d like to know what you think of it, because I’m not really seeing it as a stable foundation for our project.  The design of ZF looks complicated and it has oddities like classes called Decorator which don’t implement the decorator pattern.  I could live with this, but the documentation is a much bigger issue.  A lot of important information isn’t mentioned in the manual, so you end up having to read the source or search the Internet for random tutorials that people have written.  I’m also concerned that Ajax support isn’t yet in the stable release of ZF, so if we want to use that, we either have to roll our own or we have to use a version of the framework that hasn’t been formally released.  The documentation for the Ajax code is particularly lacking, which is a problem for us, even though I suppose it’s unavoidable that unreleased code won’t be documented to the same standards as a supported release.

These problems make me think that ZF would be a good option for projects starting in a year or two, but right now we should use something else, perhaps plain PHP with a Javascript library to do Ajax and other client-side effects.  Would anyone have any objection to this?  If you have used ZF in developing Magento, do you think I’m being unfair?

It’s a shame because in general I don’t mind web frameworks.  I’ve used Java EE quite a lot, and that’s substantially bigger and more complicated than ZF.  The thing is, though, all the complexity is carefully documented through the JSRs and various books that are available.

 
Magento Community Magento Community
Magento Community
Magento Community
 
Gui
Guru
 
Avatar
Total Posts:  588
Joined:  2008-03-09
 

Hi Peter,
I tried setting up a test store with some luck, but not quite there yet. I will send you a pm to tell what I did. Perhaps you can see what I have done wrong.
I hope you are the one that registered the domain affiliatesforall. Glad I could at least come up with a name for the project! wink

When you say two sign-up situations, do you mean you want to run an affiliate programme and a loyalty programme at the same time?

Yes I did. But if the loyalty can be integrated into the affiliate by changing the name of earnings that would suffice for now.

@Loïc
I am aiming for option C (Both). However it will probably start as A (Affiliates) with simple support for B (Rewards module). For C we probably need some more coders. So please come forward.

 
Magento Community Magento Community
Magento Community
Magento Community
 
RPGShop
Sr. Member
 
Total Posts:  143
Joined:  2008-06-16
 

(Sorry been out of town for a week, just checking back in here now)

Why would we need to use Ajax for the affiliate system? The system should be pretty behind the scene except for the adimn menus. I wouldn’t base anything on such.

In short there are people that want everything we could think of out there… the real question is: 1) what do most want, 2) what do the people who are willing to put up $ wanting?

Is there some way to vote on these things? There has been countless calls for pledges of $ for this project and I have yet only seen my own $100 pledge.

I need an affiliate system to pay a % of each order to the affilate and they can use that credit for store purchases or cash out after a min is reached. That and a admin report to show who’s earning what. That’s all. Not too hard overall. But when you add all these OTHER options in, I see this project quickly out of scope with the addition of 3 or 4 types of affiliate/referal/rewards systems and countless payout/setup options. Sure try to design and allow for all those options, but if people are not willing to help with some specific pledges of donations, then their needs come second.

James
(Now to try to get 1.1 to upgrade again without wasting my whole night recovering)

 
Magento Community Magento Community
Magento Community
Magento Community
Magento Community
Magento Community
Back to top