Discipline

Tracking and attribution

Recording clicks and conversions and tying each sale back to the campaign, placement and lander that produced it.

By Denis M.8 min read

Some links on this page are affiliate links. If you buy through them we may earn a commission, at no extra cost to you. It never decides what we recommend. How we make money

What it is

Tracking and attribution is the discipline of recording every click you pay for, recording every conversion you are paid for, and joining the two, so that each dollar of revenue can be traced to the campaign, placement, creative and landing page that produced it.

In affiliate marketing this is not an analytics nice-to-have. It is how you decide what to buy tomorrow. Traffic sources report clicks and cost; networks report conversions and payouts; neither knows about the other. Only you can join them, and the join has to be done per click, because the decision you need to make is per placement: this widget, this push source, this ad set, this prelander.

The standard tool is an affiliate tracker (Keitaro, Binom, Voluum, RedTrack and others; see affiliate trackers). It sits between the ad and your landing page, gives each click a unique ID, carries that ID through to the network, and receives conversions back from the network by postback.

Attribution is the harder half: deciding which touch gets credit when there is more than one. In paid affiliate funnels it is usually simple (last click, one click per conversion), which is exactly why the click-level join must be reliable.

How it works

The mechanism has four moving parts: the click, the click ID, the postback and the status update.

1. The click. Your ad's destination URL points to your tracker's campaign link, with the traffic source's macros appended: placeholders the ad network replaces with real values at click time, such as the placement ID, the creative ID, the cost of the click and the network's own click ID. The tracker records the click with those values plus country, device, OS and browser, generates its own click ID, and redirects the visitor to your prelander.

2. Passing the ID. When the visitor clicks through to the offer, the tracker appends its click ID to the network's tracking link, typically in a sub-parameter (often called sub1, subid or aff_sub, depending on the network). The network stores it with the visit.

3. The postback. When the visitor converts, the network sends a server-to-server request (a postback) to a URL you configured in the network, containing your click ID, the payout and the status. Because it goes server to server, it does not depend on cookies in the visitor's browser. The tracker matches the click ID to the stored click and attributes the conversion and its revenue.

4. Status updates. In nutra COD, the first postback usually arrives as a lead ("pending" or "hold"), and later postbacks update it to approved or rejected once the call centre is done. Your tracker must count revenue only on approved status.

