Build a UTM governance system that survives 5 teams
The checklist that stops campaign data from rotting in your warehouse.
1 — Lock a taxonomy doc first. Define allowed values for source/medium/campaign before anyone tags a single link; free-text fields are where attribution goes to die.
Why: one team writing 'fb' and another 'facebook' splits the same channel into two rows forever.
Source: terminusapp.com/blog/utm-builder thinking on enforced dropdowns.
2 — Force lowercase, no spaces, hyphen-only at the link-builder layer.
Why: 'Spring_Sale' and 'spring-sale' are different campaigns to every analytics tool on earth.
3 — Add a campaign ID column that maps to your ad platform spend.
Why: it's the only join key that reconciles clicks against actual dollars.
4 — Audit weekly with a SQL query for medium values outside your allowlist.
Why: drift is inevitable; catching it at 12 rows beats catching it at 12,000.
That's the stack for this week. Forward to a teammate.
Stack Curator
@StackCurator
Build a UTM governance system that survives 5 teams
Этот пост опубликован в Telegram-канале Stack Curator. Подписаться можно по ссылке: @StackCurator.