UTM Bench › UTM Builder

UTM Campaign URL Builder

Fill in the destination and campaign fields to get a tagged URL. The builder warns about the mistakes that fragment reports, chiefly inconsistent capitalisation and spaces, before you publish the link.

Runs locally. What you paste never leaves this page.

What each parameter is for

ParameterAnswersExample
utm_sourceWhich specific property sent the visitnewsletter, linkedin
utm_mediumWhat kind of channel it wasemail, cpc, social
utm_campaignWhich campaign it belongs tospring-launch
utm_termThe paid keywordrunning+shoes
utm_contentWhich creative or placementhero-cta
utm_idAn identifier tying the link to a campaign record2026-spring-01

Source, medium and campaign are the three that matter. Term and content are for distinguishing variants within a campaign, and are what let you tell which of two buttons in the same email actually got clicked.

Case sensitivity is the expensive mistake

UTM values are case sensitive in every major analytics platform. Email, email and EMAIL become three separate rows in your channel report, splitting one campaign's numbers into thirds. Nothing warns you; the report simply looks wrong in a way that is easy to misread as poor performance.

The same applies to near-miss naming: facebook against fb, or newsletter against news-letter. Once a link is published you cannot retag the visits it already produced, so the convention has to be agreed before the first link goes out. Lowercase everything and use hyphens, which is what the default options here enforce.

Never tag internal links

This is the single most damaging misuse. Putting UTM parameters on a link between two pages of your own site starts a new session in most analytics tools and overwrites the original acquisition source. A visitor who arrived from an organic search, then clicked an internally tagged banner, is re-attributed away from search.

The result is that your genuine acquisition channels look weaker than they are and an internal banner takes credit for traffic it did not win. Internal promotions should be measured with events or a separate internal promotion parameter, never with UTM tags.

Do not tag organic or direct links either

Tagging a link as google/organic tells analytics the visit was organic search when the platform would have worked that out correctly on its own. All you achieve is overwriting accurate automatic attribution with a value you typed. Tag only links you place somewhere you control that would otherwise arrive with no attribution: emails, ads, PDFs, QR codes, partner placements and social posts.

A naming convention that survives contact with a team

  • Lowercase, hyphen-separated, always. No exceptions, because one exception becomes a duplicate row.
  • Fix the medium vocabulary to a short closed list: cpc, email, social, display, affiliate, referral, print. Medium is the field that feeds channel grouping, so a novel value falls into "other" and disappears.
  • Date-prefix campaign names, as in 2026-03-spring-launch, so they sort chronologically and are unambiguous a year later.
  • Write it down and keep the list of used values somewhere the whole team can see. Most tagging chaos is two people inventing different names for the same thing.

Questions

Are UTM parameters case sensitive?

Yes, in every major analytics platform. Email and email are recorded as two different values and split one campaign across two rows. Lowercase everything as a rule, which this builder does by default.

Should I put UTM tags on links within my own website?

No. Internal tagged links start a new session and overwrite the original acquisition source, so genuine channels lose credit. Use events or a dedicated internal promotion parameter instead.

Which parameters are actually required?

Source and medium are the practical minimum, and campaign should be treated as required too. Without medium the visit will not be grouped into a channel, and without campaign you cannot separate it from other traffic on the same source.

What is the difference between source and medium?

Source is the specific property that sent the visit, such as linkedin or a named newsletter. Medium is the type of channel, such as social, email or cpc. If both hold the same value, one of them is wrong.

Should I use utm_id?

Use it if your analytics platform supports importing campaign cost data, since the ID is how tagged visits are joined to spend records. If you are not importing cost, it adds length without adding insight.

Other tools