Back to blog
GuidesPublished 2026-08-228 min read

UTM Source vs Medium vs Campaign: The Difference

The confusion between utm_source, utm_medium, and utm_campaign isn't really about the parameters — it's about "traffic source" being used loosely in everyday conversation to mean all three at once. Ask someone where a visitor came from and "Instagram" feels like a complete answer. UTM tagging needs it split three ways because "Instagram" alone can't answer where, how, and why at the same time — it can only answer one of those.

One click mapped across three separate questions: utm_source answers where specifically (instagram), utm_medium answers how that channel delivered the click (social), and utm_campaign answers why the click happened at all (2026-q3-summer-sale) — the same campaign name applies across totally different sources and media at once

Three Different Questions, Not Three Levels of One Question

The easiest way to actually keep these straight: each parameter answers a completely different question about the same click, and none of them is a subcategory of another.

  • utm_source answers "where, specifically?" — the exact platform or publication: instagram, newsletter, google. Always a specific, named place.
  • utm_medium answers "how did that place deliver the click?" — the channel type, not the platform itself: social, email, cpc, referral. The same medium spans many different sources.
  • utm_campaign answers "why did this click happen at all?" — the specific initiative behind it: 2026-q3-summer-sale. The same campaign name can and should show up across totally different sources and media simultaneously.

Why Medium Isn't Just "A More General Source"

The instinct to treat medium as a broader version of source is exactly where the confusion comes from, and it's backwards. Medium isn't source-but-vaguer — it's a completely separate axis describing the category of delivery mechanism, independent of which specific platform used it. social describes Instagram, Facebook, and TikTok equally; none of those platform names belong in utm_medium, and social doesn't belong in utm_source either, because it doesn't name a specific place anyone can point to.

Why Campaign Cuts Across Both

Source and medium each describe one specific delivery path — one platform, one channel type. Campaign deliberately doesn't. The same campaign, tagged consistently, runs across email, social, and paid search at once with three completely different source/medium pairs underneath it — newsletter/email, instagram/social, google/cpc — all sharing one identical utm_campaign value. That's not a coincidence or a shortcut; it's the entire point of the parameter. Campaign is what lets a report answer "how did this one initiative perform in total," rolling up every source and medium that carried it.

A Quick Test to Tell Them Apart

When a value doesn't obviously belong to one bucket, ask: could this value describe more than one specific platform? If yes, it's a medium (social fits Instagram, Facebook, and TikTok alike). If it names exactly one specific place and nothing else, it's a source (instagram only ever means Instagram). If the value would stay identical even if you swapped out the source and medium underneath it for a different channel entirely, it's the campaign.

The Three Most Common Mix-Ups

Putting the platform name in medium. utm_medium=facebook describes a specific place, which is what source is for — the medium should be social, with facebook living in utm_source instead.

Putting the channel type in source. utm_source=social fails the specificity test — "social" isn't one place, it's a category, which means it belongs in utm_medium, with the actual platform (instagram, facebook, tiktok) as the source.

Using campaign to describe the channel instead of the initiative. utm_campaign=instagram-posts describes where and how, which source and medium already cover — campaign should describe why, independent of any specific channel: what this batch of clicks was actually for.

A Mistagged Link, Fixed

Seeing the mistakes corrected side by side makes the distinction concrete faster than any rule does on its own:

FieldMistaggedFixedWhy
utm_sourcesocialinstagramSource names one specific place, not a category
utm_mediuminstagramsocialMedium is the category; the platform name belongs in source instead
utm_campaigninstagram-posts2026-q3-summer-saleCampaign describes the initiative, not the channel it happens to run on

Notice the fixed version could be reused as-is for the exact same campaign running on Facebook or email — swap only utm_source and utm_medium, and utm_campaign stays untouched. The mistagged version couldn't survive that swap at all, since it baked the one channel into two of the three fields.

Frequently Asked Questions

Can utm_source and utm_medium ever be the same value? In practice, no — they're answering different questions, so a source value like instagram and a medium value like social should never collide, and if they look identical, one of them is probably in the wrong field.

Does utm_campaign need to be unique for every single link? No — the opposite is usually true. The same campaign value should repeat across every link that's part of the same initiative, regardless of source or medium; a unique campaign value per link defeats the purpose of being able to roll performance up across channels.

What if my traffic doesn't fit neatly into an existing medium? Add it deliberately to a fixed, agreed-on list rather than inventing a one-off value for a single campaign — a medium that only ever gets used once usually means it was actually a source or campaign value in disguise.

Is there a fourth or fifth category this confusion applies to? utm_term and utm_content follow the same "answers one specific question" logic — term identifies a paid search keyword, content distinguishes near-identical links within the same source/medium/campaign combination — but source, medium, and campaign are the three that get confused with each other specifically, since term and content are more obviously narrower in scope.

Where Cut.bd Fits

Cut.bd's link editor keeps source, medium, and campaign as three separate fields in the UTM builder rather than one combined "tracking" field — which mirrors exactly the distinction this guide walks through: three different questions about the same click, each with its own answer, rolling up together in click analytics broken down by all three independently.

Found this useful? Share it.

Try Cut.bd's link shortener — free, no account required.

Shorten a link