UTM Checker – Validate and Decode UTM Links

Paste any campaign link to see exactly what Google Analytics will read from it, catch the mistakes that silently break tracking, and get a cleaned-up version in one click.

URLs are checked in your browser and never sent to a server.

What the UTM checker looks for

Checks performed
ProblemWhat happens in analytics
Two question marksThe first UTM parameter is glued to the previous value; source is lost and the visit counts as Direct or Referral.
UTM tags after the #fragmentBrowsers never send the fragment, so none of the tags are recorded.
Missing source, medium or campaignReports show “(not set)” or the visit falls into the wrong channel.
Capital letters or spaces“Email” and “email” become two rows; spaces show up as %20 or +.
Uppercase parameter namesUTM_SOURCE is not recognised at all – only lowercase names work.
Duplicate parametersUsually only the first value is used, which is rarely the one you meant.
Double encoding (%2520)Values were encoded twice and appear with literal %20 in reports.
Unrecognised mediumGA4 reports the traffic as “Unassigned”.

It also lists non-UTM parameters, ad-platform click IDs such as gclid, fbclid and msclkid, and the fragment, so you can see the complete structure of the link at a glance.

Check the URL people actually land on

A perfectly built link can still lose its tags along the way. Redirects that drop the query string, consent banners that reload the page, and link-tracking in email platforms can all strip or rewrite UTM parameters. Click your link, copy the address from the browser bar once the page has loaded, and paste that into the checker as well – if the tags are gone, the problem is in the redirect chain, not the link.

UTM checker FAQ

Can I check many links at once?

Yes – paste up to 200 URLs, one per line. Each gets its own report card.

What does “Edit in builder” do?

It opens the UTM builder with the link’s base URL and UTM values filled in, so you can fix a value and generate a corrected link.

Does the checker visit my URLs?

No. It analyses the text of the URL in your browser and never requests the page.