Revenue Share & Lead Tracking in Affiliate Marketing
This is a very technical article about advanced tracking of revenue share and lead type transactions on an advertiser websites to be reported back to any type of affiliate tracking and reporting system.Revenue share tracking is much more complicated than basic lead tracking. Lead tracking is actually a part of revenue share tracking (technically), but does only make up a fraction of the functionality needed for highly flexible revenue share tracking.In order to avoid confusion will I clarify what I mean with certain phrases throughout this document.Commission per LeadLead Tracking will be referred to as CPA or tracking of actions that have a fix commission amount assigned to each individual type of action that was specified by the advertiser. The action itself could be various entirely different things, from traditional leads, such as filling out a form or subscribing to a newsletter. It could also be event driven actions that follow more complex rules, for example a “bounty” or “bonus” for new customer sign-ups when they place their first order or the redemption of a specific promo code during checkout etc.Revenue ShareI refer to revshare or revenue share if I am talking about a commission that varies depending on the order size or more general, the amount of business a customer brings to the advertiser. The commission paid to an affiliate publisher is usually a percentage of that amount, hence the name “revenue share”. The percentage might vary depending on various factors that are up to the advertiser to specify and to configure.Revenue Share versus Lead CommissionRevenue share is the preferred method of compensating affiliates for online retailers who sell a range of different products on their website. Lead generation and pay per action compensation is primarily used by advertisers who only sell a single (or few) products of similar value, subscription services and offers that usually require a long time from the initial contact and the actual conversion.A good example for the latter scenario are loan offers, such as a mortgage for a house, which is a process that takes usually several weeks or months to complete. Those advertisers pay one flat fee for every pre-qualified lead, which usually involves filling out a detailed web form and running some basic checks on the provided information. It does not matter, if the customer ends up with a loan for a small or big house and also not, if the prospect drops out later during the conversion process. Such advertisers use historic data and their own experience to average out the amount of business they generate for each received pre-qualified customer.Lead Commission for RetailersRetailers can do the same math and offer CPA compensation for new customers instead of revenue share. Revenue share is in many cases a much lover commission per qualified transaction than a lead commission could be. Some retailers actually experiment with this and from what I heard were those trials very successful. I expect the number of traditional retailers who are offering CPA supplemental to revenue share to increase over the years to come.CPA works better for most affiliates, because it is much easier to scale and to calculate ROI than it is with revenue share. More sophisticated merchants learned to determine key performance indicators, such as lifetime customer value, which allows them to determine a healthy CPA commission they can pay to affiliates.This increase in sophistication in web analytics by advertisers will not pass by on affiliate marketing. It will be more and more important to be able to track multiple different things with higher flexibility to adjust to the needs of different advertisers.Any tracking solution that goes beyond the simple basics of small retailers and mom and pop shops needs to be able to track things on a line item level and more rather than just on a per order or action level. Revenue share transactions can be treated technically like lead transactions or the other way around. It would either be like a revenue share tracking solution that is able to track a large number of different percentages or cuts or a cost per action tracking solution with a large number of different actions. You can pick whichever you prefer, but the bottom line is the same in both cases.Minimum Tracking RequirementsA simple: transaction id, transaction qty and transaction amount kind of tracking system is not able to cover those scenarios.Minimum amount of information needed for Revenue Share and Lead tracking.
|Name||Primary key||Data Types & Constraints||Comment|
|Transaction ID||X||Alpha numeric||.|
|Commission Type||X||Alpha numeric||.|
|Quantity||.||Positive Integer (> 0)||.|
|Amount||.||Positive or 0 value Integer (amounts in Cents) or floating point||Not required for Lead tracking only|
The minimum information required to provide the needed flexibility would be the transaction id, quantity, amount and “commission type” or “rule”.The transaction ID does not have to be unique and cannot be used as a primary key in the system, however, it should be unique within a specified (short) time frame. There can be multiple tracking records for a single tracking ID. The unique key or smallest denominator would be the combination of transaction ID and commission type. Typical transaction IDs are customer order numbers, email address, customer number or any generated ID . The ID allows the grouping of different events that where triggered by one “action” of the user, which is not to be confused with action as in pay per action.Commission type could be anything from a single specific product UPC, a group of products or a desired and commissionable event.Additional parameters are obligatory, but might make sense in order to reduce the load on the tracking server or to provide additional functionalities beyond the basic tracking itself, such as securing the transmission or validation (more to that later).Advanced TrackingIf you want to implement tracking that is able to track the flow of an item throughout the fulfillment/completion process a fifth optional parameter would have to be introduced that indicates the status of the item. In those cases would the system also receive records with the same transaction ID or even transaction ID + commission type combination at different times over a longer period of time. I won’t go into details with that, because it adds multiple additional layers of complexity to the whole process.Practical ExamplesThe described 4 parameter tracking allows the accurate tracking of the following advanced scenarios. I won’t bother to provide examples of simple revenue share or lead transactions.1. RulesAdvertiser “A” pays 15% commission for all products, except for items that are flagged or categories as “On Sale”. “On Sale” items are significantly reduced in price with little or no profit margins for the advertiser. The advertiser decides to pay only 10% in commission for those types of products instead of the usual 15%. (You can sub “On Sale” with any other reason that results in a significant difference in profit margins for groups of products for the advertiser)EventsCustomer “C” places an order on the advertiser’s website after he got referred to the site by an affiliate. The order contains multiple products, 2 items at normal price valued together $200 and 3 items from the “On Sale” categories on the website valued together $150.Affiliate Commission$200 at 15% = $30$150 at 10% = $15Total: $452. RulesAdvertiser “A” pays 10% commission for all product sales and a special “bounty” or “bonus” of a flat amount of $10 if the customer who placed the order is a new customer and not an existing one who purchased from the advertiser already in the past.EventsCustomer “C” purchases products valued together $200. The customer never purchased from advertiser “A” before and had to create a new customer profile in order to be able to complete his purchase.Affiliate Commission$200 at 10% = $201 x $10 flat commission = $10Total: $303. RulesThe scenario is technically a duplication of scenario 1, but the business reason is an entirely different one and worth highlighting separately.Advertiser “A” pays 20% for any product sold on his website. Advertiser “A” received an offer from manufacturer “M” that reduces the price the advertiser has to pay himself for Product “P” significantly compared to normal circumstances.The manufacturer does this in order to get the advertiser to either do special placement of his product and/or to use any other means that are entirely up to the advertiser himself in order to increase the number of sales of that product for a limited period of time.The manufacturer is new in the business and attempts aggressively to penetrate an existing market. An alternative scenario would be that the manufacturer operates in that market already for some time and wants to significantly increase his market share at all cost.Advertiser “A” decides to pass on the savings in price to his affiliate force in the hope that this temporarily increase in commission for a specific product will cause affiliates to promote it much heavier than usual . He offers to pay $5 extra for each product “P” sold in addition to the normal 20%.EventsAffiliate “X” promotes the product in a special marketing campaign and refers Customer “C” to the product page of advertiser “A”. The customer purchases product “P” as a result of that. The value of the product is $100 as it was already in the past.Affiliate Commission$100 at 20% = $20Bonus for qualified product 1 x $5 = $25Total: $25The tracking system should not impose a limitation about the maximum number of rules that are being triggered by a single event. The examples show 2 rules each for simplification purposes. It should be possible track 1-XX number of such triggered rules. Example:4. RulesAdvertiser “A” sells 5 types of products with significantly different profit margins between each product type. While it is only 10% for products in his most competitive area , is it 70% for others.He decides to make his commission reflect that in order to be able to pay higher commission to affiliates who promote the high margin products more than the low margin ones. His commission break down for the 5 product categories is Category 1: 5% , Category 2: 7.5%, Category 3: 10%, Category 4: 15% and Category 5: 30%.He knows that he is good in retaining customers and in turning one time buyers into repeat buyers and long term customers. He rewards his affiliates with $20 for every new customer they bring to him. Part of the sign-up process for new customers and separate feature for existing customers is the option to opt into receiving promotional offers from 3rd party advertisers who are having the same type of target audience as advertiser “A”. His partners pay advertiser “A” $4 for every new subscriber to their list. Advertiser “A” shares this bounty with his affiliates 50/50 if they encourage users to opt-in for those types of offers.EventsCustomer “C” places a large order, which includes 2 items each, valued together $200 of any of the 5 product categories (= total of 10 items valued $1,000). The customer is a first time buyer and also decided to opt-in to the 3rd part offers, after he read on the referring affiliate site that those 3rd party offers include regularly special coupons and discounts for products complimentary to the ones advertiser “A” carries, which are not available to customers elsewhere.Affiliate Commission$200 at 5% = $10$200 at 7.5% = $15$200 at 10% = $20$200 at 15% = $30$200 at 30% = $601 x New Customer bounty = $201x 3rd Party Opt-in Bonus = $2Total: $157Data TransmissionTo provide the highest amount of flexibility in regards to how data are reported back to the tracking system from the e-commerce website, multiple options are available for the implementation.The first choice that has to be made is whether to track in real-time or to collect data over a specific period of time and report it back in batches where each batch contains the data of every conversion event since the time after the previous batchI wrote previously an article that explains the differences between real-time and batch processing in greater detail so I will keep it short this time. If you are not familiar with those things yet, I suggest to read my previous article now and then continue with reading this article.Common MethodsThere are two common methods available for the real-time reporting and tracking and should both be supported by the tracking solution. There are three common methods for batch processing , which are then also split into two options each. It does make sense to use the same option for all three methods and should not be mixed for a simple shopping cart system (or advertiser account).Real-Time MethodsPixel TrackingThe real-time methods available are what is referred to as “pixel tracking” and involve a hidden 1×1 pixel “image” with the needed data encoded within the URL of that image that is placed on the conversion page, usually the thank you screen or order confirmation page.Separate images should be generated if multiple rules are valid for the conversion event. The alternative method of expanding a single image URL depending on the valid rules is not recommended, because it would limit the number of rules that could be tracked for any given event due to limitations and filters regarding the length of an URL.Instant API CallThe second and better real-time option is a remote API call via HTTP to the tracking server before the confirmation pages is rendered and send to the customer. It does not matter if the call is a GET or a POST request and also not if the data are simply in machine readable structured format such as delimited text or XML or if web services protocols and formats such as SOAP, REST or others are utilized for the API call.Batch MethodsAPI CallThe same method used for the real-time API call can be used for the batch processing of the data. The only difference would be the amount of data per call and the frequency of calls.File Transfer via FTP or EmailThe other two methods for batch reporting are transmitting a file with the data via FTP (file transfer protocol) and sending of the data via email, either with the data within the body of the email itself or short message with the data as a file attachment (Push Option).The two possible options for the batch processing are that the e-commerce system pushes the data to the tracking and reporting system or having the tracking and reporting system calling the e-commerce system to pickup new data that were generated since the previous call (Pull Option).Notes to Email MethodThe email method is not recommended for the Pull Option because it would require additional steps that perform virtually the same tasks as to ones needed for the push option, but with the push option requiring much fewer steps instead.The Curse and Blessing of Pixel TrackingThe pixel tracking option is the one that is the easiest to implement in the e-commerce system and requires the least amount of modifications to it compared to any of the other methods. However, it is also the most unreliable and insecure one.Reliability IssuesThe reliability depends on other technical factors than programming, such as available bandwidth to e-commerce system and tracking system, but also the bandwidth the customer who is using the site has (which is in many cases the bottleneck and the factor you cannot influence much nor control) . Also server loads of the involved web servers play a role, in our case the load on the tracking servers more than the loads of the e-commerce servers.In addition to the lower reliability comes the issue that the tracking cookie has to be set by the tracking server and not the e-commerce server. If multiple e-commerce systems are using the same tracking server and the user selectively deletes just the cookies that originate from that single tracking server, will affect all e-commerce systems using that tracking server. The more e-commerce systems are tracked by a single tracking server, the more likely is it that the address of the tracking server is being added to any cookie blocking or selective cookie removal software.As a result of this, less commissionable events will be tracked and reported than actually happened based on the defined rules for qualifying events.Vulnerability and Larger Attack SurfacePixel tracking is also more deceptive for fraud than any of the other methods. As a matter of fact, the attack surface for a hacker who wants to inject events into the tracking server that did not happen in reality is multiple times larger than all other methods combined.The reason for that is the reliance on the accuracy of information that come from a users machine and not from the same known web server or mail server as in the case of using the other methods.The internet is “stateless”, which means that every request made from one system to another is independent from all other requests. There is no way to prevent anybody from making requests to the server that look like what you expect, but were information that the user tempered with. It is no problem to grab the HTML code that you received from a web server, save it to your computer, make modifications to it and then send it back to the web server.The receiving server has to make the call whether a call is legitimate and authorized based on logical verification of the sent data. One method is to make it hard or impossible for the attacker to determine or guess (or try out again and again) what data the receiving server expects to receive at that particular moment. Other methods involve the storage of a token on the user computer that is generated as part of the authentication process and then transmitted as part of every request to proof to the receiving web server your identity and allow other logical checks of the legitimacy of the sent content.The available options to allow the receiving tracking server to make that determination with a 100% reliability and accuracy are hard to impossible. Rejecting legitimate requests due to a false positive match are in this case more severe than a fraudulent request that does make it through at gets accepted.Real Life Tests Confirm the Worst FearI did some tests at two major affiliate networks when I had the opportunity to do so, where pixel tracking was used by the advertiser. I was surprised if not to say shocked when I found out by doing some tests that were realistic and not hard replicate by a real hacker, how easy it was to trick the tracking system of both of the networks. Not even red flags were raised with the request to verify certain transactions that should have looked suspicious to say the least. I even tried cases where it was obvious that the data were fake and illegitimate without the need of much verification on the tracking server end. They went through and created fraudulent commissionable transactions in the networks systems.There are a number of options to reduce the risk and determine if a specific transaction is a fake one or not. At least red flags could be raised and alert the advertisers to have them verify a transaction manually. Many merchants do not automatically double check every commissionable transaction , especially the ones who decided using pixel tracking because of its ease to implement.The Problem with Should Do and Actually DoThey should check them, but I am sure that many merchants assume that the networks are checking those things and prevent them from happening or at least notify them in cases where it is not certain, but looks suspicious and out of the ordinary.This fact is little known and not much talked about for reasons unknown to me. Consider this. If your program produces enough orders to make it hard for you to verify every transaction and you do not have any means to automate it, a hacker could simply do a single fraudulent transaction (low commission of course) to find out if transactions are verified or not. A single incorrect transaction of low value would be dismissed by many AMs and not acted upon, but is enough for a hacker to determine of a program can be exploited or not. As long as the transaction amounts and overall amount of fraudulent transactions is low enough to fly under the radar, a hacker can abuse it and make a sizable chunk of extra change every month that way.This is a long post, I know. There was a reason for me to write it. It was meant originally for networks only, but then I realized that it is also important and interesting for in-house affiliate software, third party or home grown, OPMs, AMs and Advertisers with some technical understanding as well.Cheers!Carsten CumbrowskiFind more practical resources to this subject and other at Cumbrowski.com.