Affiliate links you can trace: sub-IDs per network
Last checked:
Mark every outgoing affiliate link with a short value that says which page and which placement the click came from. The network stores that value with the click and sends it back on the transaction, so an order in the network report tells you which link earned it. Every network calls the field something different. This guide lists the field, the rules and the report for the six networks we use on our own sites, and ends with what a sub-ID does not prove.
The field only identifies the link. It does not identify the visitor, and it must never contain anything about a person: no e-mail address, customer number, name or IP address. A page name, a placement name and a product name are enough.
A naming scheme that holds up
Decide the scheme once and use it on every page, otherwise the report becomes a list of one-off labels. We use three parts, in this order:
- Placement: where on the page the link sits, for example
product,store,comparison,category-running-shoesorbrand-hero. - Product: the product’s slug, the same one you use in the page address, cut at 40 characters.
- Partner: the store’s slug, for networks that give you a third field.
Keep values lowercase, ASCII only, with hyphens and underscores, and short. Networks with one field get the parts joined with an underscore, for example comparison_fitnord-sprint-1000. Networks with several fields get one part per field. Never put a date, a session identifier or anything that could be traced to a person in the value.
If you also measure the click on your own site, send the same parts as event properties, for example surface, product_slug and partner_slug. Then the click in your analytics and the order in the network share a vocabulary. The affiliate tracking guide shows the event and the properties in Savri; custom events are included from the Basic plan.
The field per network
Checked on 12 October 2026 against each network’s own documentation where it exists, and against the links we run in production. “Verified in our own production” means we send the value on live links and have read it back from the network.
| Network | Field on the link | Rules | Where it comes back |
|---|---|---|---|
| Adtraction | epi, epi2 up to epi5, added as ordinary query parameters | Five fields per link. On a deep link, the url parameter must stay last. | On transactions and statistics in the Adtraction API, and in the publisher interface. Our commission import reads the fields from each transaction’s click. |
| Tradedoubler | epi, one field | Up to 64 characters, letters and digits, no spaces or punctuation. Links with the parenthesis format take epi(value) before url(; links with ampersands take &epi= before &url=. The parenthesis form is verified in our own production. | The EPI report in the publisher interface, exportable. |
| Awin | clickref through clickref6, added as query parameters | Lowercase. Keep the value within 50 characters, otherwise the Click References report cuts it. Only clickref reaches the advertiser’s landing page; clickref2 to clickref6 are not passed on. The Click References report shows only the first field and supports up to 20,000 unique values. | The Transaction Report holds all fields; the Click References report shows the first. We use clickref for the site and clickref2 and clickref3 for placement and product. |
| Addrevenue | r, appended last on the tracking link | Verified in our own production: the value passes through to the store as clickRef. Addrevenue’s API reference documents your own sub-ID values on events as subids. Never touch the u parameter. | Events in the Addrevenue API, fields subids and clickRef. |
| Partner-ads | uid, inserted before htmlurl= | Verified in our own production only; we found no public documentation. Everything after htmlurl= belongs to the store address, so the field must go before it. We use it for the site name. | The click overview export, column uid. Not every test click appears there. |
| CJ | sid on the link | One field. Verified in our own production. | The Commission Detail API returns it as shopperId, a publisher-only attribute; the older field name sid is marked deprecated there. |
Two networks we also use are missing from the table on purpose: one has no documented field, and the other ignores extra parameters. There, the click on your own site is the only trace.
How to read the result
In the network: open the transaction or commission report and group by the field. Adtraction, Awin and CJ show the value on each transaction; Tradedoubler has a separate EPI report; Addrevenue returns it through the API; Partner-ads shows it on clicks, not on orders. The report tells you which link earned the order and when the click happened. It says nothing about what the visitor did before the click.
In Savri: if the link click is tracked as an event with the same placement and product properties, the Goals page counts the clicks and the property breakdown shows which placements and products people click. With an Adtraction account connected, Savri imports approved commission per site, traffic source and landing page, and shows the available visit behind an order when the evidence supports a match. That feature is included in Business and Enterprise; the Adtraction guide explains what a certain and a probable match mean.
Check it before you trust it: click one of your own links once, with the field set, and look for the value on the click or the transaction in the network the same day. One click per program is enough; repeated test clicks from the same machine can be hidden from a click report. Then compare a week of orders with a week of tracked clicks for the same placement.
What a sub-ID does not prove
A sub-ID shows which link was clicked. Tying the order to a whole visit, with the pages before the click, is a different and less certain task. We measured it on our own sites for several hundred Adtraction orders between July and October 2026, by matching each order’s click time against tracked visits and then checking the match against signs that do not depend on time.
- Almost every order got a candidate visit, and in about four of five cases an independent sign confirmed it, usually that the visit contained the outbound click to the right store and product.
- In roughly one of ten cases the signs showed that the wrong visitor had been picked, even when the time match looked certain.
- The error grew with traffic: around 1 percent on sites with fewer than 30 pageviews a day, and 17 percent on the busiest site in the measurement. We have no sites with thousands of pageviews a day, so the figures say nothing about those.
- The deciding factor was the outbound click. When the matched visit contained a tracked click within a minute of the network’s click time, it was right in nearly every testable case. Without that click, it was usually wrong.
So: commission per site is exact, commission per link is exact when the field is set, and the visit behind an order is only trustworthy when your own analytics recorded the outbound click. Do not promise a visit behind every order, and do not treat a time-based match without a tracked click as certain. The sub-ID also says nothing about which marketing channel brought the visitor, and a referrer such as an AI service does not separate organic from paid traffic.
Sources
Adtraction, Get started with EPI, read 12 October 2026. Tradedoubler, Publisher User Manual: Enhanced Publisher Integration (PDF dated 2009, still published), read 12 October 2026. Awin, What is click reference and what can I use this for, Click References Report and Click appends and dynamic parameters, read 12 October 2026. Addrevenue, API reference, read 12 October 2026. CJ, Commission Detail API reference, read 12 October 2026. Partner-ads: our own production links and click exports, September 2026. The visit figures are from our own measurement of Adtraction orders on our own sites, July to October 2026.