How to Use UTM Parameters to Track Marketing Campaigns
What each UTM parameter does, a naming convention template your whole team can follow, and the mistakes that quietly ruin campaign data in Google Analytics.
UTM parameters are tags added to the end of a link that tell Google Analytics where a visitor came from. Use utm_source, utm_medium and utm_campaign on every campaign link, add utm_content and utm_term when needed, write everything in lowercase, follow one shared naming convention and never tag links between pages on your own site.
Photo: Unsplash
On this page
You ran a newsletter, 3 Facebook posts, a partner promotion and a flyer with a QR code in the same week. Sales went up. Which one worked? Without tracking, Google Analytics lumps much of that traffic into vague buckets such as “direct” or “referral”, and you are left guessing.
UTM parameters fix that. They are short tags added to the end of a link that tell your analytics tool exactly where a visitor came from, which campaign brought them and even which button they clicked. They are free, they work with Google Analytics 4 and most other analytics tools, and they take seconds to add.
The hard part isn’t adding UTMs. It’s keeping them consistent. This guide explains each parameter, gives you a naming convention template you can copy and shows the mistakes that quietly ruin campaign data.
What UTM parameters are
A UTM-tagged link looks like this:
https://yourbusiness.com/spring-sale?utm_source=newsletter&utm_medium=email&utm_campaign=spring_sale_2026
Everything after the question mark is tracking information. The visitor still lands on the normal page. When they arrive, Google Analytics reads the tags and records the visit under that source, medium and campaign.
UTM stands for Urchin Tracking Module, a name left over from Urchin, the analytics company Google bought before launching Google Analytics.
The UTM parameters and what each one does
Google Analytics 4 supports these parameters. The first 3 should be on every tagged link.
| Parameter | What it records | Example values | Use it |
|---|---|---|---|
| utm_source | Where the traffic came from: the site, platform or publication | newsletter, facebook, partner_site, flyer | Always |
| utm_medium | The type of marketing channel | email, social, cpc, display, affiliate, referral | Always |
| utm_campaign | The specific campaign, promotion or product | spring_sale_2026, new_menu_launch | Always |
| utm_content | Which link or creative was clicked | header_button, footer_link, video_ad_a | When testing creatives or several links |
| utm_term | The paid search keyword | emergency_plumber | Mainly for paid search not auto-tagged |
| utm_id | A campaign ID that matches data you upload | spr26_001 | If you import campaign cost data |
| utm_source_platform | The ad platform directing traffic | search_ads_360 | Mainly for ad platforms |
Google also lists utm_creative_format and utm_marketing_tactic, but notes they aren’t currently reported in Google Analytics properties.
Why utm_medium matters most
Google Analytics 4 sorts traffic into default channel groups, such as Email, Organic Social, Paid Search and Display. It decides largely by looking at your utm_medium value. If you use a value GA4 doesn’t recognize, the traffic can end up in “Unassigned”, which makes your channel reports useless.
These values match GA4’s default channel rules:
| Channel in GA4 | utm_medium values that match |
|---|---|
| email, e-mail, e_mail or e mail | |
| Organic Social | social, social-network, social-media, sm, social network or social media (or a recognized social source) |
| Paid Social | A paid medium such as cpc, ppc or paid_social, with a recognized social source such as facebook |
| Paid Search | A paid medium such as cpc or ppc, with a recognized search engine source |
| Display | display, banner, expandable, interstitial or cpm |
| Affiliates | affiliate |
| Referral | referral, app or link |
Key takeaway: Choose your utm_medium values from GA4’s default channel rules and never improvise. “Newsletter” as a medium lands in Unassigned. “email” lands in Email, where it belongs.
A UTM naming convention template
A naming convention is a short set of rules your whole team follows. Without one, you’ll end up with “Facebook”, “facebook”, “fb” and “FB-Ads” as 4 separate sources. Google notes that parameter values are case sensitive and recommends lowercase as a standard.
Copy this template and adjust it to your business.
General rules
- Lowercase only.
- Use underscores between words, never spaces.
- No special characters other than underscores and hyphens.
- Keep values short and readable.
- Every new value goes into the shared tracking sheet before it’s used.
Field rules
| Field | Format | Approved examples |
|---|---|---|
| utm_source | Platform or publication name | facebook, instagram, linkedin, tiktok, newsletter, partner_name, yelp, flyer, postcard, podcast_name |
| utm_medium | GA4 channel value only | email, social, paid_social, cpc, display, affiliate, referral, print, qr |
| utm_campaign | topic_offer_yyyy_mm | spring_sale_2026_03, open_house_2026_10, new_menu_2026_09 |
| utm_content | placement_or_creative_version | header_button, footer_link, carousel_a, video_b |
| utm_term | keyword_with_underscores | water_heater_repair |
Note that print and QR mediums don’t match a default GA4 channel, so that traffic will show as Unassigned in the default view. That’s fine if you track it deliberately. You can also create a custom channel group in GA4 that gives offline sources their own channel.
The tracking sheet
Keep one shared spreadsheet with these columns: date created, owner, campaign name, destination URL, source, medium, campaign, content, term and the final tagged URL. This becomes your campaign log and stops duplicates. If the data ever gets messy, our guide to cleaning data helps you standardize it.
How to build a UTM link step by step
- Pick the destination page. Send people to the most relevant page, not just your home page.
- Look up your convention and choose values from the approved list.
- Build the link. Use Google’s free Campaign URL Builder, a spreadsheet formula or the link builder in your email or social tool. Many email platforms can add UTMs to every link automatically.
- Shorten it if needed. Long URLs look messy in social posts and on print. A link shortener or QR code generator can wrap the tagged URL.
- Test it. Click the link, then open the Realtime report in Google Analytics and check the traffic source.
- Log it in your tracking sheet.
For an email newsletter with 2 links to the same offer, you might use:
?utm_source=newsletter&utm_medium=email&utm_campaign=fall_tuneup_2026_10&utm_content=header_button?utm_source=newsletter&utm_medium=email&utm_campaign=fall_tuneup_2026_10&utm_content=footer_link
The same pattern works for the flows in our email automation workflows guide. Give each flow its own campaign value.
Mistakes that ruin UTM data
- Tagging internal links. Never add UTMs to links between pages on your own site, such as a homepage banner. It can overwrite the real source of the visit and break attribution.
- Tagging Google Ads links manually. Google Ads auto-tagging adds a click identifier (GCLID) and is on by default for new accounts. In GA4, auto-tagging takes priority over manual UTM tags, so manual tags on Ads links add little. Link Ads to Analytics instead, as covered in our Google Ads for beginners guide.
- Mixing case. “Email” and “email” are different values in your reports.
- Inventing mediums. Mediums such as “newsletter” or “blast” fall outside the default channel rules.
- Tagging organic search or normal referrals. Search engines and other websites already pass their own source. You only tag links you control.
- Forgetting offline campaigns. Flyers, postcards, signs and vehicle wraps can all use a QR code with a tagged URL, or a short vanity URL that redirects to one.
- Putting personal data in UTMs. Never include email addresses, names or phone numbers in URL parameters.
Where to start: a 5-step rollout
- Make sure GA4 is set up correctly, with key events marked. Our Google Analytics 4 setup guide walks through it.
- Write your convention using the template above and share it with everyone who creates links, including agencies.
- Create the tracking sheet and add your current campaigns.
- Tag every link you control: email, social posts, partner promotions, influencer links and QR codes.
- Review monthly. In GA4, open Reports > Acquisition > Traffic acquisition, switch the dimension to “Session campaign” or “Session source / medium” and look for typos, Unassigned traffic and campaigns that drive key events.
Once your campaign data is clean, you can tie it to revenue and measure marketing ROI by channel and campaign, or feed it into a simple business dashboard.
Conclusion
UTM parameters are the cheapest marketing analytics upgrade you can make. Tag every link you control with source, medium and campaign, use lowercase values from an agreed list, choose mediums that match GA4’s channel rules and keep a shared log. In a month, you’ll know which campaigns actually bring customers, and you can stop paying for the ones that don’t.
Sources
- Google Analytics Help: URL builders and UTM parameters — supported parameters, case sensitivity and the Campaign URL Builder
- Google Analytics Help: Default channel group — how utm_medium values map to channels
- Google Ads Help: About auto-tagging — GCLID, default status and priority over manual tags in GA4
Frequently asked questions
What are UTM parameters used for?
UTM parameters are used to track where website visitors come from. You add them to the end of links in emails, social posts, ads and QR codes, and Google Analytics records the source, medium and campaign for each visit. That lets you see which campaigns bring visitors, leads and sales.
Do UTM parameters affect SEO?
No, UTM parameters used correctly don't hurt SEO. You only add them to links on other platforms, such as emails and social posts, not to links within your own site. Search engines generally treat tagged URLs as duplicates of the main page, and using canonical tags on your pages helps make that clear.
Are UTM parameters case sensitive?
Yes, UTM parameter values are case sensitive in Google Analytics, so utm_source=Facebook and utm_source=facebook appear as separate sources. Google recommends using lowercase as a standard. Pick lowercase for every value and write it into your naming convention so everyone on the team follows the same rule.
Should I use UTM parameters on Google Ads?
Usually not. Google Ads auto-tagging adds a GCLID to ad clicks and is on by default for new accounts, and GA4 gives auto-tagging priority over manual UTM tags. Link your Google Ads and Analytics accounts instead. UTMs are still useful for other ad platforms that don't integrate directly.
What is the difference between utm_source and utm_medium?
utm_source is where the traffic came from, such as facebook, newsletter or a partner's site. utm_medium is the type of channel, such as email, social or cpc. Google Analytics uses the medium, often together with the source, to sort traffic into default channels like Email or Paid Social.
Can I use UTM parameters on QR codes?
Yes, and you should. Build a tagged URL with a source such as flyer or postcard, a campaign name and a medium such as print or qr, then turn that URL into a QR code. This shows how many visits and key events each piece of printed marketing drives.
Why does my UTM traffic show as Unassigned in GA4?
UTM traffic shows as Unassigned when the utm_medium or source doesn't match any of GA4's default channel rules. Values like "newsletter" or "blast" as a medium are common causes. Switch to recognized values such as email or social, or create a custom channel group for sources like print.
Was this guide useful
No reviews yet. Share your experience and help other readers.