UTM source, medium and campaign: what each means, with examples by channel

What utm_source, utm_medium and utm_campaign mean, with tagged examples for 10 channels, how Google Analytics 4 sorts them, and naming rules that hold up.

Muzahid Maruf — Founder of TrackRev.io

Muzahid Maruf

UTM tracking · 9 min read
On this page
  1. 01What UTM means in marketing
  2. 02What each UTM parameter answers
  3. 03UTM source: where the click came from
  4. 04UTM medium: the kind of channel
  5. 05UTM campaign: the promotion a link belongs to
  6. 06utm_term, utm_content and utm_id
  7. 07UTM examples by channel
  8. 08How Google Analytics 4 turns source and medium into channels
  9. 09Naming conventions that hold up
  10. 10Common UTM mistakes
  11. 11How TrackRev handles UTM tags

Explore with AI

Opens this article inside the chosen assistant with a ready-made prompt.

The UTM source (utm_source) names where a click came from, such as google, weekly-digest or linkedin. It is 1 of 5 standard tags added to a link's query string, and UTM stands for Urchin Tracking Module.

utm_medium adds the channel type (email, cpc, social) and utm_campaign names the promotion.

Google Analytics 4 also uses source and medium to file each session under a default channel such as Paid Search or Email, so one mislabeled value moves conversions to the wrong row. The free UTM builder assembles the URL.

Key takeaways

  • Set utm_source, utm_medium and utm_campaign on every link. Google lists 9 parameters and says to always use these 3.
  • 17 of the 19 manual-traffic rules in the Google Analytics 4 default channel group read the medium, so newsletter or offline lands in Unassigned.
  • Values are case sensitive: Facebook, facebook and fb are 3 separate rows in one report.

What UTM means in marketing

Urchin Software Corp. of San Diego built the tagging scheme, and Google agreed to buy the company in March 2005. The tags carried over into Google Analytics, and Adobe Analytics and other tools now parse the 5 original parameters too.

A UTM link is a normal URL plus a query string of name=value pairs joined by &, in any order. Google's URL builder page says to always include utm_source, utm_medium and utm_campaign.

A tagged link
https://example.com/pricing?utm_source=weekly-digest&utm_medium=email&utm_campaign=pricing-update-2026-10&utm_content=top-button

What each UTM parameter answers

Google's Analytics Help lists 9 parameters, and 6 do the daily work. The other 3 are utm_source_platform, for the buying platform (Search Ads 360, Display & Video 360 or Campaign Manager 360), plus utm_creative_format and utm_marketing_tactic.

Google says neither of the last 2 is currently reported in Google Analytics properties.

ParameterQuestion it answersExample values
utm_idWhich campaign record?cmp-2026-017
utm_sourceWhere did the click come from?google, linkedin, weekly-digest
utm_mediumWhich channel type?cpc, email, paid_social
utm_campaignWhich promotion or launch?spring-sale-2026-03
utm_termWhich paid keyword?attribution+software
utm_contentWhich link or creative?top-button, footer-link

UTM source: where the click came from

Give utm_source the specific sender. Google's examples are google, newsletter4, billboard and summer-mailer, and its table asks for 1 unique value per platform. It also suggests insta for Instagram, but Google's published source list has no insta, so write instagram.

UTM medium: the kind of channel

utm_medium sorts sources into channel types, and 17 of the 19 manual-traffic rules in Google Analytics 4's default channel group read it. Google asks for 1 unique medium per channel, such as paid_social or organic_search.

A TikTok video you posted and a TikTok ad you bought share the source tiktok; the post gets social and the ad gets paid_social.

My working list has 8 values: cpc, paid_social, social, email, affiliate, referral, audio and sms, each matching a rule by name.

Google describes utm_campaign as the product, slogan or promo code, and wants 1 name that exactly matches the ad platform's campaign name, for example through {{campaign.name}}.

Put the year and month in the name. summer-sale reused in 2027 merges 2 seasons into 1 row, and summer-sale-2026-06 keeps them apart. A pattern I would use is goal, audience or offer, then the date: trial-retargeting-2026-10.

