Server-to-Server tracking (S2S)

Understanding and implementing
 Server-to-Server tracking (S2S)



👉 Summary

  1. Definition: what is the Server-to-Server?
  2. Advantages of S2S tracking
  3. Integration methods
  4. How the advertiser can store the “ClickID”
  5. How to put the S2S into place





Server-to-Server is a tracking method that may not deposit a cookie on the user’s device.
It works by generating and storing a unique click ID when the user clicks on an affiliate link or a ad impression.


When the same user then converts, the “ClickID” corresponds to the click and enables the conversion to be traced for the partner.

The information is stored on the server and the tracking is done by publishing the “clickID”, generated when the user clicks on the server allowing the tracking.


You no longer need to place tracking scripts (JS, Iframe, Pixel img) directly on your site. With S2S, the tracking information is directly transmitted in the URL. This means that you need to configure your program in tracking by redirection, allowing Affilae to automatically generate the “ClickID” when the user clicks.


The “ClickID” is therefore unique per user and this ID is passed on as a variable throughout the conversion funnel.



Advantages of Server-to-Server tracking


S2S is certainly more demanding to implement compared to JavaScript or Iframe tracking scripts, but there are also many advantages when using this method.


ⓐ Precision

The S2S only generates a ClickID when the user sees or clicks on an affiliate tracking link, thus increasing tracking accuracy.

With the development of “adblockers” that can detect and delete cookies, the S2S is particularly interesting because it is independent and does not necessarily require the use of a cookie.



Since conversions can only be tracked via a “ClickID”, you are able to avoid many types of affiliate fraud such as cookie stuffing.



Tracking application downloads or in-app conversions through cookies has many limitations.

Notably because of the following :

  The mobile search engines like Safari for example, have their cookies deactivated.

  Limiting the deposit of cookies in app stores for application downloads.


 By using S2S tracking, you can ensure that your ad tracking is smooth and accurate, without having to worry about cookies.






As seen previously, the S2S tracking uses the « ClickID ».

  The “ClickID” is a unique ID that is automatically generated by Affilae called “aecid”, it is created when the Internet user clicks on an affiliate tracking link for example.

  The ClickID is then sent to the advertiser for server-side matching at the user level.

  On the advertiser’s side, a server captures and stores this “ClickID” and any other relevant information from the tracking URL.

  If the same user then makes a purchase, the advertiser sends this information back to Affilae via a postback URL.

  Upon receipt, Affilae checks whether the ClickID is unique or not, and if it is, the conversion is registered.

  In cases where the ClickID is invalid or duplicated due to server errors, fraud or any accidental action by the user, it will be rejected.


S2S Schema





 How can the advertiser store the transaction ID?


Multiple methods are available:


ⓐ Via a cookie

Storing in a cookie on the user’s browser when they load the landing page. This is the most common method, however, it has several disadvantages as the online advertising market is slowly moving towards a cookie-free world.


ⓑ Hidden variable

A second method is to store the “ClickID” as a hidden variable in the URLs


ⓒ URL tracking parameter

The third method is to transfer the “ClickID” as a URL parameter until the conversion is completed.


  This process will probably vary depending on the CRM solution you use.



 How to put S2S into place?


ⓐ Inject the “Click ID” into a URL parameter on your tracking links.


In order to track the affiliate partner who made the conversion, Affilae will generate the “ClickID” during each click or impression on your program, via a redirect tracking URL.

    The “Click ID” makes it possible to link the Internet user, the affiliate, to the affiliate program.


By using a redirect Affilae tracking, the “ClickID” will automatically be assigned to the “aecid” variable on your landing page. 

Exemple :

ClickID Format: 24 characters (e.g. 603ed1800000000000000000)



ⓑ Store the “Click ID” and send the conversion to Affilae in the postback URL


As mentioned, several methods are available to store the ClickID, but here are some things to consider if you use a cookie ⚠ : 

    The cookie must be set in the HTTP response header and not in a client-side script, for example.
    The cookie must set with a HttpOnly flag.
    Le cookie must be defined with the secure flag.


Once you have the “ClickID” in the incoming traffic URLs, it should be linked to the conversion in your back office and Affilae.

  To do this you need to configure the postback URL to be triggered after the customer has converted and filled in the cids variable with the “click IDs” collected (separated by `-`).



cidsYesList of clicks IDs separated by -productNoList of products IDs, separator `;`.

VariableRequiredValue Information
keyYesThis key is supplied to you on the “conversion code” page available through your affiliate program Configuration dashboard.


idYesPopulate this parameter with a unique identifier, for example, a unique order number.

If you use this code to confirm a subscription to a newsletter yet you do not have an automatically generated unique identifier, you can, for example, use the user’s email Hash (e.g. MD5) to populate this parameter.

amountYes for salesTotal amount Excluding Tax of an order, which will serve as the basis for calculating the commission and Revenue generated.


currencyYesCurrency code ISO 4217
paymentYes if conversion requires paymentIf the conversions are subject to payment, specify the client’s mode of payment, if not simply leave this parameter blank:

  • online for online payment
  • bankwire for payment by bank transfer
  • other for all other types of payments
customerYes if revenue share is activatedYour client identifier if the “Revenue Share” option is activated. Please use an identifier that will not change over time, the best being the ID number used in your database.

Leave this parameter blank if you do not use the Revenue Share option.

cvNocustom variable that will be available in the interface and API: products, new customer etc.
voucherNoShould be replaced by the voucher code that was applied during the check-out process. ; as a separator to add multiples codes.