Pricing Academy Blog

What is gclid? Google's click ID

The gclid is the long string Google Ads adds to your landing page URL on every ad click. What it's for, how to check it, why it goes missing, and how to keep it long enough to report the sale that happens days later.

Summarize with:
Illustration: the monitor mascot inspects the tag at the end of a browser address bar with a magnifying glass
The short answer

gclid is the Google Click Identifier: a URL parameter Google Ads adds to your landing page URL on each ad click when auto-tagging is on. It identifies that one click, so a later conversion, on your site or offline, can be credited to the campaign, ad group and keyword behind it.

If a sale can happen away from the page the ad points to, on a call, in a CRM or on another domain, I'd store the gclid with the lead from day one.

Most Google Ads accounts never think about the gclid, because the Google tag handles it on the page and the conversion fires in the browser. It starts to matter the day the sale moves somewhere the tag can't see. A lead form that closes on the phone a week later. A checkout on another domain. A subscription that only counts once the trial converts.

Picture a lead-gen account where Google Ads optimizes for form fills because that's the only thing it can see, while the deals that pay close on the phone days later. The campaign learns to buy form fills. Uploading the closed deals against the gclid is how you teach it to buy customers instead, and that only works if someone kept the gclid when the form was filled.

What is gclid?

Google defines it as "a URL parameter passed with ad clicks" that "identifies the campaign along with other attributes of the click associated with the ad" (Google Ads Help). It is one kind of click ID, and on a landing page it looks like this:

https://yourbrand.com/offer?gclid=Cj0KCQjw...BwE

You never write it yourself. Auto-tagging adds a new value to every click, and the value only means something to Google. Two things to know before you store it: it's case sensitive, so never lowercase it, and it's long, so give it a text column rather than a short field (Google Ads Help, offline conversions).

What gclid is used for

Google names three jobs for it: website conversion tracking, linking Google Ads with Google Analytics, and offline conversion imports.

UseWhat reads the gclidWhen you need to care
Website conversion trackingThe Google tag, from the URL and its _gcl_aw cookieWhen the conversion happens on a page the tag isn't on
Google Ads and Google Analytics linkGoogle Analytics, to report the Google Ads click and campaignWhen redirects strip the gclid and paid clicks show up as other traffic
Offline conversion importYou: stored with the lead or order, uploaded laterPhone sales, CRM deals, trials, anything closed after the visit

The third one is where the gclid stops being plumbing and starts being money. It lets the campaign learn from the outcome you actually care about instead of the first thing that happened on the page.

How to check the gclid on your ads

Click one of your live ads, or use the ad preview, and look at the address bar on the landing page. With auto-tagging on, the URL ends in gclid= and a long value. If it's missing:

  1. Check auto-tagging. It's an account setting in Google Ads, and Google says the gclid "is activated by turning on the auto-tagging setting".
  2. Follow the redirects. A tracking redirect, a link shortener or a server rule that rebuilds the URL can drop the query string before the page loads.
  3. Check the page with the parameter. Some sites answer an unknown query parameter with an error page or a redirect home. Open your landing URL with ?gclid=test on the end and see what loads.
  4. Remember Safari. In Private Browsing, Safari removes known tracking parameters from links (WebKit, Safari 17). A share of iPhone clicks will arrive without one however well you set things up.

gclid, gbraid and wbraid

On some iOS traffic you'll see two other parameters in place of the gclid. Google added them to measure iOS campaigns within Apple's privacy rules (Google Ads Help, iOS measurement).

Illustration: three panels, a desktop screen, a phone with an app grid and a phone with a browser window, each with a small tag below
Three click parameters for three kinds of journey. A conversion upload carries exactly one of them.
ParameterWhen Google adds itPer click?
gclidAd clicks with auto-tagging onYes
gbraidAn ad click on the web that leads to your iOS appNo, aggregated
wbraidAn ad click in an iOS app that leads to your websiteNo, aggregated

For a website, the one to plan for next to the gclid is wbraid. Capture all three on arrival. When you upload a conversion through the Google Ads API, it takes exactly one of them (Google Ads API), so store which one you got.

How long a gclid is valid

Google says it retains the gclid for only 90 days, and you can upload a conversion with a gclid as long as it's no more than 90 days after the click (Google Ads Help, offline imports FAQ). In the browser, the Google tag keeps it in the _gcl_aw cookie, which also expires after 90 days (Google, ads cookies).

The conversion action has its own window on top of that, from 1 to 90 days for Search, Shopping and Display. If your sales cycle is longer than your conversion window, the upload succeeds and the sale still doesn't count. When uploads look fine and the numbers don't move, that's the first thing I'd check.

How to capture gclid for offline conversions

This is the part that decides whether offline imports work. Google's own guide describes the same pattern (Google Ads Help):

Illustration: a loop of four shapes, a search icon, a form, a database and an upload arrow, joined by arrows back to the search
Search click, form with the gclid, stored with the lead, uploaded when the sale closes. The loop is what teaches the campaign.
  1. Keep it on the first page. Read gclid (or wbraid) from the landing URL and store it in a first-party cookie or local storage, so it survives the visitor browsing to other pages before converting.
  2. Put it in a hidden field. Every form that creates a lead or an order gets a hidden gclid field filled from that cookie.
  3. Store it with the lead. Your CRM or database keeps the gclid on the contact or deal, unchanged.
  4. Create the conversion action first. Google asks you to wait 4 to 6 hours after creating a new conversion action before uploading to it.
  5. Upload when the sale closes. Send the gclid, the conversion action, the conversion time with its time zone, and the value and currency, within the 90 days. A file, a scheduled import or the Google Ads API all work.

