A gclid — short for Google Click Identifier — is a unique string that Google appends to your landing page URL every time someone clicks one of your ads. It looks like a random block of letters and numbers tacked onto the end of the link, and most people never notice it. It is, quietly, one of the most valuable pieces of data your ad account produces.
What it actually looks like
When someone clicks your Google ad, they land on a URL that looks like this:
https://yoursite.com/contact?gclid=Cj0KCQjw2eilBhCCARIsAG0Pf8v...
That final parameter — everything after gclid= — is unique to that one click, by that one
person, at that exact moment. No two clicks share a gclid. It encodes, on Google's side, which
campaign, ad group, keyword and device produced the visit.
Why it exists
Google Ads needs a way to know whether a click eventually turned into something valuable — a purchase, a booking, a signed contract — so it can learn which keywords and audiences are actually worth bidding on. The gclid is the thread that connects "someone clicked this ad" to "this business later told Google that click was worth ₹45,000". Without it, Google Ads only ever knows about the click and the form fill. It never finds out what happened next.
Where you'll actually encounter it
- In the URL of your landing page, the moment a visitor arrives from an ad — the only place it exists before you capture it.
- In your CRM or spreadsheet, if you've set up a hidden form field to catch it.
- In an offline conversion upload, where it's the key value used to tell Google "this specific click resulted in a sale".
gclid, gbraid and wbraid are not the same thing. On iOS, and in some
privacy-restricted browsing contexts, Google can't always attach a normal gclid — it uses
gbraid (for app-to-web) or wbraid (for web) instead. If your capture
script only looks for gclid, you will silently lose attribution on a growing share of
iOS traffic. Capture all three parameters, even if you only understand one of them today.
The part that catches almost everyone out
A gclid only exists in that first URL. It is not stored anywhere by default. If the visitor clicks through to another page on your site before filling in a form, and your site doesn't carry the parameter along, it's gone — permanently. There is no way to look it up afterwards, no support ticket that recovers it, nothing. This single fact is why so many advertisers discover, months into running ads, that none of their historical leads can be attributed to a specific click.
If you take one thing from this article: the fix is not complicated, but it has to happen before the click happens, not after you decide you want the data. A hidden form field that reads the URL parameter on page load and a first-party cookie so it survives a page change is enough for most sites — the full mechanics are in how to send offline conversions to Google Ads from your CRM.
What a gclid is not
It's worth being precise here, because the terms get mixed up constantly:
- It is not a cookie. It's a URL parameter. You may choose to store it in a cookie so it survives navigation, but the gclid itself is just a string of characters.
- It is not personally identifying on its own. It doesn't contain a name, email or phone number — it's a reference Google can look up on its own side, meaningless without an upload back to a Google Ads account that has permission to use it.
- It is not the same as a UTM parameter. UTM tags are something you define for your own analytics; the gclid is generated by Google and is what makes offline conversion upload possible at all. Track both — they answer different questions.
Why it matters more than most tracking setups treat it
Without a stored gclid, Google Ads has no way to learn that a click led to revenue. It keeps optimising toward whatever signal it does have — usually the form fill itself — which means it will happily send you more people who fill in forms, whether or not they ever buy anything. Once you're capturing and reporting the gclid against real sales, the bidding algorithm gets to optimise toward the thing you actually care about.
That's the entire argument for treating gclid capture as infrastructure, not an optional add-on: it's the one piece of data that, if missing, cannot be recovered later — and the one piece of data that makes every other conversion-tracking effort possible.
How long a gclid stays valid
Once captured and stored, a gclid remains usable for reporting an offline conversion for a limited window — Google Ads' documentation specifies this varies by account but is commonly around 90 days from the click, and it can be shorter depending on your account's configured conversion window settings. This matters for anyone with a sales cycle that runs longer than that: a real estate lead who takes four months to close may carry a gclid that's technically still stored correctly, but that falls outside the window Google will actually accept an upload against. There is no workaround for this beyond configuring your conversion action's attribution window to be as long as your realistic sales cycle allows, and treating any gclid older than that window as historical data — still useful for your own reporting, no longer usable for uploading to Google.
gclid versus a UTM parameter — when to use which
It's worth being precise about this because the two get confused often. A UTM parameter
(utm_source, utm_campaign, utm_term) is something you define
yourself, useful for reading reports in Google Analytics or your own CRM, and it answers "which
campaign, in my own naming scheme, produced this visit." The gclid is generated by Google, is not
human-readable, and answers a narrower but more powerful question: "is this the exact click Google
Ads billed me for, that I can now report a real outcome against." Most serious tracking setups capture
both, for different purposes — UTMs for your own reporting, gclid for the conversion upload that
actually changes how Google's bidding behaves.
A quick way to see one for yourself
If you want to see a real gclid without waiting for an ad to run, you can simulate one safely on your
own site: open your landing page and manually append ?gclid=TEST123456 to the URL in
your browser, then load the page. If your capture script is working, that value should appear in the
hidden form field the moment the page loads — open your browser's developer tools, inspect the form,
and check. This costs nothing, takes under a minute, and is the single fastest way to confirm capture
is actually working before you spend money on ads relying on it.
What to check right now
- Open your live landing page from an actual Google ad (not a direct visit) and confirm the URL
carries a
gclidparameter. - Submit a test form and check whether that value shows up anywhere in your CRM or spreadsheet afterwards. If it doesn't, nothing downstream can work yet.
- If it does show up, read the full walkthrough on turning that stored value into an actual conversion upload.
Claudphic Ads captures gclid, gbraid, wbraid and fbclid automatically on every lead, so this is one part of the process you don't have to build or maintain yourself — see how it fits together on the pricing page.