In this guide
- Most lost UTMs are dropped by a redirect (http to https, www, trailing slash, short link or language redirect).
- Fix the redirect rule to keep the query string, and store the UTMs in a first-party cookie on arrival as a fallback.
- Cross-domain checkouts need linker parameters or server-side joining.
You build a link with a careful campaign name, and the report shows "direct". Somewhere between the click and the page, the parameters were lost. This page lists the usual causes, how to find the hop that does it and how to prevent it. It is a companion to ad tracking and attribution tracking.
Find where it happens
Copy the exact ad link
With all UTMs.
Follow it hop by hop
Use a tool that shows redirects, or curl -I -L and read each Location header.
Note where the query disappears
The hop after which ?utm_source= is gone.
Check the hop's rule
A server rule, a CDN rule, a shortener or an app.
curl -sIL "https://yourstore.com/?utm_source=meta&utm_campaign=test" | grep -i "^location\|^HTTP"Brands that grow on cleaner data
Stores and agencies use Open Tracked to see which ads earn the sale.
Common causes and fixes
return 301 https://$host$request_uri; in nginx.Keep a first-party copy
Even with perfect redirects, you should not depend on the URL later in the visit. On the first page view, read the UTMs and click IDs and store them in a first-party cookie or session storage. A server container can do it too, and set the cookie from your own subdomain so it lasts longer. At conversion, read the stored values. Open Tracked's Click ID Restorer and Cookie Keeper (every plan) help keep click IDs and cookies available for the order or lead. See Safari ITP.
Ask Ari instead of digging through reports
Ari reads your tracking and ad data and answers in plain words.
Prevent it
- Test every new ad link end to end before launch.
- Use one UTM scheme and lower-case values.
- Avoid unnecessary redirects.
- Re-test after changes to hosting, CDN, plugins or checkout.
Raw events in. Clean events out.
Open Tracked collects each event on your own domain, removes the noise and sends what is left to Meta, Google Ads, TikTok.
Frequently asked questions
Why do my UTM parameters disappear?
A redirect, link shortener, plugin, app or security rule removes the query string.
How do I find which hop drops them?
Follow the link hop by hop with curl or a redirect checker and see where the query disappears.
How do I keep UTMs for later?
Store them in a first-party cookie or session storage on arrival.
Does Safari remove UTMs?
Safari removes some known click ID parameters in some cases. UTMs are usually kept, but redirects can still drop them.
How do I handle cross-domain checkouts?
Use linker parameters or join sessions on the server.
Do I need spreadsheets to read my results?
No. Once tracking is live, the Open Tracked analytics shows spend, revenue, ROAS and profit, and you can ask Ari, the built-in AI assistant, questions about your own numbers in plain words. Ari's allowance depends on your analytics plan.
Is Open Tracked different from Open Track or Open Space Track?
No. Open Tracked is the official name of our server-side tracking platform, and the website is opentracked.io. Many people search for it as Open Track, OpenTrack or Open Space Track. All of them lead to the same product: server-side Google Tag Manager hosting, first-party analytics and a CRM pipeline.

Fix your tracking at the source
Open Tracked hosts your server-side Tag Manager, keeps first-party cookies alive and shows what each ad is really worth.
The Open Tracked team
We build Open Tracked: server-side tracking hosting, analytics and the tools around them, for stores that spend on ads. Questions about this guide, or an idea for the next one?
Comments
Loading comments...











