UTM Campaign Builder

How to use 3 steps
  1. Enter the Destination URL.
  2. Fill in Campaign source, Campaign medium and Campaign name; term and content are optional.
  3. Press Build URL, then Copy the tagged link.
The page the link should land on.
Distinguishes two links pointing at the same URL.
Campaign URL

Source, medium and campaign are the three parameters analytics platforms need; the other two are optional. Lower case is on by default because Email and email are counted as two separate mediums in most reports, which quietly splits a campaign in half.

How this tool works

UTM parameters are read by your analytics, not by search engines. They record where a visit came from in the cases where the referrer alone cannot say — a link in an email, a PDF, a QR code on a poster, a paid placement.

Source, medium and campaign are required, because a visit missing any of the three arrives in analytics as unattributed and is effectively lost. Term and content are optional. The lower-case option matters more than it appears: analytics treats Facebook and facebook as two different sources, which quietly splits one campaign across two rows in every report you build afterwards.

Naming that still makes sense in six months

  • Agree the vocabulary once and write it down: source is where the click came from, medium is how it was delivered, campaign is why. Without a written convention, three people produce three spellings of the same thing.
  • Never tag internal links: a UTM on a link between two of your own pages starts a fresh session and attributes the visit to yourself, overwriting the real source.
  • Keep the parameters off canonical URLs: each combination creates another address for the same page. A self-referential canonical without the parameters resolves it.
  • Assume they are public: the parameters sit in the address bar, get copied into messages and posted in forums. Nothing internal or confidential belongs in a campaign name.

Five parameters, and only three matter

UTM parameters are query strings appended to a URL that analytics tools read to attribute a visit. They are not standardised by anyone — they are a convention from an old analytics package that everything now supports.

  • utm_source — where the traffic came from: newsletter, twitter, partner-site. Required.
  • utm_medium — the kind of channel: email, social, cpc, referral. Required, and the one most often filled in wrongly.
  • utm_campaign — which effort this belongs to: spring-sale, launch-2026. Required in practice.
  • utm_term — the paid keyword. Only relevant to search advertising.
  • utm_content — which variant of a link: header-cta, footer-link. Useful for A/B testing and for telling two links in the same email apart.

The [msm_tool slug="utm-builder"] assembles them, and can lowercase everything, which is the single most valuable option it has.

Case sensitivity ruins reports

Analytics tools treat Facebook, facebook and FaceBook as three different sources. Nothing warns you; the report simply has three rows where it should have one, and every number is a third of what it should be.

This happens constantly, because different people build links at different times. The defence is to lowercase everything, always, without exception — and to write it down somewhere so the next person does the same.

Agree a convention and keep it

The parameters are free text, which means consistency is entirely up to you and there is nothing to enforce it.

Decide, in writing:

  1. The medium values you allow. A short fixed list — email, social, cpc, referral, affiliate. Not Email Newsletter one week and e-mail the next.
  2. A separator. Hyphens throughout, and never a mix of hyphens and underscores.
  3. A campaign naming pattern. Something like 2026-03-spring-sale, which sorts chronologically in a report.
  4. Who builds links. Shared links built ad hoc by five people produce five conventions.

Keep a shared sheet of every campaign link you create. It is dull and it is the difference between analytics you can use and a list of near-duplicate rows.

Never tag internal links

The most damaging mistake with UTMs, and it looks harmless.

Adding UTM parameters to a link between two pages of your own site starts a new session and reattributes the visitor to the new source. Someone who arrived from a search result and clicked an internal tagged link is now recorded as arriving from that tag — the original attribution is destroyed, and the conversion is credited to the wrong place.

UTMs are for traffic arriving from outside. For tracking internal clicks, use events.

They are public

The parameters sit in the address bar. Visitors see them, they get copied when someone shares the link, and they end up in other people's analytics.

Two consequences: do not put anything confidential in a campaign name, and expect tagged links to be shared onward, which inflates the source you tagged. Internal names like test-audience-b-cheap-list have escaped into public view more than once.

Length

A tagged URL over about 2,000 characters risks being truncated by some browsers and email clients. That is rarely reached with sensible names and easily reached when campaign values are sentences.

Short, lowercase, hyphenated. Everything else follows from that.

Frequently Asked Questions

Specific to the UTM Campaign Builder. Broader questions about this category are answered on the category page.

Not in themselves. They do create additional URLs for the same content, which is handled by a self-referential canonical tag pointing at the clean address. Keeping tagged URLs out of your sitemap and internal links is the other half of it.
Source, medium and campaign. Analytics platforms will accept a URL with only some of them, but the resulting visit is difficult to attribute and usually ends up grouped with traffic you cannot identify.
Values are case-sensitive, so Newsletter and newsletter are counted separately. The lower-case option exists because that split is easy to create and tedious to repair after the fact.
No. Doing so restarts the session and replaces the original acquisition source with your own tagged link, which corrupts exactly the data the parameters exist to collect.
Yes. Matomo, Plausible, Fathom and most other analytics platforms read the same five parameters, because the convention long predates any single product.

Subscribe to receive notifications about new tools, features, and productivity tips.