UTM Parameters: The Complete Small Business Guide (Plus a Naming Template)

small business digital marketing Nov 02, 2026

Updated October 2026 · Written by Adrian Prokopiec · 9 min read

UTM parameters are short tags added to the end of a web address so Google Analytics 4 can record exactly where a visitor came from, which channel sent them and which campaign they clicked. Google says to always use three of them, utm_source, utm_medium and utm_campaign, and a US small business can set up a working naming convention in 20 minutes.

Without UTMs, every click from your newsletter, your Instagram bio, your Google Business Profile post and the QR code on your van arrives in Google Analytics looking roughly the same. With them, you can see that the newsletter brought 40 visits and three enquiries while the Instagram post brought 200 visits and none. That is the difference between guessing and knowing where your marketing time is paying off.

This guide covers the five parameters plus the newer ones GA4 added, how GA4 actually reads them, a copy-paste naming template, the ten mistakes that quietly wreck your reports, and a worked set of links for one fictional business. Everything about how GA4 behaves is taken from Google’s own custom campaigns documentation, opened while writing this.

What are UTM parameters and what does each one do?

A UTM parameter is a key and a value stuck on the end of a URL after a question mark. utm_source=newsletter is one parameter. Chain several together with ampersands and you get a tagged link:

https://www.example.com/book?utm_source=newsletter&utm_medium=email&utm_campaign=spring-tune-up

The page the visitor lands on is identical. Only the analytics record changes. Google’s documentation lists nine parameters in total. Here is what each one is for, which ones Google says you must use, and where the value shows up in GA4.

Parameter Required? What goes in it Example Where it lands in GA4
utm_source Yes The referrer: the site, app or place the link lived newsletter, instagram, van-decal Session source
utm_medium Yes The type of channel email, social, cpc, qr Session medium (and decides the channel)
utm_campaign Yes The promotion, offer or theme spring-tune-up Session campaign
utm_id Recommended by Google A campaign ID, mainly for matching uploaded cost data 2027-03-tuneup Campaign ID
utm_term Optional The paid keyword plumber-near-me Session manual term
utm_content Optional Tells two links in the same place apart header-button, footer-text Session manual ad content
utm_source_platform Recommended by Google The buying platform that set budgets and targeting Search Ads 360 Source platform
utm_creative_format Optional Creative type: display, video, search video Not reported in GA4 yet (Google’s words)
utm_marketing_tactic Optional Targeting: remarketing, prospecting prospecting Not reported in GA4 yet (Google’s words)

For a small business, the three required ones do almost all the work. Add utm_content when you have two links to the same page in one email. Ignore the last two until Google starts reporting them. The “where it lands” column for source, medium and campaign comes from Google’s page; the dimension names for the optional parameters are the ones you will see in GA4’s report pickers rather than wording quoted from Google, so check them against your own property.

How does GA4 read UTM parameters?

GA4 reads the tags on the first page of the session and stores them against that session. You then see them under Reports, Acquisition, Traffic acquisition, where you can switch the main column between Session source/medium, Session source, Session medium and Session campaign. Google’s documentation names those four dimensions as the place to look.

Three behaviours trip people up, and all three are stated plainly in Google’s documentation:

  • Values are case-sensitive. Google’s example is that utm_source=google and utm_source=Google are two different sources. SpringSale and Spring_Sale are two different campaigns. Your report splits in half and neither half looks like much.
  • Missing parameters become “(not set)”. Leave off utm_medium and the session has a source but a medium of (not set), which makes it almost impossible to group.
  • The medium decides the channel. GA4’s default channel group rules sort traffic by the medium value. A medium of email lands in the Email channel. A medium containing cp (so cpc, cpm, cpv) or starting with paid lands in a Paid channel. A medium of social lands in Organic Social. Anything the rules don’t recognise lands in Unassigned.

That last point is the one I see broken most often. In the accounts I’ve audited, the single biggest line in Unassigned is usually a well-meaning tag like utm_medium=newsletter or utm_medium=facebook. The owner put the source in the medium slot. GA4 can’t match it to a channel, so a year of email traffic sits in a bucket called Unassigned and the email programme looks like it did nothing.

The one rule to remember — utm_medium is the channel type and must be a word GA4 recognises (email, social, cpc, display, referral, sms, affiliate). utm_source is the specific place. If you only fix one thing today, fix that.

One more thing Google’s page notes: UTM values are stripped out of the Landing page and Page path dimensions and appear only in Page location. So if you’re looking at landing pages and wondering where the tags went, that is why. If you’re still setting GA4 up, do that first with our GA4 setup guide for small business, then come back here.

