GCLID stripping and loss
The gclid is the Google Ads click identifier appended by auto-tagging. If anything between the ad and the page removes the parameter — a redirect that drops query strings, a CMS canonical rewrite, a link shortener, or a privacy tool — the landing page never sees the gclid and the click cannot be attributed. This page explains where gclid loss happens and how to detect it.
Where gclid gets stripped
Auto-tagging adds gclid to the ad's final URL, but several common steps drop query parameters. A 301/302 redirect configured to discard the query string removes it. CMS or framework rewrites to a canonical URL can drop it. Link shorteners and trackers may not forward it. Some privacy and security tools remove known tracking parameters from URLs.
Detecting and preventing loss
The symptom is paid traffic that the tool cannot attribute: clicks that arrive with no gclid show up as direct or organic, and Ads-to-Analytics reconciliation diverges. To detect it, click a live ad (or simulate the final URL) and confirm the gclid is present in the address bar on the landing page and visible to the tag.
Prevention is about preserving query strings through every hop: configure redirects to forward parameters, avoid shorteners on ad final URLs, and ensure canonical rewrites keep the query string.
- Redirects that drop query strings remove gclid
- Canonical rewrites and shorteners can strip it
- Symptom: paid clicks land as direct/organic
- Fix: preserve query strings through every redirect hop
How it appears in analytics and logs
Paid clicks appearing without a gclid usually mean a redirect or rewrite dropped the query string; the click happened but the identifier did not survive to the landing page.
Diagnostic use case
Diagnose why Google Ads clicks land as direct or organic in analytics: the gclid was stripped in transit before the page or tag could read it.
What WebmasterID can help detect
WebmasterID reads landing-URL parameters first-party, so you can confirm whether a gclid actually arrived on the page rather than guessing it was lost upstream.
Common mistakes
- Configuring redirects that discard the query string on ad landing URLs.
- Routing ad clicks through shorteners that drop parameters.
- Blaming attribution models for traffic whose gclid never arrived.
Privacy and accuracy notes
gclid is a campaign click token, not a personal identifier you set. Avoid logging it alongside personal data. This page is educational, not legal advice.
Related pages
- Auto-tagging vs UTM conflicts
Google Ads auto-tagging appends a gclid to ad landing URLs; manual tagging adds utm_ parameters. When a link carries both, the two systems describe the same click differently and can disagree. By default GA4 gives precedence to gclid-based auto-tagging, so hand-set utm_source/medium on Ads links may not appear as expected. This page explains the precedence and how to avoid the conflict.
- Redirect and referrer loss
The referrer tells analytics where a visit came from, but it is fragile. A redirect hop can replace the original referrer with the redirector's URL, and Referrer-Policy or HTTPS-to-HTTP downgrades can suppress it entirely. When the referrer is empty, the visit falls into direct; when it is the redirector's domain, it can look like a self-referral. This page explains referrer loss in transit.
- Ads vs analytics discrepancies
It is normal for Google Ads and GA4 to report different conversion and click numbers for the same campaign. They use different attribution models, count conversions at different times (Ads at click time, GA4 at conversion time), define a click versus a session differently, and apply different windows and de-duplication. This page enumerates the documented reasons the two tools diverge.
- Campaign link docs
Keep click identifiers intact through redirects.
Sources and verification notes
Last reviewed 2026-06-24. Facts are checked against primary/official sources where available; uncertain specifics are marked “Data not yet verified” rather than guessed.