Tips, Tricks, Tools & Techniques

for Internet Business, Life, the Universe and Everything

RSS Feed

Tracking and Losing Affiliate Cookies

10 December, 2007 (11:08) | Business | By: Nick Dalton

Online affiliate marketing is a billion dollar industry and its foundation for tracking commissions is built upon very fragile browser cookies. This topic has been examined in deep detail by Benjamin Edelman and discussed on many blogs and forums over the years. Recently ShoeMoney had an interesting blog post where he suggests that cookie tracking may be replaced by server side tracking. Here are my thoughts on the topic.

Lets start with a simple case where you manage your own web site that sells a product and you also manage your own affiliate program. An affiliate’s link to your sales page may look like this:

The server side code on the sales page grabs the affiliate id from the URL and adds it as a parameter to the buy link so that the information is transferred to the payment processor. After the customer has completed the purchase the customer is sent back to your thank you page. In order for your system to correctly record the affiliate sale the payment processor needs to post the affiliate id back to your thank you page. Since many payment processors don’t support passing arbitrary parameters through the payment process, this is not really an option.

The easy way around this problem is to store the affiliate id as a server session variable on your site. When the customer comes back to the thank you page the code just looks up the affiliate id in session. Of course to use a session, the server needs to set a session id cookie in the customer’s browser. And we’re back at square one.

So getting rid of cookies entirely in the affiliate process is very difficult.

To continue the discussion, let’s assume that we accept session cookies set by the merchant’s web site (also known as first party cookies). These cookies are also a lot less likely to be targeted by overzealous anti-spyware programs, than cookies set by the major affiliate networks.

The next complication is that your web site has many pages between the affiliate landing page and the checkout page. The affiliate id needs to be kept throughout this process. Again the server session comes to the rescue. The affiliate id is grabbed from the URL on the landing page and is immediately stored in session. On the thank you page the id is retrieved from session, just like in the previous example.

Next let’s introduce an affiliate network like CJ. The affiliate’s link will then look something like this:

The affiliate network registers this click in their database and forward the customer to your sales page with the affiliate id:

The process is then the same as in the previous examples. With the difference that on the thank you page you need to communicate the products sold along with the affiliate id back to the affiliate network. This can be done with an invisible iframe or image, or with JavaScript. The affiliate network receives this information and stores it in their database and later matches it up with the previous click data.

Another issue is tracking affiliate commissions across visits (a.k.a. return days). Say a customer clicks on an affiliate link but does not purchase anything on the first visit. A few days later the customer returns to the merchant’s site (without clicking on an affiliate link) and then makes a purchase. Most affiliate programs pay out affiliate commissions for this purchase. Persistent cookies work well for tracking an affiliate id across visits for cases like this. Of course the cookies are not of much use if they are deleted by software on the customer’s computer. If the persistent cookies are issued by the merchant’s web site they are less likely to be deleted. However this would require more work on the part of the merchant.

In the future I believe that CRM systems will play a larger role on many e-commerce sites. You will be given an incentive to enter your name and email address (”squeeze page”) and that information is stored in a database along with the affiliate id that you arrived with. As long as you use the same email address when you make a purchase the original affiliate can always be credited.

All this extra processing and keeping track of the affiliate id on the merchants web site is probably more work than most merchants can or are willing to do. After all, merchants outsource their affiliate programs to avoid work. Another disturbing fact is that the merchants don’t have any financial incentive to improve affiliate tracking since more lost affiliate cookies result in less affiliate commissions to pay out. From the affiliate networks perspective they want to make it as easy as possible for merchants to sign up to their network, and they want to be compatible with as many technologies as possible. Therefore they offer to do all the tracking using their cookies.

In summary I believe that affiliate tracking can be vastly improved using server side technology, but the parties who are in a position to do something about it do not have any incentive to do so.

What do you think? Is this really a technology problem? Are there any scenarios that cannot be accurately tracked with the techniques described above?


Comment from Carsten Cumbrowski
Time: December 18, 2007, 02:51

Hi Nick, you linked to my old “cookie monster” post at ReveNews :)
Your post discusses the same details as I tried to illustrate in a more recent post of mine about Affiliate Tracking Methods 101. The problem is the sophistication that is needed to implement “batch” or merchant side tracking. It is also more costly to implement for the merchant. Another problem is trust and control. If the merchant controls the tracking in full detail, he has more opportunities to cheat on commissions for his affiliates.

Comment from Harm
Time: April 20, 2009, 02:01

Nice writeup. I would love to see the issue raised the last paragraphs resolved. As a publisher I am reluctant to use the current affiliate networks due to the lack of control and transparency. The solution of using email/name on the merchant side is a step in the right direction.

Write a comment