What naming convention should a small business use for UTM parameters?

The convention matters more than the tool. A convention is just a short list of allowed values, written down once, that everybody who sends a link uses. Google’s own best-practice guidance recommends lowercase as the standard. We add hyphens between words, because underscores and spaces are where typos breed. Here is the template. Copy it into a spreadsheet and don’t let anyone invent new values without adding them to the sheet.

Parameter Rule Allowed values (start here, extend as needed)
utm_medium Only values GA4 recognises as a channel email · social · cpc · display · sms · referral · affiliate · qr (lands in Unassigned by design, see below)
utm_source The platform or physical place, one word newsletter · instagram · facebook · google · gbp · yelp · van · flyer · receipt
utm_campaign year-month-theme, so campaigns sort by date 2027-03-spring-tune-up · 2027-11-black-friday · evergreen-bio-link
utm_content Position or variant, only when two links share a source header-button · footer-text · image · version-a
utm_term Paid search keyword only; skip everywhere else emergency-plumber-phoenix

The year-month prefix on campaigns is the practitioner’s trick. After eighteen months you will have forty campaigns. Sorted alphabetically with the date first, you can read the history straight down the report. Without it, “spring-sale” from three different years merges into one meaningless row.

What are the ten most common UTM mistakes?

  1. Mixed capitalisation: Facebook and facebook are two sources. Lowercase everything, every time.
  2. UTMs on internal links: tagging a link from your homepage to your booking page starts a brand-new session with a fake source and wipes out the real one. Never tag links that stay on your own site.
  3. Missing utm_medium: the session lands as (not set) and no channel rule can catch it.
  4. Source and medium swapped: utm_medium=instagram sends your social traffic to Unassigned. Medium is the type, source is the place.
  5. Spaces in values: a space becomes %20 in the URL and “spring sale” and “spring-sale” report separately. Hyphens only.
  6. Personal information in a tag: never put a customer’s name or email in utm_content to track an individual. It ends up in your analytics, your server logs and anyone’s browser history, and it breaches Google Analytics’ terms.
  7. Tagging Google Ads by hand: Google Ads auto-tags with gclid and GA4 reads it. Manual UTMs on top can override the richer data. Leave auto-tagging on and don’t double up; our guide to what Google Ads cost in the US covers what that data is worth.
  8. Repeating information: utm_source=facebook with utm_campaign=facebook-post tells you nothing twice. Each parameter should add something.
  9. No written convention: three people tagging links from memory will produce six spellings of the same thing within a month.
  10. Never testing the link: click every tagged link once in a private window, then check GA4’s Realtime report shows the right source and medium before the campaign goes out.
Tagged links and SEO — a UTM link creates a second URL for the same page. Google’s canonicalisation documentation explains that signals to a parameterised URL are consolidated into the preferred page once that page is set as canonical. Most website platforms set this automatically, so tagged links are safe for SEO. If you’re unsure, check the page source for a canonical tag pointing at the clean URL.

What does a complete UTM set look like for one small business?

Meet Desert Paws, a fictional mobile dog groomer in Phoenix running a March tune-up promotion. Every link points at the same booking page. Here is every tag she sends out, built from the convention above.

Where the link lives utm_source utm_medium utm_campaign utm_content
Newsletter, header button newsletter email 2027-03-spring-tune-up header-button
Newsletter, footer text link newsletter email 2027-03-spring-tune-up footer-text
Instagram bio link instagram social evergreen-bio-link (blank)
Facebook post about the promo facebook social 2027-03-spring-tune-up (blank)
Boosted Facebook post facebook cpc 2027-03-spring-tune-up video
Google Business Profile post gbp referral 2027-03-spring-tune-up (blank)
QR code on the van van qr evergreen-van (blank)
Printed flyer at the vet flyer qr 2027-03-spring-tune-up vet-counter

The Google Business Profile row matters more than it looks: GBP posts and the website button are a steady lead source for local businesses, and tagging them is the only way to separate them from ordinary Google traffic (see our Google Business Profile optimisation hacks). Two deliberate choices in that table. The boosted post uses cpc as its medium so GA4 files it under Paid Social and keeps it apart from the free post. And the QR codes use a medium of qr, which GA4’s default rules don’t recognise, so they will land in Unassigned. That is fine for a small business: in the Traffic acquisition report you filter by Session medium equals qr and you have a clean offline-to-online report that nothing else pollutes. If it bothers you, GA4 lets you build a custom channel group and give qr its own channel.

