Skip to main content
Back to Blog

What Is a GCLID? Every Ad Click ID Explained (2026)

A GCLID is the click ID Google Ads adds to your ad URLs. Learn what GCLID, GBRAID, FBCLID, MSCLKID and TTCLID do, where they get lost, and how to keep them.

18 min read
What Is a GCLID? Every Ad Click ID Explained (2026)

Key Takeaways

  • •A click ID is a unique value an ad platform adds to your landing page URL when someone clicks an ad. GCLID is Google's, FBCLID is Meta's, MSCLKID is Microsoft's and TTCLID is TikTok's. It is the only thing that ties a later sale to one specific click
  • •A click ID is not a UTM tag. UTMs describe the campaign and you write them yourself. The click ID identifies the click and lets the platform match a conversion to it. You want both on every ad URL
  • •Click IDs only exist on the first page a visitor lands on. If you do not store them there, in a first-party cookie or a hidden form field, they are gone by the time the sale happens
  • •Google uses three identifiers: GCLID for normal web clicks, GBRAID for web-to-app clicks on iOS and WBRAID for app-to-web clicks on iOS. Capture all three and keep their case exactly as received
  • •Safari removes known click IDs from links in Mail, Messages and Private Browsing, and in regular browsing when the user switches protection to All Browsing. Campaign UTM tags are reported to survive

What is a click ID?

A click ID is a unique value that an advertising platform adds to the landing page URL when someone clicks one of your ads. It looks like random text, and it is the key that lets the platform recognise that person's later purchase or lead as the result of that exact click.

Every major platform has its own. Google calls its click ID the GCLID, short for Google click identifier. Meta uses fbclid, Microsoft uses msclkid, TikTok uses ttclid, LinkedIn uses li_fat_id, Pinterest uses epik and Taboola uses tblci.

A landing page URL with a GCLID on it looks like this:

https://example.com/product?utm_source=google&utm_medium=cpc&gclid=Cj0KCQjw...

Everything after gclid= is the identifier. You do not create it and you cannot make it up. The platform generates a new one for every click, and your job is to capture it, keep it intact and send it back when the visitor converts.

This guide explains what each click ID does, how they differ from UTM parameters, the ways they get lost between the click and the sale, and how to capture them reliably.

How a click ID works from click to conversion

The life of a click ID has five steps, and every missing conversion in your ad reports comes from one of them breaking.

  1. The click. Someone clicks your ad. The platform adds a click ID to the destination URL, provided auto-tagging (or its equivalent) is on.
  2. The landing. The visitor arrives at your site with the click ID in the address bar. This is the only moment it is guaranteed to be there.
  3. The capture. A script or tag reads the click ID from the URL and stores it, usually in a first-party cookie, so it survives page navigation.
  4. The conversion. The visitor buys, books or submits a form, possibly days later. You look up the stored click ID.
  5. The report back. Your tag, or your server, sends the conversion to the platform together with the click ID. The platform matches the two and credits the campaign, ad group or ad.

When step 3 fails, step 5 has nothing to match with. The platform still charged you for the click, but it never learns that the click turned into revenue, so its bidding and your reports both undercount.

Click IDs by platform

This table covers the click IDs you are most likely to meet. The details are taken from each platform's own documentation.

PlatformClick IDHow it gets onto your URLWhat to do with it
Google AdsgclidAdded to the landing page URL when auto-tagging is onStore it exactly as received. The Google tag does this for you. For server or offline uploads, send it back with the conversion
Google Ads (iOS)gbraid, wbraidAdded on iOS 14.5+ clicks when GCLID can't be used: gbraid for web-to-app, wbraid for app-to-webCapture alongside GCLID. When uploading with BRAIDs, set the conversion count to Every
MetafbclidAdded to the URL when someone clicks through from MetaMeta's pixel stores it as the _fbc cookie. For server events, send fbc in the format fb.1.<timestamp in ms>.<fbclid> and never hash it
Microsoft AdsmsclkidAdded when auto-tagging of Microsoft Click ID is on, which is the defaultIt is a UUID. Keep the most recent value and retain it for about 90 days
TikTokttclidAppended to the ad's landing page URLThe TikTok Pixel stores it in a first-party cookie also named ttclid. Send it as user.ttclid in the Events API
LinkedInli_fat_idAdded when enhanced conversion tracking is on for the Insight TagThe cookie lasts 30 days. Send it as LINKEDIN_FIRST_PARTY_ADS_TRACKING_UUID
PinterestepikAdded on Pinterest ad clicksThe Pinterest tag caches it in the _epik cookie. Send it as click_id and prefer the cookie value when the URL parameter is missing
TaboolatblciAppended to all ad URLs automaticallyCapture it from the URL, then send it in the postback as click-id, with a hyphen

