Skip to content

UTM link auditor

Paste the links from your campaigns. Reavlo finds the naming drift that splits one source into several rows in Google Analytics.

  • Runs in your browser
  • Nothing is uploaded
  • Free, no sign-up
  • method v1.0.0
  • Updated Sep 2026

One per line. Up to 500 links.

Nothing leaves this page

Nothing on the bench yet

Paste your links, or load an example to see what a result looks like.

How to use it

Export the links from your ad platforms, newsletters and social scheduler, paste them together (one per line), and run the check before a campaign goes live. Fix critical findings first: they change how your reports count traffic.

  1. Paste every link of the campaign, including the ones you think are fine. Inconsistencies only show up side by side.
  2. Press Run check, or Ctrl/⌘ + Enter.
  3. Work from the top: each finding names the lines, shows the evidence and gives the exact fix.
  4. Edit the links in your tools, paste them again and check until nothing critical is left.

How Reavlo tests this

Each link is parsed locally, in your browser. Lines that aren't http:// or https:// addresses are skipped and listed, and never counted in the score.

For every link, Reavlo reads utm_source, utm_medium and utm_campaign from the query string and applies the rules below. Values are compared case-insensitively and without punctuation to find spellings of the same value (Facebook, facebook, face-book). A few common short forms of sources are grouped too: fb (facebook), ig and insta (instagram), li (linkedin), yt (youtube), tw (twitter). They are only grouped, never renamed.

Mediums are checked against the medium conditions of the GA4 default channel group, in lowercase: paid (cpc, ppc, retargeting, anything with cp or starting with paid), display, social, video, organic, referral, email, affiliate, audio, sms and push. Channel conditions that depend on Google's source lists aren't evaluated, so a non-standard medium is a warning, not a verdict.

RuleSeverityWhat fails it
utm.tags.in-fragmentCriticalutm_ parameters appear after # instead of in the query string
utm.source.missingCriticalA tagged link has no utm_source, or it is empty
utm.source.inconsistentCriticalThe same source is written differently (case, punctuation or a common short form like fb)
utm.medium.inconsistentCriticalThe same medium is written differently (case or punctuation)
utm.tags.missingWarningA link has no utm_ parameters at all
utm.medium.missingWarningA tagged link has no utm_medium, or it is empty
utm.medium.nonstandardWarningutm_medium matches none of the medium conditions of the GA4 default channel group
utm.campaign.missingWarningA tagged link has no utm_campaign, or it is empty
utm.campaign.inconsistentWarningThe same campaign is written differently (case, spaces or punctuation)
utm.value.not-lowercaseInfoA source, medium or campaign contains capital letters
utm.value.spacesInfoA source, medium or campaign contains a space

The score starts at 100. Each link carries a penalty for the worst finding that touches it: critical 0.6, warning 0.3, info 0.1. For spelling findings, only the links that differ from the suggested value are touched; links that already use it pass. The score is 100 × (1 − average penalty per link), rounded. Below 60 is Needs work, 60–84 Solid, 85 and above Strong. A result always shows its engine version, so two checks are only compared when their versions match.

Limits. The check reads the links you paste. It doesn't open them, and it can't see redirects, tags added later by an ad platform, or how your GA4 property is configured.

Questions

Does Reavlo see my links?

No. The check runs in your browser and nothing you paste is sent to a server or stored. If Google Analytics is enabled on this site, it only records that the tool ran, never your links.

Why is “Facebook” different from “facebook”?

Analytics reports show values exactly as they were written. Two spellings become two rows, and the traffic from one source ends up split between them.

Which UTM tags do I need?

At least utm_source, utm_medium and utm_campaign. utm_term and utm_content are optional and aren't scored.

Is the score a benchmark against other sites?

No. It only measures the consistency of the links you pasted, with the rules above. The method and its version are published so the number means the same thing every time.