UTM checker and URL parser

Paste a tagged link to split it into parts and find what would stop it tracking. You get the problems in plain words, the predicted GA4 channel and a clean copy of the link.

This link

2 to fix, 1 to check

The same link with UTMs, click IDs and email addresses removed

https://www.example.com/pricing

This reads the text of the link and never opens it, so it can’t see redirects.

Sample link with problems in it. Paste yours over it.

Predicted GA4 channel
Paid Social
Domain
www.example.com
Path
/pricing
Length
124 characters
  • Fix: utm_campaing isn’t a UTM key. Did you mean utm_campaign?
  • Fix: utm_content still holds a macro. The ad platform never filled it in.
  • Check: utm_source has capitals. GA4 treats Google and google as two values.
  • Note: No utm_id. Google recommends it, and it’s what cost joins on.

Parameters

utm_source
Facebook
utm_medium
paid_social
utm_campaing
2026_11_launch
utm_content
{{ad.id}}

Runs in your browser with no sign-up. This page loads no ad tags and no session recording, and we only record that the tool was used. A copied link carries your link after the #, so share it only with people you’d show it to.

How to use the UTM checker

  1. Paste the link, or several links, one per line. Use the final link, copied from the address bar after a test click.
  2. Read the problems at the top. Red breaks tracking or reporting, and amber is worth a look.
  3. Check the predicted GA4 channel against the channel you expected.
  4. Copy the clean link if you need the page without its UTMs and click IDs.

What does the UTM checker look for?

It reads the text of the link against Google’s campaign URL guidance and GA4’s channel rules. It flags missing parameters, typos in the keys, macros that never filled in, repeated keys, capitals, personal data and links over GA4’s limit. It doesn’t open the link, so it can’t see redirects.

What does the UTM checker look for?
What it findsExample
A required parameter is missingGA4 shows (not set). Google Analytics Helpno utm_medium
A value has capitalsValues are case sensitive. Google Analytics HelpFacebook
A Meta macro never filled inLeft in the link as text. Meta for Developers{{campaign.name}}
A TikTok macro never filled inLeft in the link as text. TikTok Business Help Center__CID__
A pair lands in UnassignedNo GA4 rule matches. Google Analytics Helpx / qr
The link is too longEncoded length, for page_location. Google Analytics Helpover 1,000

How do I check if my UTM parameters work?

Open a private window, click the real link and copy the final address after any redirects. Paste it here to check the text. Then look in GA4 Realtime, or wait a day and compare the session source, medium and channel with the channel you expected.

Why are my UTM parameters not showing in GA4?

The usual causes are a redirect that drops the query string, UTMs placed after the # sign, or a page that strips parameters before the GA4 tag loads. Paste the final landing URL here. If the UTMs are there and GA4 still misses them, check consent and tag order next.

Are UTM parameters case sensitive?

Yes. Google says utm_source=google and utm_source=Google count as different values, and it recommends lowercase. GA4’s channel rules aren’t case sensitive, so the channel stays the same, but your reports split one source across two rows and any cost join on those values can miss.

What happens if a UTM is after the # in a link?

Everything after the # is the fragment, and browsers don’t send it to the server. Tools that read the query string won’t see those UTMs at all. Move them before the #, so the link reads page?utm_source=x#section. This checker flags it and treats those values as UTMs, so you can see them.

Can a URL hold personal data?

It can, and it shouldn’t. An email or phone number in a URL ends up in analytics, server logs and referrers. This checker flags email addresses in any parameter and masks them on screen. It also flags long runs of digits in UTM values, because those are often phone numbers or CRM IDs.

What are the parts of a URL?

A URL has a scheme like https, a domain, a path, a query string after the ?, and a fragment after the #. The query string holds parameters as key=value pairs joined by &. This parser splits each of those out, decodes the values and labels UTMs and click IDs.

If links keep breaking, the cause is usually upstream. Our analytics and tracking work finds it and fixes it at a fixed price.

Add this tool to your site

Paste this where you want it. It stays free and sends no tracking from your site.

HTML
<iframe src="https://www.martechdevs.com/embed/utm-checker" title="UTM checker" width="100%" height="900" style="border:0;max-width:760px" loading="lazy"></iframe>
<p style="font-size:13px">Free tool by <a href="https://www.martechdevs.com/tools/utm-checker">martechdevs</a></p>

Sources

Last updated

Guides on UTMs and GA4

Read all guides

Want it set up for you? See implementation plans or book a free call.