A capture script that covers steps 1 and 2 on a page you control:

<script>
  var p = new URLSearchParams(location.search);
  var id = p.get('gclid') || p.get('wbraid');
  if (id) document.cookie = 'ef_gclid=' + encodeURIComponent(id) +
    '; path=/; max-age=' + 60 * 60 * 24 * 90 + '; SameSite=Lax; Secure';
  var m = document.cookie.match(/(?:^|; )ef_gclid=([^;]*)/);
  document.querySelectorAll('input[name="gclid"]').forEach(function (f) {
    if (m) f.value = decodeURIComponent(m[1]);
  });
</script>

In production, keep a note of whether the stored value was a gclid or a wbraid, since the upload needs to say which it is.

gclid vs UTM parameters

They aren't competitors. UTM parameters are labels you choose, readable by any analytics tool and by people. The gclid is a key only Google can open. Keep both on: UTMs so your own reports know the campaign without asking Google, the gclid so Google can learn from your conversions.

gclidUTM parameters
Who sets itGoogle Ads auto-taggingYou, in the final URL or tracking template
Unique per clickYesNo, per campaign or ad
Readable byGoogle onlyAny tool, any person
Used forConversion tracking and uploads to Google AdsYour own source and campaign reporting

gclid vs fbclid vs ttclid

Meta and TikTok have their own click IDs that do the same job with their own rules. Meta's fbclid goes back as the fbc value in the Conversions API, and TikTok's ttclid goes back through the Events API.

gclidfbclidttclid
PlatformGoogle AdsMetaTikTok
Browser cookie_gcl_aw, 90 days_fbc, 90 daysttclid
Sent back throughConversion upload (file, import or API)Conversions APIEvents API
iOS variantsgbraid, wbraidNoneNone

gclid in ElasticFunnels

When we built tracking into ElasticFunnels, we made the landing page keep every click ID it sees, not only the one for the channel you're running today, because the day you add a channel is the worst day to rebuild tracking.

  • Captured on arrival. Pages hosted on ElasticFunnels read gclid, gbraid and wbraid from the landing URL on the first visit and store them with that visit on our side, next to the UTMs and the other platforms' click IDs.
  • Spend next to revenue. The Google Ads integration imports your ad spend, so each campaign shows cost next to the revenue your funnel recorded, and you can pause campaigns and change budgets from the same report.

Every feature is on every plan.

My take
  • If you import offline conversions, check the gclid on ten real leads in your CRM before you check anything in Google Ads. An empty or lowercased gclid explains most "the upload worked but nothing changed" problems.
  • Set the conversion window to your real sales cycle, not the default you never looked at.
  • Don't turn auto-tagging off because an old redirect breaks with the extra parameter. Fix the redirect.
  • Upload the conversion you actually want more of. Uploading form fills teaches the campaign to buy form fills.

The gclid is Google's half of a deal: it tells you which click it was, and you tell it what that click turned into. Keep your half, and the bidding starts working for the business you have instead of the one the tag can see.

FAQ

gclid FAQ

What is gclid?

gclid is the Google Click Identifier, a URL parameter Google Ads adds to your landing page URL on each ad click when auto-tagging is on. It identifies that one click, so a later conversion can be credited to the campaign, ad group and keyword behind it.

What is gclid used for?

Google Ads uses it for website conversion tracking, linking Google Ads with Google Analytics, and offline conversion imports, where you store the gclid with a lead or order and upload the sale to Google Ads later.

How do I check the gclid?

Click one of your live ads (or use the ad preview) and look at the landing page URL: with auto-tagging on it ends in gclid= followed by a long value. If the URL has no gclid, check that auto-tagging is on in the Google Ads account settings and that no redirect strips the query string.

How long is a gclid valid?

For offline conversion imports, Google retains the gclid for 90 days: a conversion uploaded more than 90 days after the click is not imported. The Google tag stores it in the _gcl_aw cookie, which also lasts 90 days.

What is the difference between gclid and UTM parameters?

UTM parameters describe the campaign in words you choose and work in any analytics tool. The gclid is a unique ID Google adds to each click and only Google can read. Use both: UTMs for your own reports, the gclid to send conversions back to Google Ads.

What are gbraid and wbraid?

Google's click parameters for some iOS traffic. gbraid appears when an ad click on the web leads to your iOS app, wbraid when a click in an iOS app leads to your website. They measure conversions in aggregate rather than per user. A conversion upload carries one of gclid, gbraid or wbraid.

Can I get a gclid without auto-tagging?

No. The gclid is added by auto-tagging, and Google says it is required for Google Ads website conversion tracking. You can add UTM parameters by hand with auto-tagging on as well; the two work side by side.

What is a click ID?

A unique ID an ad platform adds to the landing page URL for each ad click: gclid for Google Ads, fbclid for Meta, ttclid for TikTok. You keep it with the visit and send it back with the conversion, so the platform can credit the right ad.

See Google Ads spend next to real revenue

Every feature on every plan. Start a 14-day free trial.