GUIDE

UTM Parameters Stripped or Missing? Common Causes & Fixes

A visitor clicks an ad with a clean, fully-tagged URL — gclid, utm_source, all of it — and somewhere between the click and the landing page, it's gone. Here's where that usually happens.

1. A redirect that doesn't forward the query string

By far the most common cause. If the ad's destination URL redirects anywhere — a bare domain to www, an old URL to a new one, an A/B testing tool routing traffic — that redirect has to explicitly carry the query string forward. A lot of simple redirect rules (especially ones set up manually in a CMS) only redirect the path, silently dropping everything after the ?.

Fix: Check whatever's issuing the redirect (server config, CMS redirect rule, A/B testing tool) and confirm it preserves query parameters by default — most platforms have a setting for this, it's just often off.

2. "Clean URL" JavaScript

Some sites run client-side JavaScript that tidies up the URL bar after page load — removing what looks like clutter. If that script isn't specifically written to exclude tracking parameters, it will happily strip gclid and UTM params right along with anything else it considers noise, after the page has already loaded (so it can look fine on a quick manual check, and still be broken for real tracking).

Fix: Search the site's JS for anything touching history.replaceState or window.location, and explicitly exclude known tracking parameter names from whatever it's cleaning.

3. Third-party embeds and iframes

A booking widget, chat tool, or embedded form running inside an iframe often doesn't inherit the parent page's URL parameters at all — it's a separate browsing context. If conversion tracking depends on that embed seeing the original click ID, it may simply never have access to it.

4. Auto-tagging conflicts (Google Ads specifically)

If Google Ads auto-tagging (gclid) is enabled and the ad's Final URL also has manual UTM parameters pasted in, the two can conflict depending on how the URL was built — sometimes overwriting each other rather than combining cleanly. Worth checking the actual URL a real ad click lands on, not just what's configured in the ad platform.

How to check this on a specific page

Want this checked automatically against your actual landing pages?

Run a free check on your own site →
← Back to all guides