9 Click ID and their Ad Platforms [With Example]
Plain-English reference for every paid click ID SourceLoop reads, gclid, gbraid, wbraid, msclkid, fbclid, li_fat_id, ttclid, epik, rdt_cid.
On this page
A click ID is an opaque token that an ad platform appends to your landing URL when someone clicks one of your ads. Different platforms use different names, all of them serve the same purpose: a high-confidence proof that “this visit came from this ad.”
For attribution accuracy, click IDs do three things UTMs alone can’t:
- Survive privacy stripping. Some iOS browsers and ad blockers remove the
Refererheader but leave query strings intact. The click ID hangs on. - Encode platform-specific data the ad network can decode. Pushing an offline conversion back to Google Ads with the original
gclidlets Google match the conversion to the exact campaign, ad group, keyword, audience, and creative the click came from, depth no UTM can carry. - Are set automatically. Auto-tagging is on by default in most ad accounts, so click IDs land on every paid click without per-campaign URL-tagging discipline.
This article lists every click ID SourceLoop reads, what platform sets it, and what channel it implies.
The full table
| Click ID | Platform | Channel | Notes |
|---|---|---|---|
gclid | Google Ads | Paid Search | The classic Google Ads click ID. Set on every paid Google Search and Display click when auto-tagging is on. |
gbraid | Google Ads (iOS) | Paid Search | iOS app campaigns when the user has restricted Apple’s App Tracking Transparency (ATT). Functionally equivalent to gclid for SourceLoop’s purposes. |
wbraid | Google Ads (iOS web) | Paid Search | iOS web clicks under ATT restrictions. Functionally equivalent to gclid. |
msclkid | Microsoft Ads (Bing) | Paid Search | The Microsoft equivalent of gclid. Set on every Microsoft Ads click when Final URL Auto-tagging is on. |
fbclid | Meta (Facebook + Instagram) | Paid Social | Set on every click from inside Meta’s ecosystem, paid ads, organic posts, profile-bio links, Messenger shares. The presence of fbclid doesn’t strictly mean paid; it means the click originated from Meta. |
li_fat_id | Paid Social | LinkedIn’s First-Party Ads Tracking UUID. Set by the LinkedIn Insight Tag on the first paid-ad landing for a visitor; persists across sessions. | |
ttclid | TikTok | Paid Social | TikTok Ads click identifier. |
epik | Paid Social | Pinterest Promoted Pin click identifier. | |
rdt_cid | Paid Social | Reddit Ads click identifier. |
How SourceLoop reads them
The tracker reads every click ID present on the landing URL and stores them on the visitor’s session and (on conversion) on the lead. From there:
- For channel classification, the click ID is the highest-confidence signal. A
gclidon the URL means Paid Search even if the referrer is missing and no UTMs are set. - For offline conversion sync, when you push a lead back to Google Ads / Microsoft Ads / Meta / LinkedIn, SourceLoop sends the stored click ID alongside the conversion so the platform can match it to the original click record.
- For lead detail and CSV export, all stored click IDs appear as columns on the lead row.
Why both UTM and click ID
UTMs and click IDs are complementary, not redundant. Each survives where the other fails:
| Scenario | UTM survives? | Click ID survives? |
|---|---|---|
| iOS Safari with strict tracking prevention (referrer stripped) | ✅ Yes | ✅ Yes |
| URL shortener that strips query strings | ❌ No | ❌ No |
| Redirect chain that drops your custom params but keeps platform-set ones | ❌ Often no | ✅ Yes |
| Bookmarked URL revisited later (no original click) | ❌ No | ❌ No |
| Email forwarded with link intact | ✅ Yes | ✅ Yes |
| Ad platform auto-tagging is disabled | ✅ Yes (if you set manual UTMs) | ❌ No |
| You forgot to add UTMs to a paid campaign | ❌ No | ✅ Yes (auto-tagging) |
The best practice is to run both: keep auto-tagging on in every ad account AND add manual UTMs (utm_source, utm_medium, utm_campaign) to every paid link.
Where click IDs power offline conversions
When you connect Google Ads, Microsoft Ads, Meta, or LinkedIn to SourceLoop and turn on offline-conversion sync, the lead’s stored click ID is what makes the round trip possible. The flow:
- Visitor clicks a Google Ad.
gclid=ABC...lands on the URL. SourceLoop stores it. - Visitor fills out a form. SourceLoop creates a lead with the
gclidattached. - Sales qualifies the lead in your CRM.
- SourceLoop’s sync to Google Ads fires an offline conversion event with the
gclidand the lead value. - Google Ads receives the event, looks up the
gclidto find the original click, and credits the conversion (with full revenue) to the right campaign, ad group, and keyword.
Without the click ID, the offline conversion still uploads (matched by hashed email instead), but Google’s match rate drops from ~99% to roughly 60-80%, and you lose campaign-level granularity.
See the per-platform guides:
- Configure Google Ads offline conversions
- Configure Microsoft Ads offline conversions
- Configure Meta Conversions API
- Configure LinkedIn offline conversions
- Configure TikTok Events API
How to verify click IDs are landing
The fastest way to check that auto-tagging is on and SourceLoop is picking up the click IDs:
- Click one of your own live ads (preferably from an incognito window so the click isn’t deduped against your existing session).
- After landing, look at the URL bar. You should see the click ID as a query parameter.
- Open
?sl_debug=1on the landing page and check the browser console; SourceLoop logs every captured click ID under the[sourceloop/v3]prefix. - Convert (submit a form or book a meeting) on the same session.
- Open the lead in the SourceLoop Contacts Hub. The click ID is listed in the lead detail drawer under the technical/attribution panel.
If you can see the click ID on the URL but not on the lead, the most common cause is the tracker not loading on the landing page; double-check the tracking pixel install.
What’s next
- How click IDs feed into the channel decision: How SourceLoop classifies marketing channels.
- Set manual UTMs alongside click IDs: UTM best practices.
- Push the click IDs back to the ad platform for offline conversions: Configure Google Ads offline conversions, Configure Meta Conversions API, Configure LinkedIn offline conversions.
Frequently asked questions
-
Do I need click IDs if I'm already using UTM parameters?
Both, ideally. Click IDs are auto-appended by the ad platform's auto-tagging and survive when the visitor lands on a page that ignores or strips your UTMs (a redirect chain, a cached old page, an embed without query-string passthrough). UTMs are explicit, controlled by you, and survive when the click ID is stripped (some iOS browsers, some ad blockers). Running both is belt-and-suspenders and produces the cleanest attribution.
-
How do I check if my ad platform is auto-tagging click IDs?
Google Ads, Account Settings -> Auto-tagging -> ensure "Tag the URL that people click through from my ad" is on. Microsoft Ads, Accounts & Billing -> Auto-tagging -> Final URL Auto-tagging. Meta, Account Settings -> Advanced -> URL parameters -> ensure fbclid is appended (it usually is by default). Click a live ad in private/incognito and inspect the URL you land on; if it has the click ID in the query string, auto-tagging is on.
-
What does it mean if a lead has a gclid but no UTMs?
It means Google Ads auto-tagging is on and you haven't added manual UTMs to your campaigns. SourceLoop can still attribute the lead to Paid Search via the gclid, but you lose the granular campaign / ad-group / keyword detail that UTMs would carry. For full attribution depth, set up manual UTMs (utm_source=google, utm_medium=cpc, utm_campaign={campaign_name}) in addition to auto-tagging.
-
What's the difference between gclid, gbraid, and wbraid?
All three are Google Ads click IDs. gclid is the classic identifier, set on most desktop and Android web clicks. gbraid replaces gclid for iOS app campaigns when the user has opted out of ATT. wbraid replaces gclid for iOS web clicks where ATT consent is restricted. Functionally for SourceLoop attribution, any of the three signals "Paid Search" with high confidence. For pushing offline conversions back to Google Ads, the same field accepts all three, see the Google Ads offline conversion guide.
-
Why does fbclid show on direct-typed URLs sometimes?
Because Meta's tracking embeds fbclid in any link the user clicked from inside Facebook or Instagram, including organic posts, profile bios, and shared messages in Messenger, not only paid ads. SourceLoop treats a URL with fbclid + no utm_medium as Paid Social by default, which usually matches intent (the click came from inside Meta's ecosystem), but you can override this with a custom channel rule if you specifically want organic Facebook clicks bucketed as Organic Social.
-
Are click IDs personally identifiable information (PII)?
No. A click ID is an opaque identifier the ad platform generated, it doesn't contain the user's name, email, location, or any directly identifying field. It can be linked back to a click record on the ad platform's side, which is how offline-conversion uploads work, but on its own it's not PII under GDPR / CCPA.
-
How long does a click ID stay valid?
Click IDs are valid for the lifetime of the ad platform's attribution window, typically 30 days for Google Ads, 7 days for Meta (default click-attribution window). SourceLoop stores the click ID on the lead indefinitely, but pushing it back to the ad platform for offline-conversion attribution only works within the window. After it expires, the click ID still exists on the lead but the ad platform won't accept it for new offline-conversion uploads.