UTM builder

Build campaign URLs with saved presets and a naming convention that locks itself in, so two people tagging the same campaign produce the same parameters.

The five parameters

  • utm_source — where the traffic came from. newsletter, google, a partner's name.
  • utm_medium — the channel. email, cpc, social.
  • utm_campaign — which campaign. spring-launch.
  • utm_term — the paid keyword. Optional, and mostly vestigial.
  • utm_content — which creative or link position, for A/B splits.

Source, medium and campaign are the ones that matter. A URL carrying only utm_campaign arrives in most analytics tools as direct traffic, which is the same as not tagging it at all.

Why the naming convention lock is the whole feature

UTM values are case-sensitive and matched as exact strings. Email, email and e-mail are three different sources in every report, forever, and no amount of later cleanup merges them retroactively.

One person tagging inconsistently across a quarter produces a report nobody can read. The lock normalizes every value to lowercase and hyphen-separated as you type, so two people tagging the same campaign produce the same URL.

Presets stay in your browser

Saved presets are written to this browser's local storage. They are not uploaded, not synced, and not visible to us — which also means they do not follow you to another machine.

Where not to use UTM tags

Not on internal links between pages of your own site: the tags overwrite the original attribution, and the visit gets re-credited to your own navigation. They are for inbound links only.

Occasional email

New tools, when there are new tools

No more than once a month, no tracking pixels in the mail, one-click unsubscribe.