SchemaValid
ENDE

UTM Checker — Validate Your Campaign URLs

Paste one or many tagged URLs. The checker reads out every parameter, flags errors and inconsistent spellings across your links, and gives you a cleaned-up version to copy.

Try an example

Also useful

Need to build new tracking links instead of checking existing ones? Use the UTM campaign builder

What the UTM checker does

It takes links you already have — from a spreadsheet, an ad platform export or a live campaign — and reads out every query parameter. It separates the UTM parameters from ad-click IDs and other tracking values, then flags anything malformed, missing or inconsistent.

The corrected version lowercases the values, encodes them properly and removes duplicates, so you can paste clean links back into your campaign.

Why the consistency check matters

Analytics is case-sensitive: "Facebook" and "facebook" are stored as two different sources. When several people build links by hand, the same channel ends up spelled several ways, and one campaign is scattered across multiple rows in your reports.

The checker compares the source, medium and campaign values across every URL you paste and points out where they only differ by case or by a short form like "fb" versus "facebook". A short form is flagged as a hint, not an error — if your team uses it on purpose and everywhere, it is perfectly consistent.

UTM parameters vs. ad-click IDs

Values like gclid, fbclid or msclkid are not UTM parameters. Ad platforms add them so their own systems can match a click to a conversion. Analytics reads them through separate integrations, so the checker lists them apart and leaves them untouched in the corrected URL.

For the exact fields Google Analytics reads, see Google's reference on custom campaign URLs.

Frequently asked questions

Why do my campaigns split into several sources in Analytics?
Almost always because the same value was spelled differently on different links. Analytics stores values exactly as written and is case-sensitive, so "Facebook", "facebook" and a short form like "fb" become three separate sources. Paste your links into the consistency check above to see which spellings you actually used.
What is the difference between gclid and utm_source?
utm_source is a label you choose and add yourself to describe where the traffic comes from. gclid is an automatic click ID that Google Ads appends; fbclid and msclkid are the equivalents for Meta and Microsoft. They are not UTM parameters — they feed platform integrations rather than the campaign fields, which is why the checker lists them separately.
Are UTM parameters case-sensitive?
The values are. "Email" and "email" are counted as two different mediums. The parameter names (utm_source, utm_medium …) must be lowercase to be recognised at all. The safest habit is to keep every value lowercase too, which the corrected output does for you.
What happens if a parameter appears twice?
A URL with, for example, two utm_source values is ambiguous: which one wins depends on the tool reading the query string, and you cannot rely on it. The checker flags duplicates and the corrected URL keeps only the first occurrence of each parameter.
Can I change UTM parameters after a link is live?
You can edit the URL wherever you control it — in an ad, an email or a button. But data already collected under the old tags stays under the old tags; changing the link only affects clicks from that point on. That is why it is worth checking links before a campaign goes out.
How do I tell if a link is tagged wrong?
Paste it above. The checker shows the base URL and every parameter, flags missing required fields, duplicates, empty values and broken encoding as errors, and raises warnings for uppercase letters, unencoded characters and internal-link tagging. If several links use different spellings for the same channel, the consistency check surfaces that too.

Related tools