utm_term, utm_content and utm_id

utm_term is the paid keyword. With Google Ads auto-tagging, Google records keyword data itself. utm_content separates links inside 1 campaign: Google's example is 2 call-to-action links in a single email, each with its own value such as top-button or footer-link.

utm_id matters once you upload ad spend. In Google's campaign data import, source, medium and date are required, and campaign ID and name are optional but highly recommended.

Imported values must match what visitors logged exactly: Google's own example is that Facebook and facebook do not match. In the row below, $1,200.00 over 3,400 clicks works out to $0.35 a click.

DateSourceMediumCampaign IDCampaign nameCostCurrencyClicks
2026-10-14facebookpaid_socialcmp-2026-017trial-retargeting-2026-101,200.00USD3,400

Made-up values for fields in Google's import schema.

UTM examples by channel

Ten places a link might live and the default channel Google Analytics 4 gives each. The flyer row shows where defaults stop: offline matches no rule.

Where the link livesutm_sourceutm_mediumutm_campaignDefault channel
Google Ads text adgooglecpcbrand-search-2026-10Paid Search
Facebook adfacebookpaid_socialtrial-retargeting-2026-10Paid Social
LinkedIn postlinkedinsocialfounder-launch-2026-10Organic Social
Newsletter sendweekly-digestemailpricing-update-2026-10Email
Partner linkacme-reviewsaffiliatepartners-2026-q4Affiliates
Podcast sponsor readdevtools-weeklyaudiosponsor-2026-11Audio
Guest postexampleblogreferralguest-post-2026-10Referral
YouTube descriptionyoutubevideodemo-2026-10Organic Video
SMS remindersmssmstrial-reminder-2026-10SMS
QR code on a flyerflyerofflineconf-booth-2026-10Unassigned

Tag values are examples. Channels follow Google's default channel group definitions, checked October 2026.

Three finished links
https://example.com/pricing?utm_source=linkedin&utm_medium=social&utm_campaign=founder-launch-2026-10&utm_content=post-link
https://example.com/signup?utm_source=facebook&utm_medium=paid_social&utm_campaign=trial-retargeting-2026-10&utm_content=video-a&utm_id=cmp-2026-017
https://example.com/docs?utm_source=devtools-weekly&utm_medium=audio&utm_campaign=sponsor-2026-11

How Google Analytics 4 turns source and medium into channels

Google's channel definitions compare the source with lists of known search, social, video and shopping sites, and the medium with fixed words and regular expressions.

Traps that follow from those rules

  • The paid channels read the medium. Google's pattern is ^(.*cp.*|ppc|retargeting|paid.*)$, so cpc, cpm, ppc, retargeting and paid_social count as paid. A Facebook ad tagged facebook / ads matches none of it, and because facebook is on the social list the session is Organic Social.
  • Email, affiliate, audio and sms need exact words in the medium, and Email and SMS also accept the same word as the source. A medium of newsletter, partner or podcast matches nothing, so with an unlisted source the session is Unassigned. Referral takes referral, app or link. Display takes display, banner, expandable, interstitial or cpm, and a paid medium with a source on no list becomes Paid Other.
  • Campaign names are read too. Google's Paid Shopping and Organic Shopping rules match a campaign name with shopping anywhere in it, or with shop at the start or after a hyphen, so shop-launch-2026-10 can be filed under a shopping channel.
  • Direct is the empty case. Google's (direct) / (none) page lists untagged links, typed URLs, PDF links, ad blockers and redirects that strip UTMs, shorteners such as bit.ly included.
  • Auto-tagging wins when both are present. Google Ads adds a GCLID and Campaign Manager 360 a DCLID, and with either one Google Analytics uses the auto-tagged source and medium while still reading utm_content and utm_term, per its traffic-source documentation.

The source lists live in a sources-and-categories file linked from the channel group page, and the copy downloaded in October 2026 has 819 entries.

CategoryEntriesShareSample entries
Social59272.3%linkedin, facebook, fb, instagram, ig, twitter, t.co, tiktok, reddit
Search12915.8%google, bing, yahoo, duckduckgo, baidu, ecosia.org
Shopping526.3%amazon, alibaba, shopify, etsy, ebay
Video465.6%youtube, vimeo, twitch, dailymotion

