What Is a Click ID? Click ID Tracking Explained
A click ID is the unique value a partner passes on each click so the MMP can return it in the postback. Names for AppsFlyer, Branch, Airbridge and more.
A click ID is a unique value your platform creates for every single click and passes on the tracking link, so the MMP can send it back in your postback. On AppsFlyer it goes in clickid, on Branch in ~click_id, and on Airbridge, Tenjin and AppMetrica in click_id.
What is a click ID?
A click ID is a unique value your platform generates for one click and passes on the tracking link, so the advertiser's MMP can hand it back when that click turns into an install or event.
Click ID: the partner's own identifier for a single click, carried on the click link and returned in the postback.
Postback: the server-to-server call the MMP sends to the partner when an attributed conversion happens.
Campaign names, sub-IDs and device IDs describe the traffic; the click ID identifies the exact event you will be paid for.
How a click ID travels
- A user taps your ad. Your ad server or tracker creates a new ID, for example
a1b2c3d4e5. - Your platform replaces its macro in the tracking link with that value and redirects the user.
- The MMP records the click, sends the user to the store and later matches the install to the click.
- When the install or a mapped event happens, the MMP fires your postback URL with the same ID filled in.
- Your system looks the ID up and credits the right publisher, sub-publisher and payout.
Using AppsFlyer's ad network template as the example, this is the link with the network's macro in the click ID slot, then the same link after the platform fills it in:
https://app.appsflyer.com/com.yourapp?pid=mediaName_int&c=summer_push&clickid={clickid}
https://app.appsflyer.com/com.yourapp?pid=mediaName_int&c=summer_push&clickid=a1b2c3d4e5
When the attributed install happens, the MMP fills a1b2c3d4e5 into the click ID slot of the network's postback template (the macro name varies by MMP):
https://postback.example-network.com/conv?click={click_id}&event={event_name}
Why must a click ID be unique per click?
Because the click ID is how you match a conversion to one click: if two clicks share an ID, you cannot tell which one converted, and deduplication on your side will merge or drop real conversions.
Things that break uniqueness:
- A static value. Typing
clickid=testor a publisher name into the click ID slot gives every click the same ID. - A per-publisher or per-campaign ID. Those belong in sub-ID slots, not the click ID. See sub-IDs and sub-publishers.
- A reused session ID. Each click by the same user needs its own value.
- An unreplaced macro. If your platform does not fill the macro, every click arrives carrying the literal text
{click_id}. The tracking link macros guide covers the fix.
AppMetrica's tracking specification describes click_id as the macro for a unique click ID used for deduplication, which is the job a click ID does at every MMP.
Click ID parameter by MMP
Same idea, different spellings. Each name below comes from the vendor's own documentation, checked 25 Oct 2026.
| MMP | Click ID parameter | Notes |
|---|---|---|
| AppsFlyer | clickid | The ad network's unique click identifier. Server-to-server clicks can use af_ref (Android only). |
| Branch | ~click_id | The tilde marks an analytics field. |
| Airbridge | click_id | Unique ID of the touchpoint, set by the ad channel. |
| Tenjin | click_id | The channel's click ID. |
| AppMetrica | click_id | Required and used for deduplication. |
| Linkrunner | tid | Required. Returned in postbacks as {click_id} and {tid}. |
| Adjust | None documented on tracker URLs | Server-to-server clicks use external_click_id. Confirm with the advertiser how your click ID is passed. |
| Kochava | Not confirmed | Ask the advertiser for their tracker template. |
| Singular | Not confirmed | Its help centre could not be read, so ask the advertiser for their template. |
The wrong name is as bad as no click ID: an MMP ignores a parameter it does not use, so the value never comes back. The Branch link format page shows a full parameter set, and the generator has one for each MMP.
Where the click ID goes, and where it does not
- On the click link: the click ID, campaign, sub-IDs and, where the MMP documents them, device IDs.
- In the postback: the click ID comes back, with the event name, revenue and timestamps that only exist after the conversion.
- Never on the click link: revenue, event names, currency or your postback secret. More in tracking link vs postback.
Deduplicating on the click ID
Postbacks can arrive more than once; Linkrunner, for example, documents at-least-once delivery and recommends deduplicating on the click ID plus the event name. A simple rule for your receiver:
- Store the click ID and event name for each paid conversion.
- If the pair already exists, acknowledge the postback and do not pay again.
- Treat an empty click ID as an error to investigate, not a conversion to pay.
If you are new to how the advertiser's side matches clicks to installs, this explainer on what an MMP does covers the basics. For a full list of the parameters one MMP accepts on a partner link, see this partner tracking link documentation.
Questions
Is a click ID the same as a gclid or fbclid?
Those are click IDs too, but Google and Meta add them for their own measurement. On a partner tracking link, the click ID is the value your own platform generates and wants returned in your postback.
Can one click ID cover an install and later events?
Yes, that is the point. The MMP returns the click ID of the attributed click with the install and with each mapped event from that user, so deduplicate on the click ID plus the event name.
What happens if the click ID is missing from the link?
The MMP can still record the click, but your postback arrives without a value you can match. You lose the link between the conversion and the click you paid for.
How long should a click ID be?
Long enough to be unique across all your traffic and short enough to stay inside link limits. AppsFlyer caps the whole link at 2,000 characters, so a compact random string is safer than a long encoded value.
Which MMPs do not document a click ID parameter?
Adjust documents none on its tracker URLs, and Kochava's click URL parameter could not be confirmed from its own pages. For both, and for Singular, ask the advertiser for their link template before sending traffic.
Should the click ID contain the publisher name?
No. Keep the click ID unique and opaque, and put the publisher or sub-publisher in the sub-ID parameters, which several MMPs also return in postbacks.