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, FounderUpdated
On this page
- 01What are UTM parameters and how does UTM tracking work?
- 02Which 9 UTM parameters does Google Analytics 4 document?
- 03How does Google Analytics 4 turn UTM tags into channels?
- 04How do you build a UTM link?
- 05What UTM naming convention holds up?
- 06What breaks UTM tracking
- 07Which limits shape UTM data?
- 08How do you carry UTM tags into forms, CRMs and payments?
- 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.
https://example.com/pricing?utm_source=newsletter&utm_medium=email&utm_campaign=pricing-update-2026-10&utm_content=header-ctaTagged 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.
| Parameter | What it identifies | Example | Set it |
|---|---|---|---|
utm_source | The referrer | google, newsletter4 | Every link |
utm_medium | The marketing channel type | cpc, email | Every link |
utm_campaign | The product, slogan or promo | spring-sale-2026-03 | Every link |
utm_id | A campaign ID that matches uploaded cost data | cmp-2026-017 | With cost data |
utm_term | The paid keyword | attribution-software | Paid search |
utm_content | Which creative or link was clicked | 2 calls to action in 1 email | To compare links |
utm_source_platform | The platform directing the traffic | Search Ads 360, Display & Video 360 | When a platform directs the traffic |
utm_creative_format, utm_marketing_tactic | The creative type and the targeting criteria | video, remarketing | Skip: 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 value | Channel | Rule from Google |
|---|---|---|
email | Source or medium is 1 of 4 spellings of email | |
affiliate | Affiliates | Medium is affiliate |
social, sm | Organic Social | Medium is 1 of 6 social values, or the source is a known social site |
cpc, ppc, paid-social, paid_social | Paid Search, Paid Social, Paid Video, Paid Shopping or Paid Other | Medium matches ^(.*cp.*|ppc|retargeting|paid.*)$; the source picks the channel |
display, banner, cpm | Display | Medium is 1 of 5 display values |
referral, link, app | Referral | Medium is referral, app or link |
video | Organic Video | Medium matches ^(.*video.*)$, or the source is a known video site |
owned-email, sponsorship | Unassigned | No 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.
How do you build a UTM link?
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.
Broken: https://example.com/pricing#plans?utm_source=newsletter&utm_medium=email
Fixed: https://example.com/pricing?utm_source=newsletter&utm_medium=email#plansThe 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.
| Placement | Source | Medium | Campaign | Channel in Google Analytics 4 |
|---|---|---|---|---|
| Launch email | weekly-digest | email | launch-2026-10 | |
| LinkedIn post | linkedin | social | launch-2026-10 | Organic Social |
| Google Ads search ad | google | cpc | launch-2026-10 | Paid Search |
| Facebook retargeting ad | facebook | paid-social | launch-2026-10 | Paid Social |
| Partner review post | acme | affiliate | launch-2026-10 | Affiliates |
| Podcast sponsor read | devtools-weekly | audio | launch-2026-11 | Audio |
| YouTube video description | youtube | video | demo-2026-10 | Organic Video |
| Banner on a partner site | acme-network | display | spring-sale-2026-03 | Display |
| SMS reminder | sms | sms | trial-reminder-2026-10 | SMS |
| QR code on a flyer | flyer | offline | conf-booth-2026-10 | Unassigned |
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 wrong | What the report shows | Fix |
|---|---|---|
| A capital letter or variant spelling | 1 sender split across 2 or more rows | Lowercase every value and use the shared list |
| A redirect or URL shortener that strips the tags | The 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 medium | Set source, medium and campaign together |
| A cookie rewritten on every visit | Later visits overwrite the first source | Write 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 page | The processor's domain filed as a referral | List 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?
| Where | Limit or default | What it means for tags |
|---|---|---|
| Google Analytics 4 page location | 1,000 characters | Keep a tagged URL under it; Google's collection limits set the cap |
| Custom channel groups | 2 per standard property, 50 channels each | The place to map your own mediums |
| Unwanted referrals | 50 per data stream | List payment processors here |
| Stripe metadata | 50 pairs, 40-character keys, 500-character values | Where a tag becomes revenue by channel |
| Stripe Payment Links | 5 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 stripping | Firefox Strict mode strips 8 parameters, none a utm_ tag; Apple's Safari 17 notes name none | A 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.
Frequently asked questions
- One name=value pair in a URL's query string, such as utm_campaign=spring-sale-2026-03. Google Analytics 4 documents 9 of them and files each visit under the values it finds.
- Tagging outbound links with source, medium and campaign values, then comparing channels by those values in a report such as Google Analytics 4's Traffic acquisition. Spend or revenue appear only if you join that data in.
- No. Google Analytics 4 documentation says to always use 3: source, medium and campaign. The other 6 each suit a narrower job, such as paid keywords or cost imports.
- Yes. Google Analytics 4 documentation gives utm_source=google versus utm_source=Google as 2 different values. Channel grouping ignores case, but the values themselves keep it.
- A tagged URL duplicates the clean one. Google Search's duplicate-URL guidance recommends rel=canonical, redirects or sitemap entries for parameter variants, with ?gclid=ABCD as its example, so point a canonical link on each landing page at the clean address.
- No. Google Analytics policies bar sending data it could recognize as personally identifiable, and its PII guidance names campaign parameters among the risks. Use campaign names or numeric IDs.

Written by
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.