Raydar free tools

Audit a whole set of campaign links at once.

Every UTM tool builds one link at a time. This one checks a set of them against each other, which is where the expensive mistakes actually live. Paste your links and nothing leaves your browser.

The interactive tool loads with this page and runs entirely in your browser.

The mistake that only exists across a set

Tag a single link wrong and you notice. Tag six links slightly differently over three months and you never notice, because each one looks perfectly reasonable on its own. That is the failure this tool exists for, and it is invisible to any builder that works one link at a time.

The mechanism is simple and unforgiving. Analytics platforms group campaign values by exact string match. They are case-sensitive and they do no fuzzy matching whatsoever. So facebook, Facebook and FB are not one source with the combined traffic of all three. They are three separate rows, each carrying a third of the sessions, each looking too small to be worth defending in a budget conversation. Nothing warns you. The report is correct; the tagging was not.

The same thing happens to campaigns through separators. spring_sale and spring-sale are different strings, so they are different rows, and the split is invisible unless you are looking at every value side by side. Which is exactly what the table above does.

What this checks, and why each one matters

  • Capitalisation drift. The same value written with different capitalisation. The highest-frequency and highest-cost finding, because it is the easiest one to introduce by hand.
  • Separator drift. Underscores against hyphens against spaces. Same idea, different cause, usually two people following two conventions.
  • Typo-level near duplicates. Two values one or two characters apart. Flagged, never auto-corrected, because only you know which spelling was intended.
  • Surrounding whitespace. A leading or trailing space survives URL encoding and creates a bucket that looks identical to the correct one in every report you will ever read.
  • Empty values. A parameter present with nothing after the equals sign, which is worse than leaving it off, because it creates a real grouping bucket containing nothing.
  • Parameters set on some links but not others. Checked for the five UTM fields only. Flagging every one-off click ID as missing everywhere else would bury the findings that matter.

Why it does not fix everything it finds

The corrected output normalises the three things where the right answer is unambiguous: capitalisation, separators and whitespace. It deliberately leaves two alone.

Near-duplicates are left because a tool cannot know whether spring_sale and spring_sail are a typo or two genuinely different campaigns, and quietly merging them would corrupt data in a way that is very hard to notice later. Missing parameters are left for the same reason: guessing that a link with no utm_medium should inherit the medium from its neighbours is a decision about your taxonomy, not a formatting fix. Abbreviations get the same treatment, which is why FB is not silently rewritten to facebook. It might be deliberate.

The convention is the actual fix

Auditing catches drift after it happens. The thing that stops it happening is a written convention that everyone tagging links follows: pick lowercase, pick one separator, write down the allowed values for source and medium, and keep that list somewhere the whole team can see before they build a link rather than after. A shared sheet beats any tool here, because the failure is human coordination rather than technology.

Once the convention exists, this page is the check that it is being followed. Run a quarter's links through it and the findings tell you whether the convention survived contact with reality.

Where this sits next to the other tools

Build individual links with the UTM builder, which handles the ad-platform macros and keeps a local history. Use the link decoder when you want to understand one URL in depth rather than compare many, including the click IDs that ad platforms add on top of your own tags. If you are unsure what belongs in each field in the first place, utm_source against utm_medium and UTM naming conventions both take a position rather than hedging. And the UTM builder comparison is honest about when a spreadsheet beats any tool, including this one.

Other free tools

Questions

Are my campaign links uploaded anywhere?

No. The parsing and comparison run entirely in your browser, so nothing you paste is sent to Raydar or stored. Closing the tab clears it.

Why does capitalisation matter so much in UTM tags?

Analytics platforms group campaign values by exact string match, and that match is case-sensitive. facebook and Facebook become two separate rows that each show part of the traffic, so a campaign that worked can look like two campaigns that half worked.

Is there a limit on how many links I can check?

No limit and no signup. The work happens on your own machine, so there is nothing for us to meter.

Why does it flag a possible typo instead of just fixing it?

Because a tool cannot tell a typo from two genuinely different campaigns with similar names. Merging them automatically would corrupt your data in a way that is very hard to spot afterwards, so those are surfaced for you to decide.

Will it rewrite FB to facebook?

No. An abbreviation is usually a deliberate choice rather than a mistake, so it is left alone. Only capitalisation, separator and whitespace differences are normalised in the corrected output.

What should I do about parameters missing from some links?

Decide whether that field belongs in your convention at all. If it does, retag the links that lack it. If it does not, drop it everywhere so your reports stop showing a half-populated column.