Guides

Guide

UTM naming conventions that keep attribution clean

A simple UTM system: shared naming rules, one builder, and a two-minute QA check before launch.

April 2, 20268 min read

Dirty attribution almost never starts with a dramatic mistake. It starts with small inconsistencies: one person writes paid-social, another writes paid_social, a third skips utm_medium entirely. Later those tiny differences break reporting, clutter dashboards, and make channel comparison harder than it should be.

What to standardize first

You do not need a giant naming handbook. You need one shared rule for the fields that matter most:

  • utm_source for the platform or publisher
  • utm_medium for the traffic type
  • utm_campaign for the initiative itself

Then keep formatting stable across all three:

  • lowercase only
  • one separator style
  • short campaign names
  • no improvised synonyms

A simple naming example

A lightweight convention is usually enough:

  • utm_source=linkedin
  • utm_medium=paid-social
  • utm_campaign=apr-demo-push

What matters is not the exact vocabulary. What matters is that everyone uses the same vocabulary every time.

When to use utm_term and utm_content

Many teams overfill UTM links. In practice:

  • use utm_term when you truly need keyword-level detail
  • use utm_content when you need to distinguish creatives, placements, or variants
  • leave them empty when they add noise instead of signal

Optional fields should explain a difference you will actually look at later.

Manual link editing is where naming drift begins. One shared builder removes repeated formatting mistakes and gives the team a default place to create links.

This matters most when:

  • several people launch campaigns
  • links get copied between briefs, chats, and docs
  • final QA happens under time pressure

Run a two-minute check before launch

A clean naming convention still needs one final pass before publishing. This is not process theater. It is the cheapest moment to catch broken links, bad casing, and messy tags.

Pre-launch UTM check

  • Open one final URL from every major channel.
  • Confirm the destination page and query parameters.
  • Check source, medium, and campaign against the shared rule.
  • Save one approved example in the launch brief or campaign doc.

The goal is clean reporting, not perfect documentation

Boring naming is useful naming. When everyone can guess the format correctly, attribution stays cleaner, dashboards stay easier to trust, and cleanup stops repeating after every launch.

Related tool

UTM Naming Builder

Build cleaner campaign URLs with presets, normalization, and warnings.

Open tool

Related guides