Two details in that table cause real bugs, so they are worth repeating. Taboola's landing page parameter is tblci but its postback parameter is click-id, and the postback fails if you use the wrong name. And Meta's fbc value is built from the fbclid, not the raw fbclid itself, so sending the bare value will not match.

GCLID, GBRAID and WBRAID: Google's three identifiers

Google does not use a single identifier any more. It uses three, and you need all of them.

GCLID is the standard Google click ID. It is added to the landing page URL when auto-tagging is on and covers ordinary clicks that end on your website.

GBRAID and WBRAID exist because of Apple's App Tracking Transparency policy. Google says that since the policy took effect on April 26, 2021, it no longer sends a GCLID for iOS 14 traffic coming from ads on a handful of Google apps. Instead it added two privacy-safe parameters:

  • GBRAID is for a click on a web ad that leads into an iOS app (web to app)
  • WBRAID is for a click on an ad inside an iOS app that leads to a web page (app to web)

Both are less granular than a GCLID, and Google's tooling treats them as a fallback for places where a GCLID cannot be used. If you upload conversions with BRAIDs, the conversion action needs its count set to Every or the upload errors.

Google also appends aggregated parameters such as gad_source and gad_campaignid to ad URLs. They identify the source and campaign rather than the individual click, so they supplement a GCLID and do not replace it.

Rules that apply to every Google click ID

  • They are case sensitive. Store the value exactly as it arrived. Never trim, lowercase, re-encode or "clean" it.
  • They are opaque. Treat the value as a string you carry, not something you can decode or build yourself.
  • One click, one identifier. Do not merge several clicks into one conversion. Each uploaded conversion should point at the click that produced it.
  • They expire. Google says Google Ads cookies expire 90 days after the click, and offline conversion imports have to fall inside the same 90-day window (more on that in our offline conversion tracking guide).

GCLID vs UTM parameters

New advertisers often assume UTM tags and a GCLID do the same job. They do not, and removing one to "tidy up" the URL costs you data.

GCLID (click ID)UTM parameters
Who writes itThe ad platform, automaticallyYou, in your tracking template or URL builder
What it identifiesOne specific clickA campaign, source, medium or creative
What reads itThe ad platform, to match conversions to clicksAnalytics tools and your CRM, to report by channel
Unique per click?YesNo, every click on the ad shares the same values
Survives Safari link protection?Not alwaysReported to pass through

The practical rule is simple: use both. UTM tags keep your analytics and CRM readable, and the click ID lets the ad platform optimise on real outcomes. If you run Google Ads, check that auto-tagging is on and that your UTMs are added through a tracking template at account level so they do not collide with it.

Where click IDs get lost

Most "missing conversions" problems are click ID problems. These are the places they usually disappear.

Where it breaksWhyWhat to do
Auto-tagging is offThe platform never adds the click ID, so there is nothing to captureTurn auto-tagging (or MSCLKID auto-tagging, or LinkedIn enhanced conversion tracking) on
Redirects and link shortenersA redirect that drops the query string removes the click ID before the page loadsMake every redirect pass the full query string through, and test with a real ad click
Landing page builders and formsThe ID is on the URL but never copied into the lead recordAdd hidden form fields and fill them from the stored value
Checkout on another domainThe cookie was set on your store, but the order is created somewhere elsePass click IDs into the cart or order (on Shopify, as cart attributes) before the handoff
Cookie expiryBrowsers shorten the life of cookies written by JavaScript, Safari in particularStore the value server-side or in a server-set cookie as well
Consent deniedIn regions that need consent, you may not store marketing identifiers until the visitor agreesCapture after consent, and use consent mode and enhanced conversions for the rest
Safari link protectionSafari strips known click IDs in some contextsSee the section below, and capture hashed customer data as a second match key
Ad blockersThe browser tag that would capture the click ID never loadsCapture on your own domain and send conversions from the server

