Conversion attribution in affiliate marketing: a practical guide

How attribution models, windows and click IDs work in affiliate, why two systems claim the same conversion, and what you can know from the link side.

TDS Team Author
Published
9 min Reading time
All posts

Attribution answers one question: which click, from which source, gets the credit for a conversion. Everything else in the topic (models, windows, cookies) is a different way of answering it when the evidence is incomplete. For a solo media buyer the practical answer is short. Pass a click ID, use last click, and know what your window is.

This article explains how the common models work, why your affiliate network and your ad platform will both claim the same sale, and what you can and cannot learn from the link side of the funnel.

Short answer

Last click is the default in affiliate marketing and enough for most solo buyers. Attribute through a click ID passed in the link and returned in the postback, not through a cookie alone. Set a window that matches how long your offer takes to convert. Expect the ad platform and the network to disagree, and decide in advance which number you pay and optimise against.

What attribution means in affiliate

A visitor clicks an ad, lands on a page, goes to an offer and buys. Sometimes this happens in one session. Often it doesn't: the person leaves, comes back through a different ad two days later and buys then. Two clicks, one conversion. Attribution is the rule you use to decide which click gets the conversion.

In affiliate the rule matters for two reasons. It decides what the network pays you, and it decides which campaign you think is profitable. Both can be wrong at the same time if you don't know which rule is applied where.

Last click, first click and the rest

Most of the models you will read about are variations on how to split credit between clicks.

ModelWho gets the conversionWhere you meet it
Last clickThe final click before the conversionAffiliate networks, most trackers
First clickThe click that first brought the visitorAnalytics reports, brand-awareness reviews
LinearEvery click gets an equal shareAnalytics reports
Time decayLater clicks get more credit than earlier onesAnalytics reports
Data-drivenCredit is estimated by the platform's own modelLarge ad platforms

Affiliate payouts are almost always last click. The network records the click that carried your ID into the offer and pays on that. Multi-touch models exist mostly inside analytics and ad platforms, where the goal is to evaluate channels, not to settle a payout.

For a media buyer who sends cold traffic straight to a landing page and an offer, the visitor usually has one click and the model question mostly disappears. It starts to matter when you retarget, run several sources to the same offer, or the offer has a long decision time.

The attribution window

The window is the maximum time between the click and the conversion for the conversion to still count. Say the window is 7 days. A visitor clicks on Monday and buys the next Sunday, and the sale is not credited to that click.

Windows are set by whoever does the counting, and they are rarely the same everywhere. The network has one for the offer. The ad platform has its own, often split between people who clicked and people who only saw the ad. Your tracker has a third. Check each in the documentation of the system in question, because the defaults differ and I won't guess them here.

A hypothetical example. You buy 1,000 clicks at $0.10, so $100 spent. Over 14 days the offer produces 20 conversions in total. If the network window is 7 days and 4 of those conversions happened on day 8 or later, the network reports 16 and pays for 16. Your tracker with a 30-day window reports 20. Nothing has to be broken for this to happen. The two systems are counting with different rulers.

Match the window to how the offer behaves. A cheap one-step offer converts within hours, so a long window adds nothing. A loan, an insurance quote or anything with an application and a callback converts days later, and a short window will undercount it.

There are two ways to tie a conversion back to a click.

Cookie. The first time the visitor touches your tracking domain, a cookie is set in their browser. When they convert, the system reads the cookie and credits the stored click. It works with no extra setup, but it only works while the same browser holds the cookie. Private mode, a cleared cookie jar, browsers that restrict third-party cookies, or a purchase on a different device all break the link.

Click ID. Every click gets a unique identifier. You pass it in the link to the offer, usually as a sub parameter. The network stores it next to the click, and when a conversion happens it sends the ID back in a postback request. The match is done on the server with a value you control, so it doesn't depend on the visitor's browser. Most networks call the macro something like {clickid} or {subid}, and the exact name is in the network's docs.

Use the click ID as the primary method and treat cookies as a fallback. The details of the parameter and the postback are covered in What is a click ID and a sub ID. If the postback never arrives, this checklist shows where to look.

Why the network and the ad platform both claim the sale

