What is a click ID, and why conversions go missing without one
What is a click ID, and why conversions go missing without one
A click ID is the unique identifier your tracker generates for every single click on a tracking link. It is stamped onto the click, carried through the offer URL to the advertiser or network, and returned to your tracker in the conversion postback so the sale can be matched to the click that caused it. Without a click id, affiliate tracking is guesswork: the conversion lands in your network dashboard, but nothing in your tracker knows which traffic source, campaign, ad, sub-ID or landing page earned it. That is the single most common reason conversions "go missing" — they were never lost, they simply arrived with no label attached.
This article walks through what the click ID actually is, where it travels, the specific points where it gets dropped, and how to test the full chain before you spend money on traffic. It sits inside our step-by-step troubleshooting guide for affiliate conversions that are not tracking, so treat this as the foundation piece: get the click ID right and most of the other problems disappear.
What is a click ID, exactly?
A click ID is a unique token — usually an alphanumeric string — created at the moment a visitor hits your tracking link. Everything downstream hangs off it:
- Your tracker logs the click against that token, along with the traffic source, campaign, geo, device, sub-IDs and timestamp.
- The token is passed to the offer URL as a parameter (commonly
click_id,clickid,cid,subidoraff_sub, depending on the network). - When the visitor converts, the network or advertiser fires a server-to-server postback to your tracker, echoing the token back.
- Your tracker matches the token to the stored click and attributes revenue to the correct campaign.
The important mental model: the click ID is not a marketing parameter. It is a database key. It is the only thing that reliably joins "this click" to "this conversion" across two systems that share nothing else.
Why conversions go missing without a click id affiliate tracking chain
Here is the failure in plain terms. You send traffic to an offer. The network records 12 conversions. Your tracker records 0. You assume tracking is broken. In reality, one of four things happened:
- The click ID never left your tracker. Your tracking link does not append a click ID parameter to the offer URL, so the network has nothing to send back.
- The click ID was renamed and lost. Your tracker calls it
click_id; the network expectsaff_sub. The value arrives empty. - The postback URL is wrong or missing. The network has no address to call, or the address has a typo, or it points to the wrong tracker.
- The postback fires but the token does not match. The network sends back a token your tracker never issued — a stale test click, a placeholder, or a value truncated by URL encoding.
Only case four is a genuine "missing conversion." Cases one to three are missing plumbing. That distinction matters because the fix is different for each, and guessing wastes days. If you want the ordered diagnostic path, our guide on what to check when a postback is not firing runs the checks in sequence.
The click ID's journey: where it gets dropped
Trace the token hop by hop. Most breakage happens at one of these five points.
1. Tracking link to landing page
The click ID is created when the visitor hits your tracking link. If you use a landing page, the ID must be carried into the landing page URL as a parameter and then forwarded to the offer on the call-to-action click. If your landing page button links to the offer with a hardcoded URL, the ID dies on the landing page. Every conversion after that is orphaned.
This is also where sub-IDs live. Sub-IDs (sub1–sub5 in Adtraxo) are your own labels for traffic sources, placements, creatives and angles; the click ID is the tracker's internal key. They serve different jobs, and conflating them causes its own mess — we cover that in UTM parameters vs sub-IDs.
2. Tracker to affiliate network
Your tracker must append the click ID to the offer URL using the exact parameter name the network documents. Some networks use aff_sub, some sub1, some clickid. If you are running through a second network or a traffic source that also uses sub-IDs, you have to map them deliberately, or one system overwrites the other's value.
3. Network to advertiser
On networks with their own internal click IDs, your token has to be stored in a field the network will echo back. If the network only echoes its own ID, you need to use the network's conversion pixel or postback macro that includes your value. This is the hop most affiliates never check, and it is where "the network says 12, the tracker says 0" is born. Our piece on why your network and tracker report different conversions digs into this specific mismatch.
4. Postback call
The network fires a server-to-server request to your postback URL, substituting macros: the click ID, the payout, the conversion type, the status. If any macro is not supported by that network, it arrives as a literal placeholder string like {click_id} or empty. Your tracker then either rejects it or stores a conversion with no revenue.
5. Tracker match
Finally, the tracker looks up the token. If it finds the click, the conversion is attributed. If not, it is logged as unattributed or dropped. Common causes: the click expired from your retention window, the token was URL-encoded differently (a + becoming a space), or the postback is hitting the wrong campaign.
How to set up click ID tracking correctly, step by step
Do this once per offer and you will stop losing conversions.
- Create the tracking link in your tracker. In Adtraxo, this is a campaign with an offer URL and a traffic source attached. The tracker generates the click ID automatically on every hit.
- Append the click ID parameter to the offer URL. Use the network's documented parameter name. In Adtraxo you add your offer URL with the click ID macro appended, so the token travels with the visitor.
- Copy the postback URL from your tracker. Adtraxo gives you a postback URL containing the click ID placeholder and optional payout and event placeholders. Copy it exactly — do not retype it.
- Paste the postback URL into the network's conversion settings. Set it as a server-to-server postback, not a pixel, if the network supports it. If you are unsure which to use, read postback URL vs tracking pixel first.
- Map the macros. Replace the network's macro tokens for click ID, payout and event type in the postback URL. Confirm each macro is on the network's supported list.
- Send one test conversion. Use the network's test conversion tool, or fire the postback manually with a real click ID from your tracker's click log. Confirm it appears as a conversion against the right campaign.
- Only then buy traffic. A single verified test conversion is worth more than a week of guessing. Our walkthrough on how to test a postback URL before you send paid traffic covers the manual test in detail.
In Adtraxo, server-to-server postback conversions and sub-IDs sub1–sub5 are Pro features ($27/month at the founding rate, rising to $47 for new accounts; existing subscribers keep $27). If you are on the Free plan you can still validate that clicks are arriving, but you will need Pro to close the loop with postbacks.
Click ID vs sub-ID vs UTM: don't mix them up
Three different things, three different jobs:
- Click ID: generated by the tracker, unique per click, used solely to join clicks to conversions. Never edit it, never reuse it, never try to make it human-readable.
- Sub-ID (sub1–sub5): your labels. sub1 might be the traffic source, sub2 the placement or zone, sub3 the creative, sub4 the landing page variant, sub5 a test flag. These are what you actually analyse in reports.
- UTM parameters: analytics tags for tools like Google Analytics. Useful for content, useless for affiliate conversion matching because they are not echoed back in a postback.
If you are running email follow-up sequences, sub-IDs are also how you tell which email drove the sale — see how to track which email in your follow-up sequence drives affiliate sales.
Worked example: a PropellerAds campaign that reports zero conversions
Suppose you run a campaign on PropellerAds to a sweepstakes offer via an affiliate network. PropellerAds shows 4,000 clicks. The network shows 38 conversions. Adtraxo shows 4,000 clicks and 0 conversions.
Diagnose in this order:
- Check the click log. Open a recent click in Adtraxo. Does it show the offer URL with a click ID parameter appended? If not, the parameter is missing from the campaign's offer URL — fix it and re-test.
- Check the network's postback setting. Is the Adtraxo postback URL saved against this specific offer, not just the account? Is it marked active?
- Fire a manual test. Take a real click ID from the Adtraxo click log, substitute it into the postback URL, and load the URL in a browser. If a conversion appears, the tracker side is fine and the problem is the network's macro mapping.
- Inspect the macro output. In the network's conversion report, check whether your click ID field is populated. If it is empty or shows a placeholder, the network is not capturing your token — ask its support which parameter it echoes.
- Check the payout macro. If conversions appear but revenue is zero, the payout macro is wrong or unsupported. See how to pass payout values in a postback so your ROI numbers are real.
Nine times out of ten this sequence lands on a single missing or misnamed parameter. The tenth time, it is a network that only echoes its own click ID, in which case you need its supported postback macro instead.
Tracking leads and sales as separate events
A click ID can carry more than one conversion. If your funnel has a lead step (email submit, form fill) and a later sale, fire two postbacks with different event types and the same click ID. Your tracker then stores both against one click, and you can optimise on lead cost early and sale value later. Do not collapse them into one event — you lose the ability to see where the drop-off happens. The setup is covered in how to track leads and sales as separate conversion events.
How Adtraxo handles click IDs and postbacks
Adtraxo generates a click ID per click, exposes it in the click log, and gives you a postback URL with placeholders for click ID, payout and conversion type. You attach sub1–sub5 to any traffic source, so once conversions are attributed you can break them down by zone, creative, geo and device. Fraud detection on the Pro plan flags IP velocity, datacenter IPs, bot user agents, uniqueness conflicts and invalid referers — all of which can produce clicks that never convert, which looks identical to broken tracking until you check.
If you want to see which clicks actually loaded your landing page in a real browser, any Adtraxo plan lets you add a one-line arrival snippet to the page. That single line separates "the click never arrived" from "the click arrived and did not convert" — a distinction that saves hours.
Frequently asked questions
Is a click ID the same as a sub-ID?
No. A click ID is generated by your tracker and uniquely identifies one click so a conversion can be matched back to it. Sub-IDs (sub1–sub5) are labels you assign yourself — traffic source, placement, creative — and are used for reporting and optimisation, not for matching.
Why does my network show conversions but my tracker shows none?
Almost always because the click ID is not being returned in the postback: either the parameter is missing from the offer URL, the postback URL is not saved against that offer, or the network's macro for your click ID is unsupported or misnamed. Test by firing the postback manually with a real click ID from your tracker's click log.
Can I track conversions without a click ID?
You can count them, but you cannot attribute them. Without a click ID there is no reliable way to know which traffic source, campaign, ad or landing page produced a given conversion, so optimisation becomes guesswork and ROI figures are meaningless.
Does a click ID expire?
It depends on your tracker's click retention window. If a conversion arrives after the click has been purged, the token cannot be matched and the conversion goes unattributed. For offers with long consideration cycles — lead-gen, high-ticket — check your retention setting before scaling.
Should I use a postback or a pixel to return the click ID?
Server-to-server postback is the stronger option: it fires regardless of the visitor's browser, cookie settings or ad blockers, and it carries the click ID and payout reliably. Pixels are a fallback for networks that only offer image-based tracking.
Ready to stop losing conversions? Create a free Adtraxo account — no card required — and test the full click ID to postback chain on a single offer before you spend another dollar on traffic.
Track your affiliate campaigns for free
Clicks, conversions, fraud detection — all in one tracker.
Get started free →Not ready for an account? Get the Tracking Domination Playbook — free, just your email.