Polynomial World

Marketing

UTM Parameters: A Naming Convention That Stays Clean in GA4

Polynomial World 8 min read

UTM parameters stay clean in GA4 when everyone on your team uses the same small set of lowercase values, chosen from fixed lists. The value that matters most is utm_medium, because GA4 uses it to decide which default channel a visit belongs to. This guide gives you the rules, a template you can copy into a spreadsheet, and the mistakes to avoid.

Key facts (as of October 2026)

  • Always set utm_source, utm_medium, and utm_campaign. Google says you “should always use” these three (Analytics Help).
  • Parameter values are case sensitive. google and Google show up as two different sources (Analytics Help).
  • Default channel rules are not case sensitive and can’t be edited (Analytics Help).
  • A new campaign value in the middle of a session does not start a new session (Analytics Help).
  • With Google Ads auto-tagging on, GA4 uses the auto-tagged values for source and medium, not your UTMs (Analytics Help).

Which UTM parameters does GA4 support?

Google’s URL builder article lists nine parameters (Analytics Help). Three are the ones you will use on every link. The rest are optional.

ParameterWhat Google says it is forUse it?
utm_sourceThe referrer, for example google, newsletter4, billboardAlways
utm_mediumThe marketing medium, for example cpc, banner, emailAlways
utm_campaignProduct, slogan, or promo codeAlways
utm_idCampaign ID for a specific campaign or promotionIf you keep campaign IDs
utm_termPaid keywordPaid search without auto-tagging
utm_contentDifferentiates creatives or link variationsWhen you test versions
utm_source_platformThe platform that sent the traffic, for example Search Ads 360Rarely, for multi-platform setups
utm_creative_formatType of creative, for example display, native, videoNot reported yet
utm_marketing_tacticTargeting criteria, for example remarketingNot reported yet

Google notes that utm_creative_format and utm_marketing_tactic “isn’t currently reported in Google Analytics properties” (Analytics Help). You can add them, but you won’t see them in standard reports today. Leave them out unless you have a reason to collect them now.

Missing parameters show up as (not set) in reports (Analytics Help). That is the most common source of messy data.

How does GA4 turn UTMs into report dimensions?

Each parameter fills a set of “manual” dimensions. For example, utm_source fills Manual source, Session manual source, and First user manual source. utm_term fills Manual term, and utm_content fills Manual ad content (Analytics Help).

In everyday use, you’ll read them in Reports > Acquisition > Traffic acquisition. There you see session source, medium, and campaign for your tagged links (Analytics Help).

Two points about sessions matter for naming:

  1. GA4 attributes a session from the session_start event, which carries the gclid, UTM parameters, and referrer (Analytics Help).
  2. “Each session is associated with only one campaign or traffic source.” A new campaign mid-session is kept for event-based attribution but is not attached to the existing session (Analytics Help).

Why does utm_medium decide your channel?

GA4 groups traffic into default channels using fixed rules on source, medium, and campaign name. Most rules depend on medium. Here are the ones you’ll hit most often, taken from Google’s Default channel group article.

ChannelRule (simplified from Google’s definition)Medium value to use
EmailSource or medium is email, e-mail, e_mail, or e mailemail
Organic SocialSource is a known social site, or medium is one of social, social-network, social-media, sm, social network, social mediasocial
Paid SocialSource is a known social site and medium matches ^(.*cp.*|ppc|retargeting|paid.*)$paid-social or cpc
Paid SearchSource is a known search site and medium matches the same paid patterncpc
DisplayMedium is display, banner, expandable, interstitial, or cpmdisplay
AffiliatesMedium is affiliateaffiliate
ReferralMedium is referral, app, or linkreferral
SMSSource or medium exactly matches smssms
AudioMedium exactly matches audioaudio
Paid OtherMedium matches the same paid pattern(avoid relying on it)

If nothing matches, GA4 uses Unassigned, “the value Analytics uses when there are no other channel rules that match the event data” (Analytics Help).

That’s why invented medium values hurt. A newsletter tagged utm_medium=newsletter doesn’t match the Email rule. Unless some other rule matches, it lands in Unassigned. Use email as the medium and put “newsletter” in the source or campaign instead.

Some rules overlap. A facebook source with a paid-social medium fits both the Organic Social and Paid Social descriptions. Google’s article doesn’t spell out how overlaps are resolved, so tag one test link and confirm the channel in Traffic acquisition before you roll a value out.

Note that the paid channels need both parts. Paid Search needs a source that GA4 recognizes as a search site and a paid medium. utm_source=google&utm_medium=cpc fits. utm_source=gads&utm_medium=cpc may not, because gads is not a search site name.

What naming convention should you use?

