UTM parameters are tags added to the end of a URL that tell an analytics tool where a visit came from. When someone clicks a link ending in ?utm_source=newsletter&utm_medium=email, GA4 records that session as newsletter email traffic.
Every attribution model depends on those labels being right. A data-driven model will still credit the wrong channel if the visits feeding it were tagged inconsistently. Models themselves are covered in What Is an Attribution Model?.
Parameters and What They Populate
GA4’s campaign parameter documentation lists the supported parameters:
| Parameter | Purpose | Example |
|---|---|---|
| utm_source | The referrer | newsletter, linkedin, google |
| utm_medium | The marketing medium | email, cpc, paid_social |
| utm_campaign | Product, slogan, or promotion | fall_sale |
| utm_id | Campaign ID | cmp_2026_09 |
| utm_term | Paid keyword | payroll_software |
| utm_content | Differentiates creatives | video_15s |
| utm_source_platform | The platform directing traffic | Search Ads 360 |
| utm_creative_format | Type of creative | video |
| utm_marketing_tactic | Targeting approach | remarketing |
The documentation notes that utm_creative_format and utm_marketing_tactic aren’t currently reported in GA4 properties.
Channel Rules Are Pattern Matches
GA4’s default channel group assigns sessions based on conditions on source and medium. A few examples show why small wording choices matter:
- Email requires source or medium to match values such as “email,” “e-mail,” “e_mail,” or “e mail.” A medium of “newsletter” doesn’t qualify on its own.
- Paid Social requires a source recognized as a social site and a medium matching paid patterns such as “cpc,” “ppc,” “retargeting,” or values starting with “paid.” A “facebook / ad” tag doesn’t land there.
- Organic Social accepts a recognized social source or a medium such as “social,” “social-media,” or “sm.”
Most “Unassigned” traffic in GA4 reports comes from creative medium values that don’t match any rule, not from a tracking failure.
GA4 Is Case-Sensitive
GA4 records “Instagram” and “instagram” as two separate sources. A team where different members use different capitalizations will see a single source split across three lines in reports. Writing all values lowercase and using underscores instead of spaces prevents this split.
The same applies to non-ASCII characters. A source value of “café” will encode for transmission and may display incorrectly in some tools. Use “cafe” instead so reporting reads the same everywhere.
A Taxonomy Built for Multiple Teams
In agencies and larger in-house teams, the problem is rarely knowing what UTMs are. It’s five people tagging links five different ways. GA4 is case-sensitive, so “LinkedIn,” “linkedin,” and “linked_in” become three separate sources.
| Field | Rule | Allowed values or format |
|---|---|---|
| utm_medium | Closed list only | email, sms, cpc, paid_social, social, referral, qr |
| utm_source | Closed list per medium | google, meta, linkedin, tiktok, newsletter, partner name |
| utm_campaign | Date plus topic, lowercase | 2026_09_fall_sale |
| utm_content | Creative or placement difference | video_15s, carousel_a |
| utm_id | Matches the ID in the ad platform or planning sheet | cmp_2026_09_014 |
Every value is lowercase, and underscores replace spaces. The list lives in a shared sheet or link builder, and new values are added only through one owner. Closing the medium list is what keeps channel reports clean. Source and campaign can grow freely without breaking channel grouping.
Where UTMs Are Needed
| Channel | Tag with UTMs? | Note |
|---|---|---|
| Google Ads | Usually no | With auto-tagging enabled, campaign data arrives through gclid. |
| Meta ads | Yes | Most platforms support dynamic URL parameters for campaign and ad names. |
| Email newsletters | Yes | Most email tools can append UTMs automatically. |
| SMS | Yes | Link traffic from SMS may lose source information if opened in-app. |
| QR codes and print | Yes | Without tags, this traffic mostly falls into Direct. |
| Influencer partnerships | Yes | A separate utm_content per influencer isolates their performance. |
Dynamic parameters on ad platforms
Meta supports dynamic values in URL parameter fields that auto-populate campaign and ad names. This means you don’t need to manually write UTMs for each ad. However, if your campaign names contain Turkish characters or spaces, those characters carry into the UTM values. Campaign names should be UTM-compatible from the start.
SMS and consent tracking in regulated markets
In markets like Turkey, commercial SMS requires explicit opt-in consent. UTM-tagged SMS links are the most practical way to measure the real return on consent-compliant campaigns. Consent requirements are covered in E-mail and SMS Marketing: The Consent Rules.
Common Mistakes
Tagging internal links. A UTM on a homepage banner rewrites the session’s source for a visitor who is already on the site, overwriting the paid or organic source that brought them.
Manual UTMs on top of Google Ads auto-tagging. Two sources of campaign data can conflict. For linked Google Ads and GA4 accounts, auto-tagging alone is usually more consistent.
Redirects that drop parameters. Link shorteners and redirect rules don’t always preserve query strings. The final landing URL should be checked before launch.
Summary
UTM parameters label where visits come from. GA4 turns those labels into channels through pattern-matching rules, mostly on medium, and anything that doesn’t match becomes Unassigned. A closed medium list, lowercase values, and a single owner for the taxonomy keep reports usable across teams. Internal links stay untagged, and Google Ads relies on auto-tagging.