Best AI Tools for Marketing in 2026: The Lean Stack That Actually PaysHow Much Do Google Ads Cost in 2026? CPC by Industry and a Starter Budget That WorksHow to Sell Digital Products on Etsy: Listings, Fees, and the First 30 DaysWhat Is ROAS? The Formula, the Break-Even Math, and Why a 'Good' Number Can Still Lose MoneyUTM Parameters Explained: The 5 Tags That Show Which Campaign Actually WorksHow to Become a Virtual Assistant in 2026: Skills, Rates, and Your First ClientHow to Make Money on Etsy in 2026: Real Fees, Niches That Sell, and a First-90-Days Plan75 ChatGPT Prompts for Business: Sales, Operations, Support, Finance and HRTikTok Shop Affiliate: How to Join, Pick Products, and Earn Commission in 2026Best AI Tools for Lawyers in 2026: By Task, With Real Prices
Tools 1 Nov 2026 12 min read

UTM Parameters Explained: The 5 Tags That Show Which Campaign Actually Works

UTM Parameters Explained: The 5 Tags That Show Which Campaign Actually Works

UTM parameters are five short tags you stick on the end of a link — utm_source, utm_medium, utm_campaign, utm_term, and utm_content — so Google Analytics can tell you exactly which campaign, channel, and creative sent each visitor. Without them, most of your traffic shows up as a mystery. With them, every click carries its own label, and your reports finally answer the question every marketer actually asks: what brought this person here?

We learned this the expensive way. On a client store, we ran the same sale across an email blast, three Instagram posts, and two influencer links, and Analytics lumped most of it under “direct” and “referral.” The email looked like a flop. The influencers looked like heroes. Once we tagged every link properly and reran the same promotion, the picture flipped: email drove three times the conversions of the influencer posts, at zero media cost. We had nearly killed our best channel because we couldn’t see it.

The five parameters, and what each one answers

Every UTM-tagged link answers five questions, though only the first three are required. Google’s own Analytics documentation says to always set source, medium, and campaign — the other two are optional detail.

ParameterQuestion it answersExample value
utm_sourceWho sent the traffic?newsletter, instagram, google
utm_mediumWhat kind of channel was it?email, social, cpc
utm_campaignWhich campaign or promotion?black-friday-2026
utm_termWhich paid-search keyword triggered the click?running+shoes
utm_contentWhich exact link or creative was clicked?hero-button, footer-link

A finished link looks like this:

https://yourstore.com/sale?utm_source=newsletter&utm_medium=email&utm_campaign=black-friday-2026

The first parameter follows a ?. Every one after it is joined with &. Order doesn’t matter. Spelling does — values are case-sensitive, and we’ll come back to that because it ruins more reports than any other mistake.

Why untagged traffic lies to you

A click from an email app, a QR code, or a link in an Instagram bio carries no referrer most of the time, so GA4 files it under “(direct)” — a bucket that means “we couldn’t tell,” not “this person typed your URL.” We’ve seen stores where 40% of sessions sat in that bucket while the owner swore their Instagram was driving everything. It probably was. There was just no tag proving it.

Tags also fix the opposite problem: double-counting credit. When you run paid ads, the ad platform reports its own wins generously. Our Facebook ads cost benchmarks show why that matters — WordStream and LocaliQ’s 2025 data put the average Facebook lead click at $1.92, but that number only means something if you can match ad spend to real sessions and sales in your own analytics. UTM tags are the bridge between the platform’s story and yours.

Start with the destination URL, exactly as it appears on your site. Then add the three required parameters. Then, only if you need them, the optional two.

A newsletter example:

https://yourstore.com/sale?utm_source=newsletter&utm_medium=email&utm_campaign=black-friday-2026&utm_content=top-banner

An Instagram bio link for the same sale:

https://yourstore.com/sale?utm_source=instagram&utm_medium=social&utm_campaign=black-friday-2026&utm_content=bio-link

Same campaign name, different source and medium. In GA4’s Traffic acquisition report, the campaign rolls up into one row, and source/medium splits it back apart. That one naming choice — one campaign name shared across channels — is what turns a pile of links into a report you can actually read.

Don’t build these by hand every time. Our free UTM Builder generates the tagged URL and catches the formatting slips (a missing ?, a space in a value) that hand-typing invites.

The naming rules that save your reports