Does Safari remove the GCLID?

Sometimes. Safari's Link Tracking Protection removes query parameters that it classes as tracking individual users or clicks. Apple does not publish the list, but per-click identifiers like gclid, fbclid and msclkid are the ones reported removed in independent tests.

The important part is where it applies:

  • On by default for links opened from Mail and Messages, and in Private Browsing
  • Off by default in normal Safari tabs, unless the user sets Advanced Tracking and Fingerprinting Protection to All Browsing
  • UTM campaign parameters pass through, because they identify a campaign and not an individual

Safari 26 did not change those defaults. What it did add is protection against known fingerprinting scripts, which can no longer read query parameters on the page. That is a separate feature and only affects scripts on Apple's list. Most Safari visitors still arrive with their click ID intact, but the minority who tap an ad link in an email or message do not.

Because Apple's list is not public, the safe approach is to test your own links in each context and to never rely on a click ID as your only match key. If you want the wider picture on Apple's changes, see our guide to fixing iOS tracking.

How to find a GCLID

You usually need a GCLID for one of two reasons: you are debugging, or you are uploading conversions.

  1. From a test click. Click your own ad, or use the ad preview, and read the address bar on the landing page. Everything after gclid= is the value. If it is not there, auto-tagging is off or something stripped it.
  2. From your CRM or form data. If you added a hidden field, the GCLID is stored on the lead record next to the contact.
  3. From Google Ads. The Google Ads API's click view report returns the GCLIDs for a given day, for up to 90 days back, which is also how you check which account a click belongs to when an upload fails.

You cannot work backwards from a customer to their GCLID unless you stored it at the time of the click. That is why capture matters more than any other step.

How to capture click IDs on your site

There are three reliable methods, and a robust setup uses more than one.

1. Let the platform tags do it

The Google tag stores the GCLID in a cookie on your domain. The Meta pixel writes _fbc. The TikTok Pixel writes a ttclid cookie, the LinkedIn Insight Tag writes li_fat_id and the Pinterest tag writes _epik. This covers browser-side reporting, but it fails whenever the tag is blocked or consent is denied, and you do not control the value for your own server or CRM.

A short script can read the click IDs on landing and keep them for later. Run it only after marketing consent where consent is required:

const CLICK_ID_PARAMS = ["gclid", "gbraid", "wbraid", "fbclid", "msclkid", "ttclid"];
const MAX_AGE_SECONDS = 60 * 60 * 24 * 90;

function captureClickIds() {
  const params = new URLSearchParams(window.location.search);

  for (const name of CLICK_ID_PARAMS) {
    const value = params.get(name);
    if (!value) continue;

    document.cookie = `click_${name}=${encodeURIComponent(value)}; max-age=${MAX_AGE_SECONDS}; path=/; SameSite=Lax; Secure`;
  }
}

captureClickIds();

URLSearchParams keeps the original letter case, which matters for Google and Meta. Cookies written by JavaScript are shortened by some browsers, so for important flows also pass the values to your server on the first request.

3. Copy them into forms and carts

For lead generation, add hidden inputs named after each identifier, then fill them from the stored cookie so the click ID travels with the submission into your CRM:

for (const name of CLICK_ID_PARAMS) {
  const input = document.querySelector(`input[name="${name}"]`);
  const stored = document.cookie.split("; ").find((c) => c.startsWith(`click_${name}=`));

  if (input && stored) {
    input.value = decodeURIComponent(stored.split("=")[1]);
  }
}

For stores that hand off to a separate checkout, write the values into the cart or order metadata before the handoff. If you build Meta's fbc yourself, use the form fb.1.<time you first saw the fbclid in ms>.<fbclid>, and send it unhashed.

What to do with a click ID once you have it

Capturing is half the job. The click ID has to go back to the platform in the right shape and inside the platform's time window.

If you are choosing between sending these conversions from the browser or from your server, what is server-side tracking explains the trade-offs.

How SignalBridge handles click IDs

