Attribution
What Is gclid? How the Google Click ID, the _gcl_aw Cookie, gbraid and wbraid Work
gclid is the Google click identifier: a parameter Google Ads adds to your landing page URL when auto-tagging is on and someone clicks your ad. Google's tag stores it in first-party cookies such as _gcl_aw, and conversion imports send it back, so Google can tie an order to the click that produced it.
This is the Google entry in our click ID series, which starts with fbclid and Meta's _fbc cookie. It covers auto-tagging, the _gcl_aw cookie, the gbraid and wbraid parameters Google uses for iOS, how gclid feeds offline conversion imports and enhanced conversions, and why it goes missing. Setup steps for Shopify are in our Google Ads conversion tracking guide. We checked every Google detail against Google's help center and developer docs on October 24, 2026.
What is gclid?
Google defines the Google Click ID (GCLID) as a URL parameter passed with ad clicks that identifies the campaign and other attributes of the click, for ad tracking and campaign attribution. Google says it's required for Google Ads website conversion tracking, links data between Google Ads and Google Analytics, and is used for offline conversion tracking.
Google's own example of a landing URL is www.example.com/?gclid=123xyz. Real values are longer, opaque strings, so you can't read the campaign off the URL yourself.
One quirk from Google's auto-tagging article: a GCLID is sometimes created at the time of an impression, and if the same person clicks that ad again, the same GCLID is reused. Multiple clicks can share one value.
How does auto-tagging add gclid?
Auto-tagging is the Google Ads setting that appends gclid to your URLs. Google says it is on by default for new accounts and needed to track conversions on all browsers, to import conversions from a CRM or other source, and to bring Google Ads cost data into Google Analytics. To check it, go to Admin > Account settings > Auto-tagging and look for the box labeled "Tag the URL that people click through from my ad".
Three caveats from the same article:
- Some sites reject unknown parameters. Google says a small percentage of websites don't allow arbitrary URL parameters and show an error page when auto-tagging is on. Click your own ad to test.
- Redirects must pass it on. If your site redirects, the gclid has to reach the final landing page for conversions to be tracked.
- Cross-account tracking. With cross-account conversion tracking, you turn auto-tagging on manually in each child account.
Auto-tagging and UTM parameters can run together. Google notes that in Google Analytics 4, auto-tagging takes priority over manual tagging, with no override.
What is the _gcl_aw cookie?
_gcl_aw is the first-party cookie where Google keeps the ad click on your domain. Google's Conversion Linker documentation says the tag detects ad click information in your landing page URLs and stores it in cookies named _gcl_*, such as _gcl_aw and _gcl_gs, on the top-most domain and root path, plus browser local storage under the key _gcl_ls. A Google Ads conversion tag reads that cookie when the conversion fires.
| Cookie | Product | Lifespan |
|---|---|---|
_gcl_aw | Google Ads | 90 days |
_gcl_gs | Google Ads | 90 days |
_gcl_gb | Google Ads | 90 days |
_gcl_au | Google Ads, Campaign Manager, Display & Video 360, Search Ads 360 | 90 days |
Source: Google's advertising and measurement cookie list, which lists all four as set from your domain, checked October 24, 2026.
What writes the cookie matters:
- The Google tag or a Conversion Linker. Google's article on how Google Ads tracks website conversions says the Google tag sets these cookies by default. In Google Tag Manager, a Conversion Linker tag on all pages does it, unless the container already loads a Google tag on every page.
- Not Google Analytics 4 on its own. Google says the GA4 tag no longer preserves the GCLID in a cookie for Google Ads conversion tracking, so a store with only GA4 has to import conversions from Analytics instead.
- Opting out costs accuracy. Setting
conversion_linker: falsestops the first-party cookies, and Google says that leads to less accurate measurement.
When the Google tag writes these cookies from the browser, Safari's limits apply: Safari caps script-set cookies at seven days, so a Safari shopper can lose the cookie well before Google's 90 days are up.
What are gbraid and wbraid?
They are the parameters Google uses in place of gclid for some iOS traffic. Google's iOS 14 measurement article says that since Apple's App Tracking Transparency policies took effect on April 26, 2021, Google no longer sends the GCLID for iOS 14 traffic from ads on a handful of Google apps. For that traffic, &gclid= isn't appended, so a store that only looks for gclid sees those visits as untagged.
| Parameter | When it appears |
|---|---|
gclid | Ad clicks with auto-tagging on, apart from the iOS traffic above |
wbraid | A click on an ad in an iOS app that leads to your web page |
gbraid | A click on a web ad that leads to your iOS app |
Sources: Google's iOS 14 measurement article and the Google Ads API guide to managing offline conversions, checked October 24, 2026.
Google introduced wbraid in March 2021 and gbraid in May 2021, and says the Google tag and Google Tag Manager set a new first-party cookie by default to support wbraid. Its API guide adds that a conversion can sometimes be associated with both a gclid and a gbraid, in which case Google recommends sending both, and that custom conversion variables aren't supported with gbraid or wbraid. In practice: capture all three parameters on landing, and treat a visit with any of them as a Google ad click.
How is gclid used for offline conversion imports?
As the key that ties a sale recorded outside the tag to the original click. Google's offline conversion imports article describes the flow: save the GCLID with whatever lead information you collect, and when that person converts, by signing a contract for example, give the GCLID back to Google Ads with the conversion type and time.
The Google Ads API guide to managing offline conversions adds the rules that trip imports up:
- Timing. The conversion time must be after the click, with a timezone. A click older than the conversion action's lookback window is rejected with an "expired event" error. Google's conversion windows article puts click-through windows anywhere from 1 to 90 days depending on the source, with a 30-day default.
- Duplicates. Google strongly recommends an
order_idper conversion, which also lets you adjust the conversion later. - Consent. Google recommends setting the consent field on each conversion, and says conversions without it may not be attributable.
- Reporting date. Imported conversions are reported on the impression date of the original click, not the date you uploaded them.
The route has changed. Google says that starting June 15, 2026, offline conversion imports and enhanced conversions for leads uploads move to the Data Manager API and are blocked in the Google Ads API, apart from developer tokens allowed to keep legacy access.
The same mechanism works for online orders. Upstack's Google Ads setup docs say it sends each Shopify purchase from its servers through Google's Data Manager API, with the order's gclid, gbraid or wbraid, and that the conversion actions it creates are import (click) conversions with a 30-day click-through window.
How do enhanced conversions use gclid?
They add hashed customer data to the click ID rather than replacing it. Google's enhanced conversions article says the feature supplements your conversions with first-party data such as email address, name, home address and phone number, hashed with SHA-256, and matches it to Google accounts that were signed in when they engaged with your ads. There are two kinds: enhanced conversions for web, for sales on your site, and enhanced conversions for leads, for offline sales from website leads. Google says the two are now combined into a single on/off setting.
The click ID still matters. Google's API guide says to include GCLIDs in your imports where possible, even with enhanced conversions set up, and that conversions with only customer data, and no GCLID, are still useful for optimization. So the click ID and the hashed data back each other up: gclid identifies the click, the hashed email identifies the person when the click ID is gone.
Two details catch teams out:
- Normalization. Google asks you to trim spaces, lowercase, format phone numbers in E.164 and, for gmail.com and googlemail.com addresses, remove periods before the @. Our guide to hashed emails walks through it.
- Account settings. Upstack's Google Ads docs note that Google won't accept customer data over the API until the account has accepted the customer data terms and turned on enhanced conversions. Until then, conversions arrive with click IDs and IP only and match fewer people.
Why does gclid go missing?
| What you see | Likely cause | What to check |
|---|---|---|
No gclid on any Google ad landing URL | Auto-tagging is off | Admin > Account settings > Auto-tagging |
gclid on the first URL, gone on the final page | A redirect or click tracker drops the query string | Click your own ad and watch every hop |
| iPhone clicks arrive "untagged" | They carry wbraid or gbraid, not gclid | Whether your capture reads all three |
gclid on the URL but no _gcl_aw cookie | Consent (ad_storage denied), or only GA4 is installed | Your banner regions and consent mode; a Google tag or Conversion Linker on every page |
| Conversions on a second domain go unmatched | The landing and conversion pages are on different domains | Google's cross-domain linker |
| Clicks lost after a few days on Safari | Safari's cap on script-set cookies | A server-side copy of the click ID |
Consent needs the most care. Google's consent mode overview says that when ad_storage is denied, no new advertising cookies may be written and no existing ones read, although the full page URL, including the GCLID, is still collected for modeling. When ad_user_data is denied, hashed first-party data for enhanced conversions is disabled. Shopify says that in regions where its cookie banner is active, data is collected only after consent, and that consent has to reach Google through Consent Mode v2 for EEA data to be used for personalized advertising. This isn't legal advice; what you can store depends on where your shoppers are.
Apple's Link Tracking Protection can also strip tracking parameters in Messages, Mail and Private Browsing, but Apple doesn't publish the list. Our fbclid guide covers what Apple has said.
How do you keep gclid for server-side conversions?
- Capture gclid, gbraid and wbraid on landing, on your server or with a first-party script, before any redirect or URL cleanup.
- Store the click with the session and, once known, the customer, so an order placed days later or on another device still carries it.
- Send it with the order, along with the order ID, value and currency, and customer data hashed the way Google asks.
- Pass consent with each conversion, as Google recommends.
- Never send a click ID that didn't arrive with that shopper. A copied gclid credits the wrong click.
The same steps apply to TikTok's click ID; our ttclid guide covers its cookies and the Events API fields.
Upstack Signal does this for Shopify stores. Per its Google Ads docs, each server-side event carries the Google click ID it has, hashed email and phone, hashed first and last name with postal code and country, IP and user agent, and the order ID, value and currency. It skips an event with no click ID, no customer data and no IP address, because Google can't match it.
Frequently asked questions
How long does gclid last?
Google lists the _gcl_aw cookie with a 90-day lifespan, but a conversion only counts inside the conversion action's click-through window, which is 30 days unless you change it and can run from 1 to 90 days depending on the source. In Safari, the cookie itself may expire after seven days.
What's the difference between gclid, gbraid and wbraid?
gclid is Google's standard click ID. wbraid appears when someone clicks an ad in an iOS app and lands on your website; gbraid appears when someone clicks a web ad and lands in your iOS app. Google introduced both in 2021 after Apple's App Tracking Transparency changes.
Does gclid hurt SEO?
Not if your pages declare a canonical URL. Google's guide to duplicate URLs uses a ?gclid= address as its example of a non-preferred version and recommends a rel="canonical" tag. Don't strip gclid before your tag and your server have stored it.
Do I still need gclid with enhanced conversions?
Yes. Google recommends including GCLIDs in your conversion imports where possible, even when enhanced conversions are set up. Hashed customer data helps when the click ID is missing; it doesn't replace it.
Key takeaways
- gclid is Google's click ID, added to your landing URL by auto-tagging, which is on by default for new accounts.
- The Google tag or a Conversion Linker stores it in first-party
_gcl_*cookies such as_gcl_aw, listed by Google at 90 days; GA4 alone doesn't keep it for Google Ads. - On some iOS traffic, Google sends wbraid or gbraid instead, so capture all three.
- Offline imports and enhanced conversions both send the click ID back; since June 15, 2026, imports go through the Data Manager API.
- Redirects, consent, GA4-only setups, cross-domain checkouts and Safari's cookie cap are the usual reasons it goes missing.
See how Upstack Signal restores gclid and sends your Shopify orders to Google Ads from the server.
Want similar results?
Start free for 21 days and see what clean signal does for your performance. No card, no contract.