The mistake we see most often is not missing tags. It’s sloppy ones. A team tags half its links utm_source=Facebook, half utm_source=facebook, and a few utm_source=FB, then wonders why Facebook appears as three separate sources. Google treats those as three different values. Pick lowercase, pick dashes instead of spaces, and write the convention down somewhere the whole team can see it.

Four rules we enforce on every account we touch:

  • Lowercase everything. Email and email are two rows in your report. So are Black-Friday and black-friday.
  • Use dashes, never spaces or underscores, in values. Spaces get encoded as %20 and make reports unreadable; underscores are fine technically but dashes read better.
  • Never tag internal links. UTM tags on links inside your own site overwrite the original source. A visitor who arrived from Google, then clicked a tagged banner on your homepage, gets reattributed to the banner. That one destroys session data quietly, for months, before anyone notices.
  • Keep utm_medium to a short approved list. Ours is: email, social, cpc, organic, referral, affiliate, qr, sms. If a new medium appears, it gets added to the list first, not invented on the fly in a link.

One honest caveat: we’re not sure yet how much of the newer GA4 parameters most small stores need. utm_id matters if you import cost data into GA4, since it’s the key that joins spend to sessions. The rest can wait until your reports are clean on the core five.

Where the data shows up in GA4

Nothing needs enabling — GA4 reads UTM parameters automatically. Open Reports, then Acquisition, then Traffic acquisition. Switch the first column’s dimension to Session source / medium, Session campaign, or Session source, and add a second dimension (Session manual ad content for utm_content, Session manual term for utm_term) with the plus button.

One quirk worth knowing: UTM values don’t appear in the Landing page + query string or Page path + query string dimensions. Google strips them there. If you want the full tagged URL, use the Page location dimension instead.

Tags also sharpen the rest of your measurement. Our Google Ads conversion tracking setup covers the tag side of paid search; UTMs cover everything that isn’t auto-tagged by Google — email, social, influencers, QR codes, podcast show notes, partner links. And once sessions are labeled, our ad spend and ROI tracking spreadsheet is where the numbers from every channel finally meet in one place, so you can compare a $1.92 Facebook click against a free email click on equal footing.

The bad practice to drop: tagging everything, including your own site

Some guides tell you to tag every link you publish, full stop. Don’t. Tag links you place outside your site — ads, emails, social bios, influencer briefs, guest posts, QR codes. Leave internal navigation alone. The same goes for tagging links in a way that leaks private data: never put a customer’s email address, order ID, or discount code in a UTM value. Those values end up in analytics reports that more people see than you think.

A starter convention you can copy

If you’re starting from zero, steal this one. It covers most small businesses without a committee meeting:

  • utm_source: the platform or sender — newsletter, instagram, facebook, google, partner-blog
  • utm_medium: one of email, social, cpc, referral, qr, affiliate
  • utm_campaign: the promotion, dated — black-friday-2026, spring-launch
  • utm_content: the placement — hero-button, bio-link, footer-link, story-swipe
  • utm_term: paid search keywords only — leave it blank everywhere else

Run with that for a month, then open the campaign report and look for the surprises. On our client accounts, the surprise is usually the same: a free channel quietly outperforming a paid one. That’s the whole point of tagging — not prettier reports, but decisions you’d have gotten wrong without them.

FAQ

What are UTM parameters?

UTM parameters are five tags — source, medium, campaign, term, and content — added to a URL so analytics tools can record where a visit came from. The name comes from Urchin Tracking Module, the system Google acquired in 2005 that became Google Analytics. Source, medium, and campaign are the three you should always set.

Do UTM parameters work with GA4?

Yes. GA4 reads them automatically with no setup required, and the values appear in the Traffic acquisition report under Session source, Session medium, and Session campaign. Google’s documentation recommends always setting all three required parameters, and keeping values lowercase and consistent.

Should I add UTM parameters to Google Ads links?

Usually not. Google Ads auto-tagging already attaches a click ID that imports campaign, keyword, and cost data into GA4, so manual UTMs are redundant there. Add UTMs when you want one campaign name to line up across Google and every other platform in the same report — but don’t let them replace auto-tagging.

Can UTM parameters track QR codes and offline campaigns?

Yes, and that’s one of their best uses. A QR code on a flyer, a trade-show banner, or a podcast mention has no referrer at all, so without a tag the visit lands in “(direct).” Tag the QR destination with utm_medium=qr and a campaign name, and offline traffic becomes measurable like any other channel.