Worked example: meta versus facebook

A Facebook ad built in Meta Ads Manager and tagged utm_source=meta&utm_medium=paid_social has a paid medium, but the file has no entry called meta, insta, x.com or threads. By Google's published rules the session should land in Paid Other instead of Paid Social, so test any new source in your own Traffic acquisition report.

When the defaults do not fit

Print, and any medium outside Google's list, needs a custom channel group. Google's custom channel group page allows 2 per standard property and 5 per 360 property, with up to 50 channels each.

Groups apply to past data, and traffic goes to the first matching channel in the group's order, so place yours above any they collide with.

Naming conventions that hold up

FieldDo thisAvoid
CaselinkedinLinkedIn
Separator1 hyphen style, and no spaces (links turn them into + or %20)spring_sale and spring-sale mixed
SourceThe sender: weekly-digestThe channel word: email
MediumA word Google Analytics matches: emailnewsletter
CampaignGoal and ISO month: trial-retargeting-2026-10campaign1
ID1 stable ID: cmp-2026-0171 ID reused for 2 campaigns

Google treats Meta and meta as different values. With made-up numbers, 1 Facebook campaign tagged 3 ways at $79 per purchase shows what that does to a report.

utm_sourceSessionsSharePurchasesRateRevenue
facebook1,24068.9%312.5%$2,449
Facebook41022.8%143.4%$1,106
fb1508.3%21.3%$158
Combined1,800100%472.6%$3,713

Illustrative numbers: 1 campaign, 3 spellings of the same source.

Split this way, one campaign shows conversion rates of 3.4% and 1.3%. Its real rate is 2.6%: 47 purchases from 1,800 sessions.

Common UTM mistakes

  • Setting only some tags. Google recommends source, medium, campaign, utm_id and utm_source_platform together, and warns that gaps appear as (not set).
  • Tagging links between your own pages. UTM tags belong on links into your site, and internal clicks are better recorded as events.
  • Putting personal data in a tag. Google's PII guidance names all 5 standard parameters, and a mail-merge field that drops a subscriber's address into utm_content is the usual leak.
  • Letting a redirect eat the tags. Click the final link in a fresh browser and check the address bar. The post on why UTM parameters get stripped lists the usual causes.
  • Expecting tags to carry revenue. When sessions show but no money by channel, Google Analytics 4 not showing revenue by channel covers the fixes.

How TrackRev handles UTM tags

The UTM builder is free with no signup. It takes a destination URL plus 5 fields, builds the link in your browser and stores nothing. It leaves values as typed, so lowercase them yourself, and it has no utm_id field.

Inside TrackRev, each short link is created with a channel whose default tags are added to the destination on click, skipping any UTM already there: LinkedIn is linkedin / social, a newsletter is newsletter / email, YouTube is youtube / video.

The channel analytics view groups clicks by the source, medium and campaign it reads.

The Free plan covers 50 links and 1,000 tracked events a month with revenue hidden, and paid plans sync revenue from Stripe, Polar, Lemon Squeezy and Paddle: Starter is $39 a month, Growth $99 and Scale $199, with 9 months billed for 12 on annual plans (pricing).

If you only need sessions and conversions in Google Analytics, the builder and a naming sheet are enough.

To see which campaign produced paying customers, UTM parameters and Stripe attribution shows the join, and the complete UTM parameters guide covers tag types.

Found this useful? Share it.

PostLinkedIn

Frequently asked questions

Muzahid Maruf — Founder of TrackRev.io

Written by

Muzahid Maruf

Founder, TrackRev.io & Contant.io

Muzahid Maruf is the founder of TrackRev.io and Contant.io. He writes about marketing attribution, link tracking, and revenue analytics for SaaS teams.

Writes about Marketing attribution · Link tracking · Revenue analytics · SaaS growth

Stop guessing where your revenue comes from.

Set up TrackRev in about five minutes. The free plan covers 1,000 events a month, no card needed.

Start free