You send a newsletter, post on LinkedIn, run a podcast sponsorship and share a QR code at a trade show, all in the same week. Traffic goes up. But which campaign worked? Without tracking, Google Analytics lumps much of that traffic into vague buckets like “direct” or “referral”, and you're left guessing.
UTM parameters fix that. They are short tags added to the end of a URL that tell your analytics tool exactly where a visitor came from, which campaign brought them and even which link they clicked. They're free, take seconds to add, and are the single most practical way to make campaign reporting trustworthy.
This guide covers every UTM parameter Google Analytics 4 supports, how GA4 turns them into channels, a naming convention you can adopt today, a step-by-step process for building and testing links, and the mistakes that most often ruin campaign data.
Key Takeaways
- UTM parameters are tags added to a URL (for example
?utm_source=newsletter&utm_medium=email&utm_campaign=spring_sale) that GA4 reads to attribute visits. - Google recommends always using
utm_source,utm_mediumandutm_campaign; values are case sensitive. utm_mediumlargely decides which default channel a visit lands in, so use standard values likeemail,cpc,socialandaffiliate.- Don't add UTMs to internal links or to Google Ads links that already use auto-tagging.
- Keep a shared naming sheet; consistency matters more than any particular convention.
What are UTM parameters?
UTM stands for “Urchin Tracking Module”, a name inherited from Urchin, the analytics company Google acquired in 2005 and whose product became Google Analytics. A tagged URL looks like this:
https://example.com/offer/?utm_source=newsletter&utm_medium=email&utm_campaign=spring_sale_2026&utm_content=hero_button
When someone clicks that link, GA4 records the session's source as newsletter, medium as email, campaign as spring_sale_2026 and content as hero_button. The page itself loads normally; the parameters are just labels.
Every UTM parameter GA4 supports
| Parameter | What it identifies | Example values | Use it? |
|---|---|---|---|
utm_source | The referrer: site, publication or sender | newsletter, linkedin, partner_name | Always |
utm_medium | The marketing medium | email, cpc, social, paid_social, affiliate, display | Always |
utm_campaign | The campaign, promotion or product | spring_sale_2026, webinar_oct | Always |
utm_id | A campaign ID, used to join imported cost or campaign data | cmp_0412 | Recommended |
utm_content | Which creative or link was clicked | hero_button, footer_link, video_a | For A/B tests and multi-link emails |
utm_term | The paid keyword | emergency_plumber | Paid search without auto-tagging |
utm_source_platform | The buying platform directing traffic | Search Ads 360, Display & Video 360 | Recommended where relevant |
utm_creative_format | Creative type (display, native, video) | video | Optional; not currently reported in GA4 |
utm_marketing_tactic | Targeting criteria | remarketing, prospecting | Optional; not currently reported in GA4 |
Google's own guidance is short and worth following exactly:
“Parameter values are case sensitive, e.g. utm_source=google is different from utm_source=Google.”
— Google Analytics Help, URL builders: Collect campaign data with custom URLs
How GA4 turns UTMs into channels
GA4 assigns every session to a default channel group, such as Email, Organic Social or Paid Search, using rules based mainly on source and medium. If your medium doesn't match a rule, the visit lands in Unassigned, which is the most common sign of poor tagging. A few rules from Google's channel definitions:
| Default channel | Rule (simplified from Google's definitions) | Safe utm_medium to use |
|---|---|---|
| Source or medium is email, e-mail, e_mail or “e mail” | email | |
| Organic Social | Source is a known social site, or medium is social, social-network, social-media, sm, etc. | social |
| Paid Social | Source is a known social site and medium matches a paid pattern (contains “cp”, ppc, retargeting, or starts with “paid”) | paid_social or cpc |
| Paid Search | Source is a known search site and medium matches the same paid pattern | cpc |
| Display | Medium is display, banner, expandable, interstitial or cpm | display |
| Affiliates | Medium is affiliate | affiliate |
| Referral | Medium is referral, app or link | referral |
| AI Assistant | Medium is ai-assistant, or the referrer matches Google's list of AI assistants | Not needed; detected automatically |
The lesson: invent your own campaign names freely, but stick to standard medium values. utm_medium=newsletter or utm_medium=linkedin_post will usually end up as Unassigned. If you need different groupings, create a custom channel group in GA4 rather than inventing mediums. For AI referrals specifically, see our guide to tracking AI traffic in GA4.
A naming convention you can adopt today
- Lowercase everything. Avoids duplicates like Facebook vs facebook.
- Use underscores or hyphens, never spaces. Spaces become
%20and are easy to mistype. - Source = where; medium = how; campaign = why. For example source
linkedin, mediumpaid_social, campaignq4_webinar. - Include a date or quarter in campaign names so recurring campaigns don't merge, e.g.
black_friday_2026. - Use utm_content for the variant: creative, placement or link position.
- Record every link in a shared spreadsheet with the date, owner, destination and full tagged URL.
How to build and test UTM links: step by step
- Pick the destination. Use the final, canonical URL of the landing page (no redirects that might strip parameters).
- Choose values from your naming sheet. Source, medium and campaign at minimum; add content for multiple links in one email or ad.
- Build the URL. Use Google's Campaign URL Builder, your email or social tool's built-in UTM fields, or a spreadsheet formula. Start parameters with
?, or with&if the URL already contains a query string. - Shorten if needed. For print, QR codes or social, use a link shortener or QR generator that preserves the full tagged URL.
- Test it. Open the link in a private window, then check GA4's Realtime report for your source, medium and campaign.
- Log it. Add the final URL to your tracking sheet before launch.
- Report. In GA4, open Reports > Acquisition > Traffic acquisition and switch the primary dimension to Session campaign or Session source / medium. Add key events to see which campaigns produced results.
UTMs, GTM and auto-tagging
Google Ads auto-tagging adds a GCLID click identifier to ad clicks. Google's Ads documentation notes that in GA4 auto-tagging is prioritised over manual tagging, so for Google Ads, turn auto-tagging on and treat manual UTMs as a fallback. Other ad platforms (Meta, LinkedIn, Microsoft Ads) support URL parameters or templates that can add UTMs automatically; set them once at account level to avoid mistakes. Tag Manager doesn't create UTMs, but it is where you set up the events and key events that make campaign reports meaningful; see our Google Tag Manager guide.
Common mistakes with UTM parameters
- Tagging internal links. A UTM on a link from your homepage to your pricing page overwrites the visitor's real source in GA4. Never use UTMs between your own pages; use events or content groupings instead.
- Inconsistent capitalisation. “Email”, “email” and “EMAIL” become three rows in your report.
- Custom mediums. Non-standard mediums end up in Unassigned.
- Tagging Google Ads manually while auto-tagging is on. It adds confusion without adding data.
- Redirects that strip parameters. Some redirects, link shorteners or consent tools drop query strings. Test the final landing URL.
- Letting tagged URLs get indexed. If tagged URLs are shared publicly and get crawled, make sure the page's canonical tag points to the clean URL. See our guide to canonical tags.
- Personal data in UTMs. Never put email addresses or names in parameters; it breaches Google Analytics policies and privacy law.
Practical examples by channel
- Newsletter:
utm_source=newsletter&utm_medium=email&utm_campaign=oct_2026_digest&utm_content=top_story. See our email marketing best practices. - Organic LinkedIn post:
utm_source=linkedin&utm_medium=social&utm_campaign=case_study_launch. - Meta ads:
utm_source=facebook&utm_medium=paid_social&utm_campaign=retargeting_q4&utm_content=carousel_a. Our Facebook ads guide covers setup. - Partner or affiliate:
utm_source=partner_name&utm_medium=affiliate&utm_campaign=referral_programme. - Print QR code:
utm_source=trade_show_flyer&utm_medium=offline&utm_campaign=expo_2026(create a custom channel for offline if you use it often).
Once your campaigns are tagged, the next questions are how much credit each channel deserves and how to present it. Read our guides to marketing attribution and SEO reporting, and see SEO KPIs for organic metrics. New to GA4? Start with our GA4 guide.
Related Guides
- How to Build an SEO Dashboard in Looker Studio (Now Data Studio)
- SEO Reporting: What to Include (With Template)
- Marketing Attribution Models Explained
Frequently Asked Questions
Which UTM parameters are required?
None is technically mandatory, but Google recommends always using utm_source, utm_medium and utm_campaign. Missing parameters appear as (not set) in reports.
Are UTM parameters case sensitive?
Yes. In Google Analytics, utm_source=google and utm_source=Google are recorded as different values. Use lowercase consistently.
Should I use UTM parameters on Google Ads links?
Usually not. Enable Google Ads auto-tagging, which adds a GCLID to clicks. Google says GA4 prioritises auto-tagging over manual tagging, so manual UTMs are mainly a fallback when auto-tagging can't be used.
Do UTM parameters affect SEO?
They should not appear on internal links or in your sitemap. If tagged URLs get indexed, use canonical tags pointing to the clean URL. UTMs on links from other sites, emails and ads do not harm SEO.
Why is my UTM traffic showing as Unassigned in GA4?
Usually because the utm_medium value does not match any default channel rule, for example medium=newsletter instead of email. Use standard medium values or create a custom channel group.
Can I track AI assistant traffic with UTMs?
You do not need to. GA4 has an AI Assistant default channel based on known referrers, and ChatGPT adds utm_source=chatgpt.com to links it sends automatically.
Conclusion
UTM parameters are one of the cheapest, highest-impact habits in digital marketing. Tag every external campaign link, keep mediums standard and values lowercase, test before launch and log everything in one place. Within a month your reports will tell you which campaigns actually drive leads and sales. If you'd like help building a clean tracking and reporting setup for your paid and organic campaigns, explore our PPC management services or request a free quote.



