Analytics & Growth

UTM parameters tracking guide

Five parameters, one taxonomy, and the governance that prevents the data swamp.

7 min read Updated April 29, 2026

UTM parameters are five query-string tags appended to a URL. Used well, they are the cleanest source of marketing attribution you have. Used badly — and most teams use them badly — they produce a data swamp where the same campaign shows up under a dozen names and nobody trusts the numbers.

The five parameters and what each is for

There are five standard UTM parameters. Each one answers a specific question, and the discipline is to keep that meaning consistent across every link your team ever ships.

  • utm_source — the site or platform sending the traffic. Examples: facebook, newsletter, partner_blog. Always lowercase, always one canonical name per source.
  • utm_medium — the channel category: email, cpc, social, display, referral, affiliate. This is the bucket your analytics platform groups by — pick a small fixed list and never deviate.
  • utm_campaign — the specific campaign name. Examples: q2_launch, holiday_sale_2026. This is the most-abused parameter; standardize the format or it becomes chaos.
  • utm_content — distinguishes variants within a campaign. Use it for ad creative variants, link positions in an email, button-vs-link splits.
  • utm_term — originally for paid-search keywords. Most teams now use it for audience or segment tags.

Three of the five (source, medium, campaign) are required for the link to be useful. The other two are optional but worth filling in when you'll want to slice the data later.

A taxonomy beats clever names

The fastest way to ruin marketing analytics is to let everyone invent their own UTM names. By month three, you have facebook, Facebook, fb, FB, meta, and Facebook_paid in utm_source, all referring to the same channel. Reports become unusable and trust collapses.

The fix is a published taxonomy: a short document everyone references before tagging a link. The taxonomy specifies the allowed values for each parameter, the format conventions, and the naming pattern for campaigns.

  • Source — fixed list. facebook, instagram, linkedin, google, newsletter, partner, etc. Add to the list with explicit approval, never on the fly.
  • Medium — fixed list of categories matching how your analytics platform groups channels. Usually six to ten values total.
  • Campaign — formatted pattern: quarter_initiative_year or type_topic_date. Pick one and stick to it.
  • Format rules — lowercase only, underscores not spaces, no special characters, no trailing punctuation.

The document fits on one page. The hard part is enforcing it.

Governance is what separates teams

Taxonomy without governance is a doc nobody reads. The teams that maintain clean tracking data over years do three concrete things.

  1. Centralize link generation. Build or adopt a UTM builder — a shared spreadsheet, an internal tool, or a feature in your campaign tooling — that enforces the taxonomy. Free-text UTMs in production are how the swamp starts.
  2. Audit weekly for the first quarter. Pull the unique values from utm_source, utm_medium, and utm_campaign in your analytics platform. If you see two spellings of the same source, fix the link or rewrite the data. Catching it in week one is a five-minute fix; catching it in month six is a project.
  3. Document campaigns at launch. Every campaign with a UTM should have a one-line entry in a shared sheet — campaign name, owner, launch date, expected duration. When someone asks "what is q2_launch_v2?" three months later, the answer exists.

Patterns that prevent common mistakes

A handful of patterns prevent the most common UTM problems. None are exotic. All require a manager who insists on them.

  • Never UTM internal links. Tagging clicks between pages of your own site overwrites the original source attribution and wrecks reporting. Use event tracking instead.
  • Strip UTMs from canonical URLs. If a UTM-tagged URL gets shared on social, it can be indexed and cause duplicate-content issues. Set canonical tags that drop the parameters.
  • Decide on email policy. Either every email link gets UTMs or none do — mixing is worse than either. Consistent utm_medium=email with named campaigns keeps your analytics platform honest.
  • Lowercase everything. Facebook and facebook are different rows in your reports, and one ALL-CAPS link in a launch will haunt you for years.
  • Pair UTMs with conversion tracking. A clean source name is only useful if you can tie it to an attribution model that maps clicks to revenue. UTMs feed attribution; they aren't a substitute for it.

Pull the data into something useful

The end goal isn't tagged links. The end goal is reliable channel reporting that supports decisions about budget, creative, and targeting. With a clean taxonomy, your analytics platform gives you the source-medium-campaign breakdown by conversion in a single view. Pair that with the cost-side data and you have what you need to calculate marketing ROI by channel without estimating.

The CRO program lives downstream of this. Without trustworthy traffic-source data, you can't tell whether a landing-page test won across all channels or only on one source — and segmenting test results by channel is one of the highest-leverage moves in a serious optimization program. Clean UTMs, clean tests; messy UTMs, fictional dashboards. The choice is upstream.

UTM hygiene in five rules: fixed lists for source and medium, a campaign naming pattern, lowercase-and-underscores only, central link generation, weekly audit for the first quarter. Skip any one and the data swamp wins.

Frequently asked

Do UTMs work with paid ads or do platforms handle attribution automatically?
Both. Most ad platforms auto-tag clicks with their own parameters, and UTMs add a layer your analytics platform can read consistently. Many teams use UTM templates in the ad platform to standardize tagging across all campaigns from that channel.
Should I UTM-tag organic social posts?
Yes for posts where you control the link, especially in bios and stories. UTMs let you separate organic social traffic from paid social by source, which matters for attribution. Skip UTMs on links shared by users — that traffic comes through as referral and that is the right behavior.
What happens if I change a UTM mid-campaign?
You lose the ability to compare before-and-after cleanly, and you create two rows in your analytics platform for what was meant to be one campaign. If you must change it, document the change date and stitch the data manually in reporting. Avoid it when you can.
How long should UTM-tagged links be valid?
Indefinitely. Old UTM links should keep working forever — they live in archived emails, social posts, and partner sites. Don't kill the URL pattern; just stop using a campaign name when the campaign ends.
Are there parameters beyond the five UTMs worth using?
Some teams add custom query parameters for ad ID, audience ID, or experiment variant. These work for internal tracking but most analytics platforms won't group on them automatically. Stick to the five UTMs for cross-tool consistency.