Overview
Introduction
A link that's been shared, shortened, or forwarded through several tools can end up with a long, unreadable query string. It's not always obvious which parameters are UTM tracking, which are something else, and what the actual destination page is underneath it all.
This tool parses a pasted URL and separates that out clearly: the standard UTM fields, any non-standard utm_ parameters, everything else, and the bare base URL.
What Is UTM Parser?
A URL parser focused specifically on campaign tracking parameters. It reads every query parameter on a URL, buckets each one as either a utm_* parameter or something else, and pulls out the base URL with the entire query string removed.
It doesn't limit itself to the five standard UTM fields; any parameter key starting with utm_ is captured, since real-world URLs sometimes carry platform-specific variants beyond the standard set.
How UTM Parser Works
The pasted string is parsed with the browser's native URL constructor, which throws on malformed input, giving a clear error rather than a silent partial parse.
Its query parameters are read via URLSearchParams.entries() and split into two buckets by checking whether each key starts with utm_ (case-insensitively), then the five standard fields are pulled out by exact key match for the labeled summary view.
When To Use UTM Parser
When you've received a tracking link (from a report, a shared doc, or a colleague) and want to quickly see what campaign it's tagged with without manually reading a long query string.
While auditing whether links generated by a marketing tool or CMS plugin are tagging campaigns consistently, by pasting a sample of them one at a time.
Often used alongside UTM Builder.
Features
Advantages
- Surfaces non-standard utm_ parameters (like utm_id) that a tool only checking the five standard fields would silently miss.
- Separates UTM parameters from unrelated query parameters, so you can see the full tracking picture on a link rather than just the UTM slice of it.
- Clearly labels a missing standard field as "not found" rather than leaving it blank, so an incompletely tagged link is obvious at a glance.
Limitations
- It only inspects the URL string itself; if a link is shortened (bit.ly, a redirect service), the UTM parameters live on the destination URL after redirect, not on the short link you'd paste in here.
- Parameter values are shown exactly as decoded from the URL; it doesn't validate that a utm_source or utm_medium value matches any particular naming convention your team uses.
Examples
Best Practices & Notes
Best Practices
- Check parsed links after any redirect or link-shortening step in a campaign's pipeline, since a misconfigured redirect can silently drop query parameters.
- When auditing a batch of links, look for inconsistent capitalization or spelling in utm_source/utm_medium values across otherwise-identical campaigns, since those get counted as separate values in analytics.
Developer Notes
parseUtmUrl() buckets every query parameter by checking key.toLowerCase().startsWith('utm_') rather than hardcoding the five standard names, so it naturally captures non-standard extensions like utm_id without special-casing them.
UTM Parser Use Cases
- Auditing a marketing tool's or CMS's auto-generated links for consistent UTM tagging
- Decoding a long, hard-to-read tracking URL received from a colleague or report to see what campaign it's tied to
- Confirming a link-shortening or redirect step in a campaign pipeline preserved its UTM parameters
Common Mistakes
- Assuming a URL has no UTM tagging just because it looks short, when parameters can be present but visually easy to miss in a long query string.
- Overlooking non-standard utm_ parameters (like utm_id) because a quick manual read only checks for the five familiar names.
Tips
- Paste the final destination URL, not a shortened link, since UTM parameters travel with the actual URL, not the shortener's redirect address.