UTM parameters: the 9 tags Google Analytics 4 documents and how to name them

UTM parameters are tags that tell analytics where a visit came from. Learn the 9 tags Google Analytics 4 documents, its 19 channels, and how to name each one.

Muzahid Maruf — Founder of TrackRev.io

Muzahid MarufUpdated

UTM tracking · 9 min read
On this page
  1. 01What are UTM parameters and how does UTM tracking work?
  2. 02Which 9 UTM parameters does Google Analytics 4 document?
  3. 03How does Google Analytics 4 turn UTM tags into channels?
  4. 04How do you build a UTM link?
  5. 05What UTM naming convention holds up?
  6. 06What breaks UTM tracking
  7. 07Which limits shape UTM data?
  8. 08How do you carry UTM tags into forms, CRMs and payments?
  9. 09How does TrackRev handle UTM tracking?

Explore with AI

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

UTM parameters are short name=value tags added to the end of a URL, such as utm_source=newsletter, telling an analytics tool where a visit came from. UTM stands for Urchin Tracking Module.

Google Analytics 4 documents 9 of them and says to always set 3: utm_source, utm_medium and utm_campaign.

People shorten the tags to UTMs or UTM params, and UTM tracking is the practice of tagging links and reading the results in Google Analytics 4. First, set the 3 core tags. Second, keep the spelling identical across 2026.

A tag is written once, when the link is created, and Google Analytics 4 treats each spelling as its own value, per Google's example that SpringSale and Spring_Sale are distinct.

For example, a report then lists 2 rows for 1 campaign. UTMs also end at the visit, so the tags record where someone came from and nothing about what the visitor paid.

Key takeaways

  • Google Analytics 4 documents 9 UTM parameters and says to always set 3: utm_source, utm_medium and utm_campaign.
  • With any UTM tag on the URL and no usable Google click ID, Google Analytics 4 reads every source dimension from UTM tags alone, so a missing tag shows as (not set).
  • The medium picks 1 of 19 default channels: email reaches Email and affiliate reaches Affiliates, while owned-email falls into Unassigned.
  • Values are case sensitive, so SpringSale and Spring_Sale are 2 values. Use lowercase and put the year first in campaign names, as in launch-2026-10.
  • UTM tags carry no revenue. Stripe metadata holds 50 pairs of up to 500 characters a value, so copy the tags there to see revenue by channel.

What are UTM parameters and how does UTM tracking work?

A tagged link is a normal URL followed by a query string: a question mark, then name=value pairs. Google Analytics 4 documentation says the pairs can come in any order.

The sample below holds 4 tags: a source, a medium, a campaign and a content variant.

A tagged link with four tags
https://example.com/pricing?utm_source=newsletter&utm_medium=email&utm_campaign=pricing-update-2026-10&utm_content=header-cta

Tagged visits first appear in Google Analytics 4 under Acquisition, in the Traffic acquisition report, with Session source / medium or Session campaign as the dimension.

Google leaves UTM tags out of 2 dimensions, Landing page + query string and Page path + query string, and populates Page location with the tags instead.

In practice, the same tags work on any link you control, whether the link sits in an email, a post or a QR code.

The tags came from Urchin Software Corp., a San Diego company Google agreed to buy in March 2005. Wikipedia names Urchin as the predecessor of Google Analytics, according to the same page.

Which 9 UTM parameters does Google Analytics 4 document?

A UTM parameter is a name=value pair read by Google Analytics 4. Wikipedia lists 5 parameters, and Google Analytics 4 documentation lists 9, adding 4 to the original source, medium, campaign, term and content.

First, the utm_id tag matches uploaded cost data, utm_term holds the paid keyword, and utm_content tells 2 calls to action in 1 email apart. Google Ads, Search Ads 360 and Display & Video 360 read the extra tags in 2026.

ParameterWhat it identifiesExampleSet it
utm_sourceThe referrergoogle, newsletter4Every link
utm_mediumThe marketing channel typecpc, emailEvery link
utm_campaignThe product, slogan or promospring-sale-2026-03Every link
utm_idA campaign ID that matches uploaded cost datacmp-2026-017With cost data
utm_termThe paid keywordattribution-softwarePaid search
utm_contentWhich creative or link was clicked2 calls to action in 1 emailTo compare links
utm_source_platformThe platform directing the trafficSearch Ads 360, Display & Video 360When a platform directs the traffic
utm_creative_format, utm_marketing_tacticThe creative type and the targeting criteriavideo, remarketingSkip: not reported