Optionally, the tracker sends conversions onward to the traffic source (its own postback, or Meta's Conversions API), so the source's algorithm can optimise toward real conversions.

A worked example (illustrative numbers). A native campaign runs for a week: 12,000 clicks, average CPC $0.05, $600 spent. The network dashboard shows 48 leads, 17 approved at $28: $476 revenue, a $124 loss. Without tracking you would switch the campaign off.

The tracker splits it by placement:

  • Widget group A: 4,000 clicks, $200 cost, 30 leads, 12 approved (40% approval), $336 revenue. ROI +68%.
  • Widget group B: 8,000 clicks, $400 cost, 18 leads, 5 approved (28% approval), $140 revenue. ROI -65%.

The campaign is not a loser. It is a winner (A) hidden under a loser (B) that takes two thirds of the budget. Blacklisting B and raising bids on A turns a $124 loss into a campaign worth scaling. Note also that B's problem shows up twice: fewer leads per click and lower approval, a typical sign of low-intent or bot traffic. Without approval statuses in the tracker, you would have seen only the first.

When it fits, and when it does not

Click-level tracking with a dedicated tracker is worth it whenever you buy traffic and are paid by a third party for conversions: CPA affiliates on native, push, pop and social; media buyers running several offers or networks; anyone optimising placements, creatives and landers.

It is overkill, or the wrong tool, in some situations:

  • You sell your own product on your own site. Your shop, analytics and the ad platform's own pixel usually cover what you need; a separate redirect tracker adds a hop without adding information.
  • You run content or SEO affiliate sites. Retailer programmes give you per-link reports; a click tracker helps a little with link-level testing, but it is not decision-critical.
  • You spend very little. Under a few hundred dollars a month, the network's own sub-ID statistics may be enough to learn the basics.
  • The traffic source disallows redirects. Some platforms penalise or disallow redirecting destination URLs; you then track with direct links and postbacks without a redirect, which trackers support but which changes the setup.

Niches that use this method

  • iGamingRegistration and first deposit postbacks show which sources bring depositors, and revenue share needs reconciling against programme reports.
  • NutraWith payouts only for leads the call centre approves, nutra is unprofitable without tracking each lead back to its placement.

Getting started

A practical first setup, in order:

Choose hosted or self-hosted. A cloud tracker (Voluum, RedTrack) needs no server of your own and bills by events. A self-hosted one (Keitaro, Binom) needs a server and some Linux comfort, and costs a flat licence. For a first campaign, either is fine; the choice matters at volume.

Add your traffic source. Trackers ship templates for major ad networks with the right macros for placement, creative, cost and click ID. Use the template, then check that the parameters actually fill in on test clicks.

Add your affiliate network. Set the sub-parameter that carries the tracker's click ID, and copy the tracker's postback URL into the network's postback settings, including the status and payout parameters.

Add the offer and the prelander. Put the tracker's click-through link on your prelander's buttons, so the tracker counts prelander CTR.

Test end to end. Click your own ad or campaign URL, go through the funnel, submit a test lead if the network allows, and confirm the conversion appears with the right click ID. Ask the network manager to fire a test approved status if they can.

Pass conversions back to the source, if it supports a postback or conversion API, so its optimisation sees real results.

Before spending real money, send a few test clicks through the whole chain and fire a test conversion, then check that the click ID, the cost and the status arrive where they should.

Tools for this method

  • BinomA tracker is the tool this discipline is practised with: it records clicks and matches conversions to them.Visit site
  • KeitaroA tracker is the tool this discipline is practised with: it records clicks and matches conversions to them.Visit site
  • RedTrackA tracker is the tool this discipline is practised with: it records clicks and matches conversions to them.Visit site
  • VoluumA tracker is the tool this discipline is practised with: it records clicks and matches conversions to them.Visit site

Common mistakes

The errors that most often corrupt tracking data:

  • Postback set up for leads only. Revenue then counts every lead as paid, and campaigns look far better than they are. Configure approved and rejected statuses and count revenue only on approval.
  • Wrong or missing macros. If the placement macro does not fill in, all traffic appears as one placement and you cannot blacklist anything. Check the raw click log after the first few clicks.
  • Cost not tracked. Without a cost macro or cost import, ROI is meaningless. Some sources pass cost per click; for others you update costs manually or via API.
  • Direct links on the prelander. A button that links straight to the offer instead of through the tracker breaks the click ID chain.
  • Mixing time zones. Tracker, traffic source and network in different time zones make daily numbers disagree for no real reason.
  • Trusting fresh data. Leads from the last day or two are often still pending. Compare settled periods.
  • Ignoring discrepancies. A 5 to 10% gap between source clicks and tracker clicks is common; a 40% gap means lost redirects, bots or a broken setup.

Metrics that matter

The tracker exists to produce a few numbers per slice (placement, creative, lander, country, device):

  • Clicks, cost and CPC, reconciled against the traffic source.
  • Prelander CTR: share of visitors who click through to the offer. Tells you whether the prelander works.
  • Conversions by status: leads, approved, rejected, trash. Approval rate per slice is often more revealing than conversion rate.
  • Revenue, profit and ROI per slice, counting approved conversions only.
  • EPC, to compare offers and set bids.
  • Discrepancy between the tracker and the source (clicks) and between the tracker and the network (conversions). Stable, small discrepancies are normal; sudden changes signal a technical problem.

Tracking works when these numbers agree with the money: total approved revenue in the tracker should match what the network pays you, within a few percent.

Pitfalls

Tracking breaks in quiet ways, and each one costs money before you notice.

Browser privacy. Anything that depends on client-side cookies is fragile. Safari's tracking prevention deletes script-written cookies and storage "after 7 days of no user interaction", and caps them at 24 hours when it detects click IDs in the landing URL (WebKit). Server-to-server postbacks keyed on a click ID passed in the URL avoid this, which is why affiliate tracking relies on them.

Redirect latency. Every redirect adds time, and on cheap mobile traffic slow redirects lose visitors before the page loads. This is one reason high-volume push teams care about tracker speed.

Double counting. Sending the same conversion to a platform through both a browser pixel and a server API without deduplication inflates results; Meta deduplicates only when the event ID and event name match and both arrive within 48 hours (Meta for Developers).

Data ownership. A cloud tracker holds your campaign data on someone else's servers; a self-hosted one makes you responsible for backups and uptime.

Using the tracker to show reviewers different content. Trackers can route visitors by rules, and that feature is sometimes abused for cloaking. That breaks every major ad platform's terms and ends in account bans.

See also

  • Affiliate marketing: Tracking makes sense once you know how offers, payouts and networks work, which is what the affiliate model explains.