UTM Validator + Governance Linter
Paste your tagged URLs and catch case inconsistency, duplicate tracking signatures, and gclid/manual-tag conflicts before they cost you a reporting month.
How to use
Paste your URLs
One tagged URL per line — from any campaigns, any platform.
We check governance
Case inconsistency, duplicate campaign signatures, and gclid/manual-tag conflicts.
Fix before you launch
Catch tracking bugs before they cost you a reporting month.
Paste URLs above to lint them.
What we check
- Case inconsistency — the same source/medium/campaign value spelled with different capitalisation across your URLs (most analytics platforms treat these as separate values, splitting one channel into several report rows)
- Duplicate UTM signatures — two different URLs sharing the exact same source+medium+campaign+term+content combination, which makes their traffic indistinguishable in reports
- gclid / manual-tag conflicts — a URL carrying both Google Ads auto-tagging (
gclid) and manualutm_source/utm_mediumtags, which can conflict depending on your analytics setup - Missing attribution — a URL with neither
utm_sourcenorgclid, which will land in “(direct)” or “(not set)” in most analytics tools
Related tools
- UTM Campaign URL Builder — Build correctly-tagged URLs from the start, before they need linting
- ValueTrack Builder — The Google Ads-specific tracking template alternative to plain UTM tags
- GA4 vs Google Ads Discrepancy Explainer — Governance issues caught here are a common cause of the two platforms disagreeing
Last updated: 19 August 2026 · Built by the CWA Europe PPC team.