Descriptions and examples from Google Analytics 4 documentation, October 2026; the campaign, ID and term values are illustrative.

Google asks for 1 unique source per platform and 1 unique medium per channel.

Google also documents that when a click ID can't be used and any UTM tag is on the URL, Google Analytics 4 derives every source dimension from UTM tags alone, and missing tags show as (not set).

A link with only utm_campaign=spring-sale-2026-03 reports a campaign with no source or medium. For example, 1 missing tag on 100 links leaves 100 rows with a blank source in 2026.

How does Google Analytics 4 turn UTM tags into channels?

The Google Analytics 4 default channel group is a fixed set of rules sorting each session into one of 19 channels. The rules ignore case and the group cannot be edited as of 2026.

For hand-tagged links, source and medium do the sorting, and the medium does most of the work. For example, a link with utm_medium=video lands in Organic Video, per Google's rules in the table.

utm_medium valueChannelRule from Google
emailEmailSource or medium is 1 of 4 spellings of email
affiliateAffiliatesMedium is affiliate
social, smOrganic SocialMedium is 1 of 6 social values, or the source is a known social site
cpc, ppc, paid-social, paid_socialPaid Search, Paid Social, Paid Video, Paid Shopping or Paid OtherMedium matches ^(.*cp.*|ppc|retargeting|paid.*)$; the source picks the channel
display, banner, cpmDisplayMedium is 1 of 5 display values
referral, link, appReferralMedium is referral, app or link
videoOrganic VideoMedium matches ^(.*video.*)$, or the source is a known video site
owned-email, sponsorshipUnassignedNo rule matches

Rules from the Google Analytics 4 default channel group definitions, October 2026. Google keeps its own lists of social, search and video sites.

A medium invented for internal tidiness, such as owned-email, matches no rule and lands in Unassigned unless the source is on one of Google's site lists.

I'd take Google's value even when mine reads better, because the default group then does the grouping for free; the alternative is to map your own with a custom channel group. First, check the medium against the table.

Second, fix any mismatch before you send the link in 2026.

What happens when Google Ads auto-tagging takes over?

Auto-tagging is the Google Ads setting appending a gclid parameter to every ad click. With auto-tagging on, the parameter carries the click data, and Google's traffic-source documentation says Google Analytics 4 then uses the auto-tagged values for source and medium.

The same page lists auto-tagging dimensions for Search Ads 360 and Campaign Manager 360 too, and Google Ads Help adds that no override option exists.

Hand-typed source and medium lose to the auto-tagged values, but manual utm_content and utm_term still feed their own dimensions. For example, a Google Ads click carrying a gclid and utm_medium=email reports the auto-tagged medium, never the email medium.

Facebook Ads and LinkedIn posts carry no gclid, so tag each such link by hand as of 2026. First, check the auto-tagging setting in the Google Ads account.

Second, click one test ad and read the source and medium in the Google Analytics 4 report before launch.

Hand-built links go wrong in 2 places, and both mistakes survive a quick glance in 2026.

  • Put the query before any #. The query ends at the first number sign, as defined by RFC 3986, so tags written after a # belong to the fragment.
  • Skip spaces. A space must be percent-encoded as %20, and an encoded value is easy to encode again into %2520. For example, use a hyphen.
A tag written after the # and the same link fixed
Broken: https://example.com/pricing#plans?utm_source=newsletter&utm_medium=email
Fixed:  https://example.com/pricing?utm_source=newsletter&utm_medium=email#plans

The free UTM builder here assembles the URL in your browser, with no signup and nothing stored. Google's Campaign URL Builder is the other common choice, and both need the same 3 fields.

Neither remembers what your team called a channel last month, so the shared list has to live somewhere else. Click the live link and read the address bar before sending.

The UTM source, medium and campaign post explains the 3 core tags.

What UTM naming convention holds up?

Reports aggregate by exact string, and Google recommends lowercase as standard practice. Use hyphens as the single separator and put the year first in campaign names so they sort in time order.

For example, launch-2026-06 comes before launch-2026-10, while launch-jun26 lands after launch-aug26.

Example: one capital letter, 2 rows

A $2,000 newsletter sponsorship drives 4,000 tagged clicks in a quarter: 3,100 tagged newsletter and 900 tagged Newsletter. The report shows 2 rows, 77.5% and 22.5% of the channel, and dividing $2,000 by the 3,100-click row gives $0.65 a click against the true $0.50. The numbers are invented for the arithmetic.

Source is 1 value per sender from a shared list, medium comes from a closed list of about 8, and campaign is the initiative plus year and month.