Nothing here tracks a person, and nothing is typed from memory: the full link for each row is built once, pasted into the sheet, and copied from there. To make the links, use Google’s Campaign URL Builder, linked from the custom campaigns page; it fills the question marks and ampersands so you can’t get the punctuation wrong. Our social media strategy guide covers where those social links should sit, and the email A/B testing guide shows why the two newsletter rows with different utm_content values matter. If your welcome and follow-up emails run on autopilot, tag those too; the three email sequences every small business needs each deserve their own campaign value so you can see which one converts.

How do you read UTM results in GA4?

Twenty minutes, once a month, is enough. Here is the routine I run on every account, written from practice rather than quoted from Google, so the menu labels may shift slightly as GA4 changes.

1 Open Reports, Acquisition, Traffic acquisition and set the date range to the campaign period. This report is session-based, which is what you want for campaign links; the User acquisition report shows only how a user first found you, ever.
2 Change the primary dimension to Session campaign and find your year-month campaign name. Every tagged link for that promotion rolls up into one row.
3 Add Session source/medium as a secondary dimension to split that campaign into newsletter/email, facebook/social, facebook/cpc and so on. Now you can see which link did the work.
4 Read the key events column, not the sessions column. Visits are vanity. Bookings, calls and form fills are the number. If you haven’t marked those as key events yet, that is the next job.
5 Check the Unassigned channel once. If anything other than your qr traffic is in there, a tag is wrong. Fix the convention sheet, not just the link.

Once the numbers are in front of you, the marketing formulas cheat sheet turns sessions and key events into cost per lead by channel, and the marketing ROI guide shows how to carry that into a monthly report without a data analyst. The terms used throughout this post are defined in plain English in our digital marketing glossary.

Want the full measurement system? take the SEO and AI Visibility course.

Frequently Asked Questions

What does UTM stand for?

UTM stands for Urchin Tracking Module. Urchin was the web analytics company Google bought in 2005, and its software became Google Analytics. The parameter names kept the Urchin prefix, which is why every tracking tag still starts with utm_ two decades later even though nothing else about the tool survives.

What are the five UTM parameters?

The five classic UTM parameters are utm_source, utm_medium, utm_campaign, utm_term and utm_content. Google says the first three should always be used. GA4 added utm_id and utm_source_platform, which Google recommends, and utm_creative_format and utm_marketing_tactic, which Google’s documentation says are not yet reported in Google Analytics.

Are UTM parameters case-sensitive?

Yes. Google’s documentation states that utm_source=google and utm_source=Google are treated as different values, and that SpringSale and Spring_Sale are distinct campaigns. Use lowercase for every value, every time, or your reports will split the same campaign across two or more rows.

Do UTM parameters affect SEO?

Not in practice. A tagged link creates a second URL for the same page, but Google’s canonicalisation guidance explains that signals to a parameterised URL are consolidated into the preferred page when that page is the canonical. Most website platforms set canonical tags automatically. Never put UTMs on links within your own site, though, because that breaks your analytics rather than your SEO.

Should I use UTM parameters on Google Ads?

Usually not by hand. Google Ads auto-tagging adds a gclid parameter that GA4 reads and uses to pull in campaign, ad group and keyword detail. Google’s guidance is to use dynamic tagging where a platform supports it, to avoid manual entry errors. Reserve hand-built UTMs for email, social posts, printed materials and other places nothing tags for you.

Why is my UTM traffic showing as Unassigned in GA4?

Almost always because the utm_medium value is not one GA4’s default channel rules recognise. A medium of newsletter or facebook matches nothing, so the session falls into Unassigned. Change the medium to email, social, cpc, display, referral or sms and the traffic will sort itself into the right channel from the next click onward.

Related: Google Analytics 4 for small business: the setup guide

Want to know which marketing actually brings in customers?

Tagging links is the first step. Learn the whole system, from tracking to reporting to acting on the numbers, in 20-minute lessons built for people who run a business.

Explore the short courses →

Built for busy learners and small business owners.

About the Author

Adrian Prokopiec

Adrian Prokopiec is the founder of 20 Minute Marketing, where he turns 25+ years in digital marketing into practical, no-jargon advice for small business owners and people learning digital marketing. He has held senior digital leadership roles growing some of Australia's largest online brands across travel, property and education, and now helps founders and learners who don't have agency budgets get real results in the time they actually have.

Connect with Adrian on LinkedIn →

Learn digital marketing in 20 minutes a day

Self-paced courses from someone who runs digital for two national brands. Build skills you can show an employer or a client.

Find the right course for you