Cherry Seed

How do I hide UTM parameters from ad blockers?

utm ad-blockers first-party server-side campaign-tracking attribution

Quick Answer

Ad blockers don't usually strip UTM parameters from URLs; they block the third-party tracking scripts and requests that read them. So the fix isn't disguising the utm_* tags, it's capturing them server-side before any blocked script needs to run. When your server reads the parameters on the first page request and stores them against the session, a blocked analytics tag becomes irrelevant, the data is already safe. Studies put client-side tracking loss from blockers and privacy tools at 20-40% of events, which is the gap server-side capture closes.

Full Answer

There's a common misconception baked into the question. Mainstream ad blockers operate by blocking network requests to known tracker domains and preventing their scripts from executing; they rarely rewrite your own site's URLs to remove utm_source and friends. So a campaign visitor usually still arrives with the UTM string intact, the problem is that the analytics or pixel script meant to read and send it never gets to run.

That reframes the solution. Instead of trying to make parameters "invisible", you capture them where no blocker can reach: on your server, during the first request. WordPress can read the query string in an early hook, persist the UTM values to the session or order before checkout, and stop depending on a browser tag firing at all. The values then travel with your server-side events to GA4 or ad platforms regardless of what the visitor's browser blocks.

There's a related technique, first-party encoded links, that helps with the stricter privacy tools which do strip known parameters. Routing campaign clicks through your own domain and decoding short, non-obvious tokens server-side avoids the pattern-matching that flags standard utm_* names. But the foundational move is the same: read attribution server-side at the door, treat the browser as an unreliable courier, and the 20-40% of events that blockers would otherwise cost you stays on your books.

Sources

Programmatic Access

GET https://seresa.io/wp-json/cherry-tree-by-seresa/v1/seeds/765

Cite This Answer

Cherry Tree by Seresa - https://seresa.io/seed/utm-attribution/protect-utm-s2