Call-back icon  Sales: Call 877.832.5289 (N America)|310.295.4144 (International)

Magento

eCommerce Software for Online Growth

Magento Forum

   
Looking to fund Affiliate / Rewards Points Module
 
Gui
Sr. Member
 
Total Posts:  214
Joined:  2008-03-09
 

I thought that was the idea of Peter in the first place, not to be bound by Magento, hence “Open” in the name (the domain is also taken). I would concentrate on getting it compatible with Magento first though. That is why I thought a standalone project would take longer, but I am no expert on that matter.

I will concentrate on the Loyalty part since i have more experience with that than an affiliate model. I will make a list tomorrow. to late now to get my head straight.

Oh and by the way I can help with the testing/ideas etc. unfortunately not so much with coding. I still write html with tables wink

 
Magento Community Magento Community
Magento Community
Magento Community
 
VisualFrames
Sr. Member
 
Avatar
Total Posts:  111
Joined:  2008-04-03
New York, NY
 

Wow the community seems to be pretty vibrant to this idea… well we can do the coding… let’s see how we can come to a consensus here…

 Signature 

http://www.eCommerce-Themes.com
Now offering: Lots of Magento Premium Themes, Magento Professional Services, Custom Extension Dev and Hosting!
An Accent on Quality! For all your Magento design needs

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

As promised, I have collected the requirements and put them on the web.  You can download this draft spec from http://www.metathinking.com/affiliates/trunk/doc/spec.html .  It is also a Bazaar repository, which you can branch using ‘bzr branch http://www.metathinking.com/affiliates/trunk’.  As the spec is the only file in there at the moment, though, there isn’t much point. grin

Please let me know if I’ve missed out something essential, or you disagree with any of my suggestions.  Also, if you think the system can be simplified while still remaining useful, I would be interested to hear your idea.  I completely agree with RPGShop and Christian, we should keep this as simple as possible for the first release.  (In particular, you’ll see that I’ve dropped my original idea for supporting multiple shopping carts.  Although I’m suggesting a design which would accommodate multiple carts in the future, I think we should only support Magento for the first release.)

 
Magento Community Magento Community
Magento Community
Magento Community
 
VisualFrames
Sr. Member
 
Avatar
Total Posts:  111
Joined:  2008-04-03
New York, NY
 

I agree with your statement. There are many affiliate solutions out there supporting multiple shopping cart. What would be the point in re-inventing the wheel. They may not support Magento. So let’s just focus for now on making a Magento Affiliate Module.

 Signature 

http://www.eCommerce-Themes.com
Now offering: Lots of Magento Premium Themes, Magento Professional Services, Custom Extension Dev and Hosting!
An Accent on Quality! For all your Magento design needs

 
Magento Community Magento Community
Magento Community
Magento Community
 
Gui
Sr. Member
 
Total Posts:  214
Joined:  2008-03-09
 

I think you have put down a very basic but solid underground for starting the project.

Perhaps additionally
- Admin can set per Affiliate group what value to use. Money, Points etc
- Affiliate groups could be made using the Magento Customer Groups
- Admin can set pay-out in cash or payout as Coupon Code to use at the store

and with this in mind:

For example, if a site carries forward balances under $50, the administrator can edit the file to remove affiliates who do not qualify for payment.

- Admin can set minimum and maximum Pay-out without the need to manually edit files

Name. I’m not to fond of the name, though I really like the idea behind it. It sounds a bit harsh to me, but that could be because I’m not native English. I could come up with “Affiliates for All” also still available in .com and .org

 
Magento Community Magento Community
Magento Community
Magento Community
 
PeterC
Member
 
Total Posts:  31
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
 
VisualFrames
Sr. Member
 
Avatar
Total Posts:  111
Joined:  2008-04-03
New York, NY
 

Not a problem. We can write the code. Or more specifically we can focus on the code integration to Magento if someone else writes the main functionality.
Once things are clear and sorted out we can start.

 Signature 

http://www.eCommerce-Themes.com
Now offering: Lots of Magento Premium Themes, Magento Professional Services, Custom Extension Dev and Hosting!
An Accent on Quality! For all your Magento design needs

 
Magento Community Magento Community
Magento Community
Magento Community
 
Gui
Sr. Member
 
Total Posts:  214
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
 
lizardo
Jr. Member
 
Avatar
Total Posts:  8
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:  31
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
 
lizardo
Jr. Member
 
Avatar
Total Posts:  8
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:  128
Joined:  2008-06-19
 

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

 Signature 

Akupunktur, Soneterapi, Massasje Oslo
Draft version of Magento Webshop (Norwegian) - http://helsekost.amedisin.no

 
Magento Community Magento Community
Magento Community
Magento Community
 
lizardo
Jr. Member
 
Avatar
Total Posts:  8
Joined:  2008-07-21
 
PeterC - 05 August 2008 05: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
 
Loïc
Member
 
Avatar
Total Posts:  66
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:  128
Joined:  2008-06-19
 

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

 Signature 

Akupunktur, Soneterapi, Massasje Oslo
Draft version of Magento Webshop (Norwegian) - http://helsekost.amedisin.no

 
Magento Community Magento Community
Magento Community
Magento Community
Magento Community
Magento Community
    Back to top
 
Sales: Call 877.832.5289 (North America) 310.295.4144 (International)
© Copyright 2008 Varien. Magento, eCommerce software, is a trademark of Irubin Consulting Inc. DBA Varien
Privacy Policy|Terms of Service
Magento Community Count
52360 users|825 users currently online|105718 forum posts