What Are UTM Parameters (and Why GA4 Needs Them)?
A practical guide for digital marketers and growth teams.
The Problem UTMs Solve
When a user arrives at your site from a Google Ad, a newsletter, or an Instagram story, Google Analytics 4 doesn't always know where they came from. Without UTM parameters, all of this traffic can be lumped into the vague "Direct" or "Referral" bucket — making ROAS calculations and campaign attribution nearly impossible.
UTM (Urchin Tracking Module) parameters are short snippets of text appended to your landing page URL. When a user clicks your tagged link, GA4 reads those parameters and logs the session with complete attribution data.
The 5 UTM Parameters Explained
| Parameter | Required? | Example Values | GA4 Dimension |
|---|---|---|---|
utm_source | Yes | google, newsletter, facebook | Session Source |
utm_medium | Yes | cpc, email, social, organic | Session Medium |
utm_campaign | Yes | spring_sale, brand_awareness | Session Campaign |
utm_term | No | running+shoes, buy+crm+software | Session Manual Term |
utm_content | No | hero_banner, text_cta, blue_button | Session Manual Ad Content |
Reading UTM Data in GA4
In Google Analytics 4, navigate to Reports → Acquisition → Traffic Acquisition. The default "Session default channel group" will break down traffic by channel, but the real power is switching the primary dimension to Session Campaign, Session Source / Medium, or Session Manual Ad Content.
This allows you to directly compare the performance of two email subject lines (using utm_content=subject_a vs subject_b), measure which ad creative drives the most conversions, or validate whether your influencer campaign is generating meaningful last-touch revenue.
UTM Naming Conventions: Best Practices
- 1Use lowercase consistently. GA4 is case-sensitive. `Google` and `google` will appear as two separate sources.
- 2Use underscores, not spaces. Spaces become `%20` in URLs, which is ugly and harder to filter in reports.
- 3Be specific but consistent. Decide on a naming taxonomy (e.g. `medium = cpc` for all paid clicks) and document it in a shared spreadsheet.
- 4Never tag internal links. Applying UTM parameters to links between your own pages will corrupt your session data and inflate campaign numbers.
- 5Use utm_term for paid keywords only. Google Ads can auto-tag these with ValueTrack parameters (`{keyword}`), so manual entry is only needed for non-Google paid campaigns.