Server Side Tracking Basics

Peter Hamilton

In affiliate marketing (and virtually all performance marketing) there are two primary ways to track transaction flow from the moment of first click to the point where conversion takes place. Either you are tracking users via cookies on their browser or doing a server call to store a unique identifier. You might have read my post awhile ago about the difference between Client Based Tracking and Server Based Tracking, but based on a large number of inquiries to our customer support and a general misunderstanding of how server side tracking works, I thought it would be helpful to cover the basics of server side tracking including various implementations and benefits.

Basic Server Tracking for the Web

Generally speaking, server-to-server tracking on the web works by generating and storing a unique identifier of some kind when a user clicks a tracking link or generates an ad impression. When the same user later commits a conversion (or other trackable action) the unique ID is matched back to the user by posting that same unique identifier back to the tracking server.

How It Works with Affiliates

Affiliate tracking software like HasOffers allows you to track which conversions came from affiliates. If you choose to utilize server side tracking, sometimes called Server Response, a unique transaction identifier is generated when a user views or clicks an ad with an affiliate link.

The ID gets passed through the tracking URL to the server hosting the offer landing page and is stored by the advertiser. This identifier is passed through as a variable throughout the conversion funnel. When the transaction is complete, the ID is passed back to the affiliate tracking server by calling a “Postback URL” at the time of conversion.

How Does the Advertiser Store the Transaction ID?

There are several ways an advertiser can store the transaction ID. One method is for the advertiser to generate a cookie on the landing page that carries through the duration of the transaction. Another method is to log the transaction ID as a hidden variable. A third option is to continue carrying the transaction ID as a URL parameter until the conversion completes. This process will likely vary depending on the CRM solution used by the advertiser.

This diagram shows the progression of a transaction from the initial click to postback.

Server to Server Tracking

Types of Identifiers

The Transaction ID generated for server side tracking can be a number of things. In some cases, it may be a randomly generated unique ID. A transaction ID can also be based on a combination of available variables, like a username, email address, or the IP address logged at the time the transaction starts. For some types of affiliate transactions, using the affiliate ID may also work as the identifier to track the transaction.

Third Party Tracking

For affiliates who are tracking campaigns independently, it’s important to note that they must implement their own Postback URL. The roundtrip for 3rd party tracking starts with the affiliate appending a transaction ID to the offer URL. When that offer URL is clicked, the affiliate transaction ID is logged. The tracking server then passes a unique transaction ID to the advertiser’s server, where the transaction ID is logged by the advertiser. When a conversion occurs, the advertiser posts back to the tracking software, which in turn posts back to the 3rd party tracking for the affiliate, completing the roundtrip.

Using an iframe or image pixel for third party tracking will not work if the advertiser is only using server-to-server tracking because the postback process will not cause the image pixel to fire on conversion.

Server-to-Server Benefits

The simplicity of placing an iframe or javascript pixel for cookie tracking is certainly attractive, but there are definitely benefits to getting server side tracking in place.

One primary advantage of server-to-server tracking is accuracy. By generating a unique identifier at the time a click or impression occurs, you get a greater degree of accuracy in tracking a specific transaction back to a specific affiliate. In most cases, the transaction ID is tied to something constant, like an email address or username, which again results in a higher degree of accuracy. Another added benefit of server-to-server tracking is the ability to add additional third party tracking, so an affiliate can use the transaction ID to verify campaign results independently.

Dual-Tracking Option

While server-to-server tracking is extremely accurate, it’s also possible to simultaneously track a transaction using both an image pixel and server-to-server tracking. When both options are used, server-to-server tracking is configured as described above, while a cookie is also placed on the user’s browser. If both tracking methods log the same transaction, the tracking software only counts the transaction once, since the transaction ID for the cookie and the transaction ID for the server response postback are the same value.

The primary reason most affiliate tracking continues to rely on cookie based methods such as iFrame and image pixels is due to the requirement for advertisers to do some additional work, storing the tracking identifier on their own servers and passing it back to the affiliate tracking platform. For this reason, the convenience of an iFrame is often chosen over the required implementation for the advertiser. It is simply easy to place a pixel than store and pass transaction IDs. With that said, once server-to-server tracking is in place, the accuracy is awesome.

Peter Hamilton

A performance marketer by background, Peter is the CEO of TUNE, the world's leading mobile marketing platform. Peter has lead the company to 10 offices around the world and nearly 400 employees, now trusted by companies like Expedia, Starbucks, Supercell, and Uber. Follow @peterhamilton

  • Trackingbeast

    I think one question that might help out a lot of people is setting up a chain of postbacks.  For instance, you have an advertiser requiring postback, a network on hasoffers, and a 3rd party on say.. hit path.  All parties involved must be passing the same identifier through the entire transaction, with no variances, or your tracking will fail.  Correct?

  • Aff Guy

    What differences do you usually see in overall numbers for server-side tracking? If we could tell what % reward we get for the effort, then it’s a much easier sell. Is it 10% higher? Lower?

    • This varies depending on the the website, type of offer, type of traffic, etc. For example, how many customers happen to have cookies totally turned off? Does the advertiser allow sales to occur if the customer has cookies disabled? Some sources say there is a 10-15% discrepancy while others show a much smaller difference. Unfortunately, I have not seen many public tests that put them side by side. Please add them to the comments if you find something more concrete.

      • Aff Guy

        Thanks Peter – thought you’d have that data actually? Surely you must (where campaigns are run with both tracking types in place at once) see how many transactions come through each type?

        Secondly, I’m assuming that sales value, goal type and order id etc can all be passed back using the postback in the same way? ie this tracking works for CPS campaigns?

  • Tony Sopranisko

    How does server side tracking identify the source of the conversion if the customer doesn’t purchase straight away on that session, but comes back say in 14 days?  Obviously without using cookies as well.

    • An advertiser bust either tie the transaction_id to a user’s account info (user login) or store it in a local cookie. Most ad blockers and browsers block 3rd party cookies and not 1st party cookies (since 1st party cookies have the same domain as the site the user is purchasing from). In fact, you’ll have trouble even using something like gmail if you have all cookies turned off.  This makes server to server more accurate because it does not rely on 3rd party cookies. 

  •  Interesting info.I can say that you have covered a lot of basis in your article. Good info!
    Ad Tracking Software

  • Peter – Would server side tracking be able to track conversions that do not involve a click but only involve an impression? In other words, visitor 123 visits Affiliate ad 123 displays on Visitor 123 does not click on the ad but happens to notice it / see it. Five days later visitor 123 goes to the advertiser’s webpage and purchases a product. Could a view thru conversion like that be tracked using server side tracking?

  • David Tran

    Hi Peter,

    Hope all is well! We have been trying to get a server to server postback in order to passback conversions we see to our OpenX adserver. From what we can summarize, we can generate image pixel and javascript conversion tags but no server to server postbacks. Is there a way to track conversions on both platforms?

  • Lucky Singh

    hey I Am Publisher on Different Affiliate CPI program But They Not Give Me Right Install Report They Count Only Click Not Count Install.So Can You Solve That Issue,What Can I Do Then Affiliate Program Count Right Install.If I Use Api And Postback Url Then Install Count Right?