webtracking.org

Campaign URL / UTM Standard

version 1.0.0 · status stable · updated 2026-06-07

Most analytics messes start at the link. Inconsistent utm_* values fragment channels, break attribution, and make cross-tool reporting impossible. This is an open standard you can adopt, cite, and enforce with the free UTM & Campaign Governance tool.

The parameters

ParameterRequiredRule
utm_sourceyesLowercase, the specific origin (newsletter, linkedin, partner-acme).
utm_mediumyesA value from the controlled channel vocabulary (see below).
utm_campaignyes{yyyy}-{quarter}-{initiative}-{geo?}, lowercase, hyphen-delimited.
utm_contentoptionalCreative/variant identifier for A/B differentiation.
utm_termoptionalPaid-search keyword only.

Controlled medium vocabulary (v1)

organic · paid-search · paid-social · organic-social · display · email · affiliate · referral · sms · push · partner · sponsorship

Anything outside this set is a validation error, not a new channel.

Rules

  1. Lowercase, hyphen-delimited. No spaces, no camelCase, no %20.
  2. No PII in any parameter, ever.
  3. utm_medium must map to exactly one entry in your channel grouping.
  4. Campaign names are immutable once live — append, never rewrite.

Versioning

This spec is versioned. Breaking changes to the vocabulary increment the major version. The downloadable kit includes a spreadsheet validator, a regex pack, and a governance checklist.

This is a seed entry. The production standard ships with the kit and JSON-LD TechArticle markup so it’s citable.

Download the kit

Templates, validators, and the governance checklist.

Get the kit →