Free tool · no sign-up

Check your tagged links before they go out

Paste one link or a whole column from the campaign spreadsheet. You'll see the capital letters, spaces, misspelled and repeated tags that turn one channel into three rows in your reports, and get a cleaned list to paste back.

Nothing you paste leaves this page. Rows copied from a spreadsheet are fine: we pick out the link in each row.

6 links: 5 cleaned, 1 to look at, 1 fine as it is

Across the list

utm_source was typed 2 ways ("Newsletter", "newsletter"). Analytics would list each one separately. The cleaned list uses newsletter for all of them.

utm_medium was typed 2 ways ("Email", "email"). Analytics would list each one separately. The cleaned list uses email for all of them.

utm_campaign was typed 2 ways ("Oct Workshop", "oct-workshop"). Analytics would list each one separately. The cleaned list uses oct-workshop for all of them.

utm_campaign has "oct-workshop" and "oct_workshop". If they mean the same thing, pick one: we can't tell which, so the cleaned list keeps both.

Sources after cleaning

  • newsletter2
  • cafe-flyer1
  • facebok1
  • instagram1
  • partner-blog1

Mediums after cleaning

  • email2
  • social2
  • qr1
  • referral1

Campaigns after cleaning

  • oct-workshop4
  • oct_workshop1
  • https://www.example.com/workshop?utm_source=Newsletter&utm_medium=Email&utm_campaign=Oct Workshop

    https://www.example.com/workshop?utm_source=newsletter&utm_medium=email&utm_campaign=oct-workshop

    • Fixedutm_source=Newsletter has capital letters. Now newsletter.
    • Fixedutm_medium=Email has capital letters. Now email.
    • Fixedutm_campaign=Oct Workshop has capital letters and spaces. Now oct-workshop.
  • https://www.example.com/workshop?utm_source=newsletter&utm_medium=email&utm_campaign=oct-workshop

    Nothing to fix.

    • www.example.com/workshop?UTM_Source=instagram&utm_medum=social&utm_campaign=oct_workshop

      https://www.example.com/workshop?utm_source=instagram&utm_medium=social&utm_campaign=oct_workshop

      • FixedNo https:// at the start. Added it.
      • FixedUTM_Source isn't written the way analytics tools look for it (lower case, underscore). Renamed to utm_source.
      • Fixedutm_medum isn't a tag analytics tools read. Renamed to utm_medium.
    • https://www.example.com/workshop?utm_source=facebok&utm_medium=social&utm_campaign=oct-workshop&utm_source=facebook

      https://www.example.com/workshop?utm_source=facebok&utm_medium=social&utm_campaign=oct-workshop

      • Fixedutm_source is there twice with different values (facebok and facebook). Kept the first; check which one you meant.
    • https://www.example.com/workshop&utm_source=cafe-flyer&utm_medium=qr&utm_campaign=oct-workshop

      https://www.example.com/workshop?utm_source=cafe-flyer&utm_medium=qr&utm_campaign=oct-workshop

      • FixedThe tags start with & and there is no ? before them, so they were part of the page address. Changed the first & to ?.
      • Noteutm_medium=qr isn't a medium Google Analytics 4 sorts into a channel, so GA4 files these visits under "Unassigned". Fine if you read the source and campaign columns, or use another tool.
    • https://www.example.com/workshop?ref=partner&utm_source=partner-blog&utm_medium=referral

      https://www.example.com/workshop?ref=partner&utm_source=partner-blog&utm_medium=referral

      • Fixed& where a plain & should be (copied from HTML). The tags after it weren't being read.
      • CheckMissing utm_campaign. Reports will show (not set) there.

    What it looks for, and why it matters

    Analytics tools compare tag values letter by letter. Google's own help page says it plainly: utm_source=google is different from utm_source=Google. So a campaign typed as Oct Workshop in one row of a spreadsheet and oct-workshop in another shows up as two campaigns, each with half the visits, and nobody notices until the report is due.

    Fixed means the cleaned link is different: values in lower case, spaces replaced, a misspelled tag such as utm_medum renamed, a repeated or empty tag removed, a stray & or a second ? put right. Check is for things only you can decide: a missing source, medium or campaign, two values that look like the same thing, a medium that looks like a place. Noteis for a medium Google Analytics 4 doesn't sort into one of its channels.

    Two tags are treated differently on purpose. utm_id keeps its capital letters, because ad platforms issue it and match on it exactly. utm_termkeeps its spaces, because it's a search phrase. Everything that isn't a utm tag is left exactly as you pasted it.

    Starting a new campaign? The campaign link set builder writes the tags the same way for every place and gives each one a short link with its own click count. The reasoning is in one short link per flyer, post and podcast.