Affiliate reporting has a comforting quality. Sales appear against links and codes, the numbers add up, and the dashboard presents a total. The difficulty is that the total is almost always wrong, and usually wrong in the direction that flatters whoever is reading it.
Working honestly with attribution means understanding where the errors come from and reporting the range rather than the convenient figure.
Last click is a convention, not a fact
Most affiliate tracking credits the final touch before purchase. That is a rule chosen for its simplicity, not a description of how people decide.
It systematically over-rewards whatever sits closest to checkout and under-rewards whatever created the intent. A creator who introduced a product to someone who bought it three weeks later, after a search, gets nothing. The search ad gets everything. Neither result reflects what happened.
Codes leak
Discount codes are easy to share verbally and easy to circulate, which is why they get used. It is also why they overstate.
A code given to one creator ends up on aggregator sites within days. Sales then attach to that creator from people who never saw their content and were already at checkout hunting for a discount. The creator did not earn those. The brand paid a commission and a discount on a sale it was going to make anyway.
Unique links are tighter but lose anyone who switches device, opens in an in-app browser that blocks cookies, or takes longer than the cookie window.
The gap
Run creator-tracked sales alongside the advertiser’s own analytics and the two will disagree. This is normal. The mistake is choosing whichever number suits the argument.
The tracked figure is usually inflated by code leakage and deflated by lost cookies at the same time, which means it is not simply high or low. Report both figures, state the size of the gap, and say what you think drives it. A report that shows its uncertainty is more credible than one that hides it.
Testing your way to the truth
The only reliable way to know what activity produced is to compare against its absence.
Geographic holdouts. Run in some regions, withhold in comparable ones, compare the difference. Workable for brands with enough volume for the regions to be stable.
Time-based tests. Pause activity for a defined period and watch baseline sales. Crude, affected by seasonality, and still more informative than any attribution model.
Post-purchase surveys. Asking customers where they heard about you is unreliable in the details and useful in aggregate. A channel that never gets mentioned but claims a third of tracked sales is worth investigating.
Practical safeguards
Much of this comes back to the cookie window. Issue unique codes per creator and never reuse them. Monitor aggregator sites for your codes appearing and retire them when they do. Set cookie windows to something defensible and state what you chose. Where a creator’s audience is largely mobile and in-app, expect tracked figures to understate and say so in advance rather than after.
Above all, agree the measurement rules with the advertiser before launch. Arguments about attribution after a campaign are rarely about the data.
Why the honest version wins
There is short-term advantage in claiming the full tracked figure. It looks better, and nobody usually checks in the first quarter.
They check eventually. When a brand’s own analysis shows a channel producing a fraction of what was reported, the relationship does not survive it. Reporting the gap from the beginning costs a better-looking number and buys the thing that is actually worth having, which is being believed the next time the figure is good.