SignalBridge's tracking pixel reads click IDs on landing, including gclid, gbraid, wbraid, fbclid, msclkid, ttclid, tblci and li_fat_id, along with UTM parameters. It stores them in first-party cookies: the latest values for 30 days, the first-touch values for a year, and a touch history for 90 days. Capture only runs when marketing consent allows it.

On Shopify stores, SignalBridge also copies the click IDs into the cart attributes, so they survive checkout and are still attached to the order. When the purchase happens, they are sent with the conversion from the server to each connected ad platform. You can see the full server-side tracking feature or how multi-touch attribution uses the same touches.

Click ID checklist

Use this to audit a setup in about ten minutes:

  1. Auto-tagging is on in Google Ads, and MSCLKID auto-tagging is on in Microsoft Ads
  2. Click your own ad and confirm the click ID is in the landing page URL
  3. Check that redirects and link shorteners keep the full query string
  4. Confirm the click ID is stored in a cookie after you land
  5. Confirm the value is saved with the lead or the cart, not only in the browser
  6. Check that GBRAID and WBRAID are captured, not only GCLID
  7. Confirm values are stored with their original letter case
  8. Confirm conversions are sent back with the click ID inside the platform's time window
  9. Include an order ID or event ID so retries are not counted twice
  10. Test with a Safari visitor who opens the link from Mail or Messages

Frequently Asked Questions

What is a GCLID?

A GCLID, or Google click identifier, is a unique value Google Ads adds to your landing page URL when someone clicks your ad and auto-tagging is on. Google uses it to match later conversions, such as a purchase or a lead, back to the exact click.

What does GCLID stand for?

GCLID stands for Google Click Identifier. The matching names on other platforms are FBCLID for Meta, MSCLKID for Microsoft and TTCLID for TikTok.

What is a click ID?

A click ID is a unique value an ad platform adds to the landing page URL when someone clicks an ad. It lets the platform identify that click when you later report a conversion.

Is a GCLID the same as a UTM parameter?

No. UTM parameters are tags you write to describe a campaign, and every click on the same ad shares them. A GCLID is generated by Google for each individual click and is used to match conversions. Use both.

How do I find my GCLID?

Click your own ad and read the landing page URL. The value after gclid= is your GCLID. For past clicks, you can read a lead's stored value from your CRM if you captured it, or query the Google Ads API's click view report for a given day.

Can you decode a GCLID?

Treat it as an opaque string. Google's guidance is to store it exactly as received, including the letter case, and to send it back unchanged. You cannot rebuild a GCLID or use it to identify a person yourself.

What is the difference between GCLID, GBRAID and WBRAID?

GCLID is the standard click ID for web clicks. GBRAID is used when a click on a web ad leads into an iOS app, and WBRAID is used when a click on an ad inside an iOS app leads to a web page. Capture all three.

How long is a GCLID valid?

Google says Google Ads cookies expire 90 days after the click, and offline conversions have to be imported within that 90-day window. Store the GCLID with the lead so you can upload while it is still valid.

Does Safari remove the GCLID?

Only in some contexts. Safari's Link Tracking Protection removes known click IDs by default from links opened in Mail, Messages and Private Browsing, and in regular browsing if the user chooses All Browsing. UTM tags are reported to pass through.

Why is my GCLID missing?

The usual causes are auto-tagging being off, a redirect or link shortener that strips the query string, a form or page builder that never copies it into the lead record, or a Safari visitor who opened the link from Mail or Messages.

What is fbclid?

FBCLID is Meta's click ID. It appears in the landing page URL when someone clicks through from Meta. The Meta pixel stores it as the _fbc cookie, and for server events you send fbc in the form fb.1.<timestamp>.<fbclid>.

What is msclkid?

MSCLKID is Microsoft Advertising's click ID. It is a UUID added to landing page URLs when auto-tagging of Microsoft Click ID is on, which is the default. Keep the latest value and use it to import offline conversions within 90 days.

Do I need to store click IDs if I use Google Tag Manager?

Google Tag Manager's Conversion Linker stores the GCLID for browser tracking. You still need your own copy if you upload conversions from a server or CRM, or if a tag may be blocked, because you cannot read the tag's cookie later from your back end unless you saved it.

Ready to recover more conversions?

Start tracking what your pixels miss. Set up in 5 minutes, no credit card required.

Start Free Trial