Overview
Introduction
A link that's been shared around, shortened, or forwarded through several tools can end up with a long, unreadable query string, and it's not always obvious just by looking at it 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.