Free tool

Free UTM Link Checker & Validator

Paste a tagged URL and find the mistakes that quietly split a campaign in two — mixed case, stray spaces, duplicated parameters, missing source or medium, and encoding errors.

  • Free, no sign-up
  • Runs in your browser

What this tool does

The damage from a bad UTM tag is not an error message, it is a report that looks fine and is wrong. Two spellings of the same campaign become two rows, each with half the numbers, and nobody notices until somebody asks why the totals do not add up.

At a glance

Checks An existing URL for missing, duplicated, mixed-case and whitespace-damaged UTM tags
Catches The drift that splits one campaign into several rows in your analytics report
Where it runs In your browser. The URL is never sent anywhere
Cost Free, no limits on how many you make
Sign-up None. No account, no email address
A desk with a laptop, a notebook and a printed sheet of QR codes beside a coffee cup.
A campaign is a link, a tag and a code. Get the tag right before the code is printed.

How it works

1

Paste the link

Any URL with query parameters. It can come from a spreadsheet, an email, or a QR code you decoded.

2

See every parameter broken out

Each tag is listed with its decoded value, so an encoded space or a doubled parameter is visible instead of buried in one long string.

3

Fix what is flagged

Problems are graded: things that will split your reporting, things that are merely untidy, and required tags that are missing altogether.

Good to know

  • utm_source and utm_medium are the two that matter. Without both, most analytics platforms cannot attribute the visit at all and quietly fall back to direct.
  • A capital letter is the most expensive character in a UTM tag. Analytics is case-sensitive on values, so Summer and summer are two campaigns.
  • A raw space becomes %20 and reads as part of the value. Use a hyphen; an underscore also works but reads badly in reports.
  • This validates the tags, not the destination. It does not open the link or check that the page exists.

Need an editable, trackable QR?

A dynamic Qrindo code keeps the same printed image but lets you re-point it any time and tracks every scan, geo, device, and live.

Frequently asked questions

Are UTM parameters case-sensitive?

The parameter names are not, but the values are, in every major analytics platform. "Poster" and "poster" become two separate sources and split one campaign’s numbers across two rows.

Which UTM parameters are actually required?

Source and medium. Campaign is strongly advisable because without it you cannot group anything. Term and content are optional and are usually noise unless you have a specific report that reads them.

What happens if the same parameter appears twice?

Behaviour differs by platform — some take the first value, some the last, and some record the whole thing as a literal string. It is never what you intended, which is why this is flagged as a blocking problem rather than a tidiness one.

Why is one campaign showing up as several rows in my report?

Casing or spacing drift, almost always. Summer_Sale and summer_sale are two different campaigns to every analytics tool, and so are qr and QR, and so is a value with a trailing space. This page finds all three in a URL you paste.

Still not sure about something? Read the full FAQ →