Is the Campaign URL Inspector free?
Yes. This tool is free to use with no sign-up, and it runs entirely in your browser.
Does it send the URL to a server?
No. The campaign URL is parsed and audited locally in your browser, so the link never leaves your device.
Does it score the URL?
No. The first version keeps the output practical and descriptive instead of turning the page into a scoring dashboard.
Can it flag duplicate UTM tags?
Yes. Duplicate UTM keys and missing required UTM values are surfaced clearly in the inspection summary.
When should I use it?
Use it right before a campaign link goes live or into reporting, to confirm the tracking setup is complete and free of duplicate or stray parameters.
Why is utm_content reported but never flagged as missing?
Because it is optional in practice. Source, medium, and campaign are what channel grouping and campaign reporting rely on; term and content are refinements used by some teams and ignored by others. Flagging them as missing on every link would train you to ignore the warnings.
My link has utm_campaign= with no value. Is that the same as not having it?
For this check, yes. The inspector looks for at least one non-empty value for each required key, so an empty value is reported as missing. Most analytics tools treat an empty campaign as unset too, which is how a link ends up in the '(not set)' bucket in reports.
It says my URL is clean but the campaign is still reporting as direct. Why?
The inspector reads the string; it never opens it. The most common cause of a well-tagged link reporting as direct is a redirect that drops the query string, followed by a consent or cookie banner that blocks the analytics tag before it fires. Open the link and check what is in the address bar after it settles.
Are duplicate UTM tags actually a problem?
Yes. If utm_source appears twice with different values, which analytics back end wins depends on the back end, and you will not be able to reproduce the choice reliably. Duplicates almost always mean two systems appended tags to the same link, so fix the source rather than the URL.
Does the inspected URL leave my browser?
No. The parse, the checks, and both exports run locally. Campaign URLs shared for review frequently carry click IDs that identify a real user session, so nothing here is uploaded.
Should I remove the click IDs it flags as extra tracking params?
Not from the link you are launching. gclid and fbclid are added by the ad platforms themselves at click time and are how those platforms attribute conversions. They are worth removing only when you are sharing a link that you personally clicked, since your click ID is then travelling with it.