This is the most common source of confusion, and it has an ordinary explanation. Each system sees only its own part of the path and applies its own rule.

  • The ad platform counts a conversion if its pixel or event fired and the person clicked or viewed an ad within its window. It does not know about the network's decisions.
  • The network counts a conversion if the advertiser confirmed it and it carries an ID that belongs to one of its affiliates. It does not know which ad the click came from.
  • If the same person also clicked a search ad, a push ad and a social ad before buying, each platform that saw a click inside its window may claim the sale.

So the totals will not add up. The sum of conversions across ad platforms can exceed what the network paid, because each platform counts them independently. Each side is counting correctly by its own rule.

Pick one source of truth for money, and for an affiliate that is the network, since it pays you. Use the ad platform's numbers to compare creatives inside that platform, where the same bias applies to every ad. For the typical gap between tracker and network, see why tracker and network stats don't match.

The link is the part you own. A tracking link sits between the ad and the offer, and it sees every click that passes through it. That gives you solid facts.

  • How many clicks arrived, when, from which country, device and browser.
  • Which clicks look like humans and which look like bots, with the reason recorded.
  • Which rule or destination the click was sent to.
  • A click ID for each click, to match against the postback.

It cannot see what happens after the visitor leaves for the offer. Whether they filled in the form, whether the advertiser approved the lead, whether the same person later returned from a different ad network: all of that is known only to the network or the advertiser. You learn it when the postback comes back, and only if you passed the ID along.

It also cannot tell you that two clicks came from the same person unless the same cookie or the same fingerprint appears both times. Treat "unique visitors" as an estimate.

In TDS.SO the overview shows total clicks, unique visitors, humans and bots per day, and the click log gives time, country and city, IP, device, browser, referrer and status for each click, with filters for bots, unique, VPN and Tor. The tracker with postbacks, conversions, revenue and ROI is in beta, and there revenue is counted from approved conversions while cost is counted from all clicks, which matters for the next section.

What a solo media buyer actually needs

  1. One click ID per click, passed to the offer and returned in the postback.
  2. Last click as the working model. It matches how the network pays, so your numbers can be reconciled.
  3. A known window. Write down the network's window and your tracker's window next to each offer.
  4. Cost counted on all clicks. If bots are in the cost, they must be in the denominator too, otherwise ROI looks better than it is. Filtering them out of the link keeps cost and clicks honest.
  5. A weekly check against the network. Compare conversions and revenue for the same dates and the same time zone. A gap of a few percent is normal. A large gap points to a broken postback or a window mismatch.

You don't need multi-touch modelling until you run several channels to the same audience and have enough volume to read the difference. Before that point the extra models mostly produce arguments.

FAQ

Is last click or first click better for affiliate?

Last click, because that is the rule the network pays on. First click is useful when you want to see which channel starts the relationship, but you can't settle a payout with it.

What attribution window should I use?

Use the network's window for money reconciliation, and set your tracker to the same value or longer for analysis. If you don't know how long your offer takes to convert, look at the time between click and conversion for the conversions you already have.

Can I attribute without cookies?

Yes. Pass a click ID in the link and receive it back in the postback. That match does not depend on the visitor's browser.

Why does my ad platform show more conversions than the network?

Each platform counts conversions by its own rule and window, and several platforms can claim the same sale. The network's number is what you are paid for.

Do bots affect attribution?

They affect the cost side. Bot clicks almost never convert, so they raise cost per conversion and lower the conversion rate. Our post on signs of bot traffic shows how to find them.

If you want to see click-level data for your own links, the analytics page describes what TDS.SO records for each click.

Was this article useful?
TDS Team Author

Guides and write-ups on routing, bot filtering and tracking from the TDS.SO team.

All articles by the author
Keep reading

Related

All posts
Analytics 7 min

Postback vs Pixel Tracking: Which One to Use

11 Nov 2026 · TDS Team
Analytics 10 min

Click ID and SubID: Pass Them Through Redirects

10 Nov 2026 · TDS Team
Analytics 9 min

Postback not firing: a 12-step troubleshooting checklist

10 Nov 2026 · TDS Team

Try it on
your own traffic

Link the Telegram bot and get 3 days free, once per account.

Create account