PlacementSourceMediumCampaignChannel in Google Analytics 4
Launch emailweekly-digestemaillaunch-2026-10Email
LinkedIn postlinkedinsociallaunch-2026-10Organic Social
Google Ads search adgooglecpclaunch-2026-10Paid Search
Facebook retargeting adfacebookpaid-sociallaunch-2026-10Paid Social
Partner review postacmeaffiliatelaunch-2026-10Affiliates
Podcast sponsor readdevtools-weeklyaudiolaunch-2026-11Audio
YouTube video descriptionyoutubevideodemo-2026-10Organic Video
Banner on a partner siteacme-networkdisplayspring-sale-2026-03Display
SMS remindersmssmstrial-reminder-2026-10SMS
QR code on a flyerflyerofflineconf-booth-2026-10Unassigned

Example links by placement. Channels follow Google's default channel group rules, October 2026.

Keep 1 shared list of sources and mediums, name 1 person to approve additions, and build links through a form with dropdowns, since a written convention reaches only the people who open it.

What breaks UTM tracking

What goes wrongWhat the report showsFix
A capital letter or variant spelling1 sender split across 2 or more rowsLowercase every value and use the shared list
A redirect or URL shortener that strips the tagsThe visit filed as (direct) / (none)Click the live link and read the address bar
1 or 2 tags in place of all 3(not set) in source or mediumSet source, medium and campaign together
A cookie rewritten on every visitLater visits overwrite the first sourceWrite the first touch only when the cookie is empty; copy the tags onto the user record at signup
A return from a payment processor's pageThe processor's domain filed as a referralList it under unwanted referrals

Redirects, shorteners and missing tags are the causes Google Analytics 4 documentation gives for (direct) / (none) traffic.

Which limits shape UTM data?

WhereLimit or defaultWhat it means for tags
Google Analytics 4 page location1,000 charactersKeep a tagged URL under it; Google's collection limits set the cap
Custom channel groups2 per standard property, 50 channels eachThe place to map your own mediums
Unwanted referrals50 per data streamList payment processors here
Stripe metadata50 pairs, 40-character keys, 500-character valuesWhere a tag becomes revenue by channel
Stripe Payment Links5 UTM codes of up to 150 characters, using letters, digits, dashes and _Stripe discards invalid values, so a dot or space can lose the tag
Browser query strippingFirefox Strict mode strips 8 parameters, none a utm_ tag; Apple's Safari 17 notes name noneA 5-step test finds the hop that does drop a tag

Limits from Google Analytics 4, Stripe and Mozilla documentation, October 2026.

How do you carry UTM tags into forms, CRMs and payments?

A hand-off is the step copying tags from the landing URL to a lead or customer record, and lead records keep tags only after a hand-off.

On WordPress, Gravity Forms Dynamic Population fills a field from a named query parameter, though aggressive page caching can break the field, and WPForms has a query string smart tag.

First, test any other form tool or CRM with 1 tagged link and read the saved record in 2026.

Second, Stripe copies metadata between related objects in only 4 documented cases, and a Checkout Session to a Subscription isn't one of them, so set subscription_data.metadata too.

The UTM and Stripe walkthrough covers the hand-off, and last-touch vs first-touch vs linear compares which tag earns the credit. For example, a $39 plan paid on day 17 carries its source only if the metadata exists in 2026.

How does TrackRev handle UTM tracking?

TrackRev is SaaS affiliate software with link tracking built in, and its links add the tags at the redirect.

Each tracked link carries a channel, and the channel supplies the source and medium, such as newsletter and email or youtube and video, matching Google's rules for Email and Organic Video. Tags already on the destination URL are left alone.

In practice, a hand-set utm_medium=paid-social survives in 2026.

Second, each click is logged on the server at the redirect. On a paid plan, revenue from Stripe, Paddle Billing, Polar, Lemon Squeezy, Creem or Dodo Payments is attributed to the clicks behind it.

The free plan covers link tracking, 50 links and 1,000 tracked events a month, with revenue figures hidden. Revenue and the affiliate and referral tools start on Indie at $29 a month. Growth is $299 a year (pricing).

Finally, if you only need a correctly formed URL, the free builder or Google's is enough. UTM builder vs link tracking tool shows where a link tool starts to pay off.

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 founded TrackRev.io, SaaS affiliate software with no limit on tracked revenue, and Contant.io. He writes about affiliate programs.

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

Run your affiliate program without a revenue cap.

Affiliate software for indie hackers and small SaaS teams: $29 a month flat, 0% fees, link tracking and revenue attribution built in. Free to start, no card.