Pick rules that a new team member can follow without asking anyone.

  1. Lowercase everything. Values are case sensitive, so Facebook and facebook split into two rows.
  2. Use hyphens between words. No spaces, no underscores mixed with hyphens. Spaces turn into %20 or + in URLs and are easy to mistype.
  3. Use fixed lists for source and medium. Nobody types a new value. If a new one is needed, add it to the list first.
  4. Build campaign names from parts in a set order. For example: yyyy-mm_topic_offer. Use the underscore only as the separator between parts, so you can split the name later in a spreadsheet.
  5. Keep utm_content for the variation. Use it to tell apart two links in the same email or two ad creatives.
  6. Log every link. One row per tagged URL, with the date and owner.

Copyable template

Copy this into a sheet. The first table is your fixed vocabulary. The second is your link log.

Approved values

utm_mediumUse forAllowed utm_source values
emailNewsletters, lifecycle emailsnewsletter, crm, partner-email
socialUnpaid postslinkedin, facebook, instagram, x, youtube
paid-socialPaid social adslinkedin, facebook, instagram
cpcPaid search without auto-taggingbing, google
displayBanner and display buyspartner-site-name
affiliateAffiliate partnerspartner-name
referralGuest posts, partner linkspartner-domain
smsText messagessms
qrPrinted QR codesflyer, poster, packaging

Check qr against the channel table before you adopt it. It doesn’t match any default channel rule, so those visits will be Unassigned unless the source matches a rule. If you need them in a default channel, choose a medium from Google’s list instead. If you’re fine seeing them as Unassigned and filtering by medium, keep it. Decide once and write the decision down.

Link log

DateOwnerBase URLutm_sourceutm_mediumutm_campaignutm_contentutm_termFinal URL
2026-10-06(name)https://example.com/pricingnewsletteremail2026-10_pricing_launchheader-buttonhttps://example.com/pricing?utm_source=newsletter&utm_medium=email&utm_campaign=2026-10_pricing_launch&utm_content=header-button

A formula can build the final URL from the columns, so nobody types it by hand.

When should you not use UTMs?

On internal links. Don’t add UTMs to links from one page of your site to another. GA4 doesn’t start a new session for a new campaign value (Analytics Help). The tagged click still gets recorded against the event, which can confuse anyone reading event-level reports. To measure internal promos, use an event instead.

On Google Ads with auto-tagging on. Auto-tagging adds a gclid parameter to your ad URLs, and it’s on by default for new accounts (Google Ads Help). If you use both, GA4 uses the auto-tagged values for source, medium, and other traffic-classification dimensions. Your utm_content and utm_term still fill Manual ad content and Manual term (Analytics Help).

There is one catch. When the gclid can’t be used as intended, GA4 derives all traffic-source values from UTM parameters if any UTM is present. Google recommends setting all relevant UTM parameters if you set one (Analytics Help). So either leave Google Ads URLs without UTMs, or tag them fully and consistently.

On organic search or ordinary referrals. GA4 already detects these. Tagging them overwrites useful data with your own guess.

Common mistakes

  • Mixed case. Email, email, and EMAIL become three rows. Lowercase everything.
  • Made-up mediums. newsletter, blast, or promo as a medium usually end up Unassigned.
  • Source and medium swapped. utm_source=email&utm_medium=newsletter puts the type in the wrong field. Medium is the type of channel. Source is who sent the traffic.
  • Only one or two parameters. Missing values show as (not set) (Analytics Help).
  • UTMs on internal links. See above.
  • Personal data in UTMs. Never put email addresses or names in a parameter. URLs get logged and shared.
  • Shortened links that strip parameters. Click a shortened link once before you send it and check that the UTMs survive the redirect.
  • Using “cross-network” in a campaign name by accident. GA4 puts campaigns whose name contains “cross-network” into the Cross-network channel (Analytics Help).

FAQ

Can I change GA4’s default channel rules? No. Google says channel definitions “can’t be edited” (Analytics Help). Match your medium values to the rules instead.

Should I use utm_id? Use it if you already track campaigns by ID, for example in a cost sheet or ad platform export. It identifies “a specific campaign or promotion” (Analytics Help). If you don’t have IDs, skip it.

Checklist

  • Source, medium, and campaign set on every external campaign link
  • All values lowercase, hyphens between words, no spaces
  • Medium chosen from your approved list, checked against GA4’s default channel rules
  • Campaign name follows your fixed pattern
  • No UTMs on internal links
  • Google Ads URLs either untagged (auto-tagging) or fully tagged
  • No personal data in any parameter
  • Link logged in the sheet
  • Test click checked in GA4 Realtime or Traffic acquisition the next day

Related articles