Open any ad link from Facebook and you will see something like ?fbclid=IwAR2Xk… at the end of the URL. Many site owners treat it as junk and strip it out. For a media buyer it is one of the most valuable strings in the whole visit. So what is fbclid, what is gclid, who adds these parameters and how do you use them?
What are fbclid, gclid and other platform click IDs
They are ad click identifiers that a platform automatically appends to the landing page URL. Every click gets its own unique ID. The platform keeps a record of which ID belongs to which impression, ad and user. If you later tell it "the click with this ID led to a purchase", it knows exactly whom to credit, and its algorithm starts looking for similar people.
The main parameters:
| Parameter | Platform | When it appears |
|---|---|---|
fbclid |
Facebook, Instagram (Meta) | A click on an outbound link, ads included |
gclid |
Google Ads | An ad click with auto-tagging on |
wbraid, gbraid |
Google Ads | Instead of gclid on part of iOS traffic |
gad_source |
Google Ads | Service tag of an ad click |
ttclid |
TikTok Ads | A TikTok ad click |
yclid |
Yandex Direct | An ad click with tagging on |
msclkid |
Microsoft Ads (Bing) | An ad click with auto-tagging on |
twclid |
X (Twitter) Ads | An X ad click |
ScCid |
Snapchat Ads | A Snapchat ad click |
epik |
Pinterest Ads | A Pinterest ad click |
rdt_cid |
Reddit Ads | A Reddit ad click |
tblci |
Taboola | A native ad click |
ob_click_id |
Outbrain | A native ad click (when configured) |
Not every source has one. Many push, pop and native ad networks have no click ID by default; you add it to the link with a macro if the network supports one.
fbclid
The best known and "noisiest" parameter. Meta adds it not only to ads but to any outbound link from the feed. Example:
https://example.com/?utm_source=fb&utm_campaign=120211&fbclid=IwAR2Xk9vQ7mP3
For the Conversions API, Meta uses the fbclid value inside the fbc parameter, built in the format fb.1.{click_time}.{fbclid}. How to assemble the whole chain from macros to CAPI is covered in the guide to Facebook Ads tracking.
gclid, wbraid and gbraid
gclid is the backbone of Google Ads attribution and offline conversions. It appears when auto-tagging is on. On iOS traffic you may get wbraid (web-to-web) or gbraid (app-to-web) instead, a consequence of tracking restrictions on Apple devices. How to set up ValueTrack and offline conversions alongside them is described in Google Ads tracking.
https://example.com/?gclid=Cj0KCQjw8eTFBhCX&gad_source=1
If you upload conversions to Google Ads, keep all three parameters. Sending them back is covered in detail in sending conversions back to ad platforms.
ttclid
TikTok's click ID. It is needed for the Events API: TikTok uses it to match a server event to an ad click. The full setup is in the article on TikTok Ads tracking.
https://example.com/?ttclid=E.C.P.CsABxYz&utm_campaign=__CAMPAIGN_ID__
yclid
Yandex Direct's click ID, used by Yandex Metrica and for uploading offline conversions. If you run Yandex Direct, it serves the same purpose as gclid does for Google.
Why affiliates need platform click IDs
1. Sending conversions back to the platform
The main use. Optimization algorithms learn from events. To tell the platform about a lead the affiliate network recorded, you need the platform's click ID. The chain looks like this:
click with ttclid → tracker stores the ttclid along with its own click_id
→ the network sends a postback by click_id
→ the tracker finds the ttclid and sends the event to TikTok
2. A sign that the visit came from an ad
A scraper, a spy tool or a person opening a forwarded link usually arrives without a click ID. A real person from an ad arrives with one. It is not absolute (the parameter can be added by hand), but it is a useful signal for filtering and for clean stats: a visit without a click ID is not tied to an ad click, and the platform cannot match a conversion to it. Other bot signals are covered in signs of bot traffic.
3. Identifying the source
If traffic is mixed in one flow, the click ID tells you the platform: fbclid means Meta, gclid means Google, ttclid means TikTok.
4. Reconciling with the ad account
The click ID lets you match an individual visit to the platform's data when tracker and ad account numbers disagree. A 10–20% click discrepancy between the ad account and the tracker is normal: the platform counts taps while the tracker counts page loads, and some people close the tab before the page opens. But if the tracker sees several times fewer visits with a click ID than the platform counted clicks, look for parameters being lost in the redirect chain.
How not to lose the platform click ID
Do not strip parameters on redirects. Every link in the chain (cloaker, tracker, pre-lander) must keep the query string. Check the final URL with a real click.
Store the click ID in your tracker. If it lives only in the page URL and cookies, it is lost when the visitor switches devices or clears the browser.
Do not mix up the IDs. Send your tracker's click ID to the affiliate network, not fbclid: the tracker knows its own ID for sure, and some networks truncate a 100-character fbclid. More in click ID and SubID.
Turn on auto-tagging. In Google Ads and Microsoft Ads, gclid and msclkid do not appear without it.
Tip. Do not add
fbclid={fbclid}orgclid={gclid}to your ad link by hand: platforms append their own click IDs. Manual substitution is unnecessary at best and creates duplicate parameters at worst.
Why some visits have no click ID
Buyers are often surprised: they run Facebook ads, yet a noticeable share of visits has no fbclid. There are several reasons, and not all of them signal a problem.
| Reason | What happens | What to do |
|---|---|---|
| Manual visit | A spy tool, a scraper, someone with a forwarded link, or you opened the link | Expected: these are exactly the visits worth checking more strictly |
| Auto-tagging is off | auto-tagging is not enabled in Google Ads or Microsoft Ads | Turn it on in the account settings |
| iOS and tracking restrictions | Google sends wbraid or gbraid instead of gclid |
Account for all three parameters |
| A redirect stripped the parameters | The redirect chain lost the query string | Check every link with a real click |
| Ad preview | The platform shows the link without its click ID | Do not judge by preview visits |
| A browser or extension strips IDs | Some browsers remove known tracking parameters | Some loss is unavoidable; rely on your own click ID |
The practical takeaway: a platform click ID is useful, but it is not the only signal. If all your tracking rests on it alone, some conversions will fall out of your reports. So your tracker's click ID remains the foundation, and the platform's ID is extra information for attribution and sending events.
Length and format of click IDs
Platform click IDs can be long: fbclid easily exceeds a hundred characters, and ttclid contains dots and underscores. This matters in two cases:
- some affiliate networks truncate sub parameter values to a fixed length, and the ID comes back damaged;
- in a self-built tracker's database, the column for the ID may be too short.
If you see truncated values in your reports, the cause is almost always one of these.
Click IDs and privacy
Platforms and browsers keep changing how identifiers work. Some traffic arrives with tracking restrictions, and some IDs are replaced with aggregated equivalents such as wbraid and gbraid. For an affiliate this means one simple thing: the more data you send to the platform server-side and the more carefully you store the click ID on your side, the less you lose with each such change. Relying only on cookies in the visitor's browser works worse every year.
Platform parameters and the affiliate network
The affiliate network usually does not need Facebook's click ID, and sometimes it hurts: an fbclid in its logs shows where the traffic comes from. Good practice is to send your tracker's own click ID to the network and either remove the platform ID or rename it to a sub parameter if your network manager asks to see the source.
An example of rewriting on the way to the offer:
In: https://example.com/?fbclid=IwAR123&utm_source=facebook
Out: https://network.example.com/click?offer=55&sub1=IwAR123&aff_id={click_id}
How ArtisanClo handles platform click IDs
ArtisanClo identifies the platform in two ways: by the traffic source selected in the flow, and by the click ID in the link (fbclid, gclid, ttclid, msclkid, twclid and others).
The click ID is also used for protection. The Shield (from the Professional plan) lets only visitors with an ad click ID through to the offer, while visits without one (forwarded links, scrapers, spy tools) see the White Page. For each platform the Shield looks at its own IDs:
| Platform | Which IDs the Shield lets through |
|---|---|
| Google Search, GDN, YouTube | gclid, wbraid, gbraid, gad_source |
| Facebook, Instagram | fbclid |
| TikTok | ttclid |
| Microsoft Ads (Bing) | msclkid |
| X (Twitter) | twclid |
| Taboola / Outbrain | tblci / ob_click_id |
MGID has no click ID of its own, so the Shield does not suit it. The auto-shield raises the Shield by itself when it sees a spike of suspicious visits.
In a traffic source template, the platform's click ID is one of the link parameters, and the offer link rules include the {ext_click_id} macro, the external click ID. In the "Offer link parameters" block you can rename the ID (fbclid → sub1) or remove it, while in the click log and on the White Page the parameters stay as they arrived: a renamed fbclid on the White Page would be a giveaway.
For flows with a tracker, the platform click ID is also needed for sending conversions back: the source postback sends the platform its click ID and status, and for Google Ads there is a scheduled file with leads and sales for the last 90 days on clicks that have a gclid. How to set this up for specific platforms is in the traffic sources catalog.
The short version
fbclid, gclid, ttclid, yclid and their relatives are ad click IDs that let a platform recognize its own traffic. Affiliates need them to send conversions back to the ad account, tell an ad visit from a manual check, and reconcile numbers. Store them in your tracker, do not lose them on redirects, and do not send them to the affiliate network without a reason. How platforms tag the rest of the link is covered in the article on UTM parameters and macros.



