Campaign Tracking20 min readJune 28, 2026

UTM Parameters: The Complete Guide (And Why They're Named After a Sea Creature)

A no-BS guide to UTM tracking — what the parameters actually mean, the naming convention mistakes that silently destroy your attribution data, and how to build a system your whole team won't break.

UTMCampaign TrackingGoogle AnalyticsAttributionMarketing Measurement

UTM parameters are short tags appended to a URL that tell your analytics platform where a visitor came from, what campaign brought them, and which specific link they clicked. They don't change what the user sees — they're invisible to everyone except your analytics tool. A UTM-tagged URL looks like this:

https://marketertools.fyi/?utm_source=newsletter&utm_medium=email&utm_campaign=june-launch

Without UTMs, every click from that email would show up in Google Analytics as "direct" — meaning you'd have no idea the campaign worked. Or worse, GA4 would credit Google search for a conversion that actually came from your email, and you'd keep cutting email budget while pumping money into paid.

That's the business case in two sentences. Now let's get into the real stuff.

Quick answer: A UTM parameter is a tracking tag added to a URL (e.g., ?utm_source=google&utm_medium=cpc&utm_campaign=brand) that tells your analytics tool exactly which channel, campaign, and creative drove each visit. There are five standard parameters: utm_source, utm_medium, utm_campaign, utm_content, and utm_term. Always use lowercase. Never tag internal links.


Table of Contents


Why "UTM"? The Surprisingly Interesting Origin Story

The term "UTM" stands for Urchin Tracking Module — named after Urchin Software Corporation, a San Diego-based web analytics company that Google acquired in April 2005 for a reported $30 million.

Urchin's tracking system used these URL parameters to pass campaign data into their analytics product. When Google rebuilt Urchin into Google Analytics, they kept the parameter naming convention. The sea creature became a permanent fixture of the internet.

Here's the irony: the company was named after sea urchins because the founders thought urchins, despite their spiny and off-putting exterior, are secretly elegant creatures. Campaign tracking parameters are kind of the same — ugly URLs hiding a surprisingly elegant attribution system.


The 5 UTM Parameters, Explained Without Jargon

There are five standard UTM parameters. Three are required, two are optional.

ParameterRequired?PurposeExample
utm_sourceYesWhere the traffic originatesgoogle, newsletter, twitter
utm_mediumYesThe channel typecpc, email, social, organic
utm_campaignYesThe campaign namesummer-sale, brand-awareness-q3
utm_contentNoDifferentiates links within the same ad/emailhero-cta, footer-link, banner-a
utm_termNoThe paid search keyword that triggered the adutm+builder+free, campaign+tracking

The required three (source, medium, campaign) are the minimum viable set for meaningful attribution. The optional two (content, term) unlock the next level — A/B testing creative elements and keyword-level bid optimisation.

Think of it like a postal address. utm_source is the city, utm_medium is the street, utm_campaign is the building. Without all three, the package is lost.

GA4 also supports a sixth parameter, utm_id, which maps to a campaign ID in your CRM or ad platform — useful for connecting GA4 sessions to your backend data warehouse.


The Capitalization Trap (How Teams Silently Break Their Own Data)

This is the most common error in UTM implementation, and it's almost never caught until someone pulls a report and notices their numbers don't add up.

Google Analytics 4 treats UTM values as case-sensitive strings. That means:

  • utm_source=Google and utm_source=google appear as two separate sources in your reports
  • utm_campaign=Summer_Sale and utm_campaign=summer_sale are counted as different campaigns
  • utm_medium=Email and utm_medium=email will split your email traffic in half

In practice, this happens when multiple people or agencies are building UTMs without a shared convention. One team member types Google, another types google. Six months later, you're looking at a report that shows Google drove 8,000 sessions when it actually drove 14,000 — half of your data is hiding under Google with a capital G.

The fix is boring but non-negotiable: lowercase everything, always. No exceptions. Build it into your UTM builder template so the field auto-lowercases input before generating the URL.


The Naming Convention Problem Nobody Talks About

Capitalization is the obvious mistake. The less obvious one is inconsistent naming conventions across campaigns.

Consider a company running LinkedIn ads. Over the course of a year, their UTM sources might include:

  • linkedin
  • LinkedIn
  • linked_in
  • linkedin-ads
  • li
  • LI

All of these appear as separate traffic sources in GA4. When the CMO asks "how much did LinkedIn drive last quarter?" the answer is: you genuinely can't tell without manually aggregating six different rows.

The solution is a UTM naming taxonomy — a shared document that defines the exact values your team uses for each parameter. It doesn't need to be complicated. A simple table works:

Channelutm_sourceutm_mediumNotes
Google Search Adsgooglecpc
Google Displaygoogledisplay
Meta (Facebook/Instagram)metapaid-social
LinkedIn Adslinkedinpaid-social
Company Newsletterinternal-newsletteremail
Partner Newsletter[partner-name]emailUse partner's name
Organic Social[platform]sociale.g. twitter, instagram

The specifics don't matter as much as consistency. Pick your convention once, write it down, and enforce it ruthlessly.


Complete Platform Vocabulary for 2026

The marketing channel mix has expanded dramatically since UTM conventions were first standardized. Here's a comprehensive vocabulary table covering every major platform your team is likely using in 2026. Copy this as your team's canonical reference.

Platform / Channelutm_sourceutm_mediumutm_content example
Google Search Adsgooglecpcbrand-exact, competitor
Google Displaygoogledisplayretargeting-banner
Google Performance Maxgooglepmaxshopping-feed
Google Shoppinggoogleshoppingproduct-feed
YouTube Adsyoutubevideopreroll-30s
Meta (Facebook Feed)metapaid-socialfb-feed-carousel
Meta (Instagram Feed)metapaid-socialig-feed-single
Meta (Instagram Stories)metapaid-socialig-stories-swipeup
Meta (Reels)metapaid-socialig-reels
TikTok Adstiktokpaid-socialspark-ad-ugc
TikTok Organictiktoksocialorganic-post
LinkedIn Adslinkedinpaid-socialsponsored-content
LinkedIn Organiclinkedinsocialcompany-post
Twitter/X Adstwitterpaid-socialpromoted-tweet
Twitter/X Organictwittersocialorganic-tweet
Pinterest Adspinterestpaid-socialshopping-pin
Snapchat Adssnapchatpaid-socialstory-ad
Reddit Adsredditpaid-socialpromoted-post
WhatsApp (broadcast)whatsappmessagingpromo-blast
SMS / Textsmssmsabandoned-cart
Company Newsletterinternal-newsletteremailmay-digest-hero
Transactional Email[esp-name]emailorder-confirm
Influencer / Creator[creator-handle]influencerig-story-code
Affiliate[affiliate-name]affiliate
Podcast Ad[podcast-name]podcastmid-roll
Programmatic / DSP[dsp-name]displayprospecting
Press / PR Article[publication]referral
Direct / Newsletter Link (external)[partner-name]email
QR Code (print)printqrstorefront-poster
QR Code (packaging)packagingqrunboxing-insert
Push Notification[app-name]pushreengagement

Rule of thumb for utm_medium: Use the channel type, not the platform. paid-social for all paid social platforms keeps your channel groupings clean in GA4. Use cpc only for search and display only for display/banner inventory.


What Happens When You Don't Tag Links (A Real Attribution Horror Story)

In 2019, a DTC skincare brand was running a mix of channels: Facebook ads, influencer campaigns, a monthly email, and some affiliate partnerships. Their month-over-month "direct" traffic kept growing, which their CEO interpreted as brand strength — people were just typing the URL directly into the browser.

Their performance marketing team started cutting email and influencer budgets to fund more Facebook ads because "direct" wasn't attributable to anything that cost money, so Facebook was showing the best incremental ROI.

Six months later, they hired a new analytics consultant who noticed something odd: their "direct" traffic spiked every time an email went out, and correlated almost perfectly with influencer post dates. The influencers were using link-shorteners that stripped UTM parameters. The email team had been sending un-tagged links for nine months.

They'd been defunding two of their most effective channels to double down on Facebook, based entirely on misattributed data. The influencer campaigns had a 3.2x ROAS that was being credited to "direct" because nobody built UTMs into the influencer brief.

The fix cost nothing. The lesson cost six months of budget and some significant relationship repair with influencer partners they'd quietly cut.


When NOT to Use UTMs

UTMs solve attribution for inbound traffic. But there are two scenarios where they actively cause problems:

1. Internal links. Never put UTMs on links that go from one page to another on your own site. If a user lands on your homepage from a newsletter (with correct UTMs), then clicks an internal link to a product page (which also has UTMs), GA4 will start a new session and credit the product page visit to the internal link — wiping out the newsletter attribution. Your session data becomes garbage.

2. Google Ads auto-tagging conflicts. Google Ads has its own tagging system called gclid (Google Click Identifier) that it appends automatically. If you manually add utm_source=google&utm_medium=cpc on top of gclid, you can create conflicts in GA4 that corrupt your Search vs Other Google data. Use Google Ads auto-tagging for Google Ads traffic, and save manual UTMs for everything else.


GA4-Specific Considerations for 2026

GA4 handles UTMs differently from Universal Analytics in a few ways worth knowing:

Session vs event scope. In UA, UTM parameters were session-scoped — they applied to the whole session. In GA4, they're event-scoped by default. This means the first event in a session carries the UTM data, but if a user navigates around, subsequent events may not have the same attribution. This is mostly handled correctly by the GA4 tag, but it's worth knowing when you're building custom event tracking.

The "direct" misattribution window. GA4 uses a 30-minute session timeout. If a user clicks your UTM-tagged link, leaves to check something, and comes back within 30 minutes via a new browser tab (direct), GA4 may attribute the session to the UTM. This inflates campaign numbers slightly. It's a known limitation, not a bug you need to fix.

utm_id parameter. GA4 added support for a sixth parameter, utm_id, which maps to a campaign ID in your CRM or ad platform. Useful if you're doing advanced cross-channel attribution or connecting GA4 data to BigQuery.

GA4 channel groupings. As of 2026, GA4 uses its own default channel groupings (Organic Search, Paid Search, Paid Social, etc.) that map from your UTM medium values. If your utm_medium values don't match GA4's expected patterns, your traffic ends up in "Unassigned." The key mediums GA4 recognizes are: cpc, ppc, paid (for Paid Search), organic (for Organic Search), email (for Email), social, paid-social (for Paid/Organic Social), display, banner, cpm (for Display). If you use a non-standard medium, define a custom channel grouping in your GA4 property settings.

Consent mode and UTM gaps. With cookie consent laws tightening across EU, UK, and increasingly US markets, a percentage of your users will decline analytics cookies entirely. GA4's modeled data (Behavioral Modeling) fills some of the gap, but UTM attribution for non-consenting users will always be incomplete. Build this expectation into your reporting — your UTM-attributed sessions may represent 70-85% of actual traffic in markets with strict consent requirements.


The Practical Checklist Before Every Campaign

Before any campaign goes live, run through this:

  1. All URLs use lowercase — no mixed case in any parameter value
  2. Spaces replaced with hyphens or underscores (spaces become %20 in URLs and break consistency)
  3. Internal links are untagged — no UTMs on links within your own site
  4. Partner and influencer URLs are tagged — UTMs are in the brief, not just your own ads
  5. Landing pages are live — test the full URL before launch; 404 pages also report UTM data
  6. GA4 is receiving data — use GA4's DebugView to confirm UTM parameters are being captured correctly on the first tagged session
  7. utm_medium matches GA4 channel groups — verify your medium value maps to the correct default channel in GA4's Channel Grouping settings
  8. Link shorteners preserve parameters — if using Bitly, Rebrandly, or similar, confirm UTMs survive the redirect chain

Use the free UTM builder on MarketerTools to generate consistent, lowercase, properly-encoded UTM URLs in seconds — and share the generated URLs with your team rather than having everyone build their own.


FAQ

What is a UTM parameter? A UTM parameter is a snippet of text added to the end of a URL that tells your analytics tool where a visitor came from. The five standard parameters are utm_source, utm_medium, utm_campaign, utm_content, and utm_term. They were developed by Urchin Software (acquired by Google in 2005) and are now the universal standard for campaign tracking across all major analytics platforms.

Do UTM parameters affect SEO? No. UTM parameters are ignored by Google's indexing system. However, if you accidentally get UTM-tagged URLs indexed (e.g., a campaign URL is linked publicly), it can cause duplicate content issues. Use canonical tags on all landing pages pointing to the clean URL without UTM parameters.

Why does my UTM traffic show as "direct" in GA4? The most common causes: (1) the UTM link goes through a redirect that strips the parameters, (2) the user opened the link in a mobile app that doesn't pass referrer data, (3) an HTTPS-to-HTTP redirect dropped the parameters, or (4) a link shortener was used that doesn't preserve UTMs. Test your links end-to-end using GA4 DebugView before launching any campaign.

What is the difference between utm_source and utm_medium? utm_source identifies who sent the traffic (e.g., google, facebook, newsletter-june). utm_medium identifies the type of channel (e.g., cpc, email, organic). Think of source as the publication and medium as the format. The same source can have multiple mediums — Google can send you cpc, display, or organic traffic.

Should I use UTMs on organic social posts? Yes. Without UTMs on social posts, all that traffic lands in GA4 as either "social" (if the referrer is correctly passed) or "direct" (if not). With UTMs, you can distinguish between Instagram Stories traffic, LinkedIn post traffic, and Twitter/X link traffic — which matters if you're evaluating content performance across platforms.

How long do UTM parameters stay active in GA4? GA4 sessions time out after 30 minutes of inactivity (or at midnight). After a session ends, UTM attribution for that user resets unless you're using cross-channel attribution models in GA4. For user-lifetime attribution (how did this user first find us?), look at the "First user source/medium" dimension rather than the session-level source/medium.

What should I use for utm_medium for TikTok and Instagram paid ads? Use paid-social as the medium for all paid social platforms — TikTok, Instagram, Facebook, LinkedIn, Twitter/X, Pinterest, and Snapchat. This keeps your channel groupings consistent in GA4 and allows you to segment by platform using utm_source. Avoid platform-specific mediums like tiktok-ads or instagram — they'll create separate channel buckets that don't aggregate cleanly.

Can UTM parameters break my link in email clients? Not usually. UTM parameters are standard URL query strings and work correctly in virtually all email clients including Gmail, Outlook, Apple Mail, and webmail. The risk is that some email security gateways rewrite or "safe-link" URLs in ways that can sometimes strip parameters. Test with your specific ESP (Mailchimp, Klaviyo, HubSpot, etc.) using their native preview-and-test-send feature before going live.

What is utm_content and when should I use it? utm_content differentiates multiple links within the same campaign and medium — most commonly for A/B testing ad creative or email CTAs. If you have two banner ads in the same campaign, use utm_content=banner-blue and utm_content=banner-red to track which performed better. In email, use it to identify whether conversions came from the hero CTA, a mid-body link, or the footer button.

How do I track UTMs for QR codes? QR codes should always be UTM-tagged since there's no referrer data from a camera scan — otherwise the traffic appears as direct. Use utm_medium=qr and set utm_source to the physical context: print, packaging, event, billboard, etc. The campaign value should identify the specific placement or campaign. Use a short URL or QR-specific redirect so the UTM string doesn't appear visibly in the QR code destination.

Should utm_campaign include the date? It depends on your reporting needs. Adding a date suffix (e.g., summer-sale-2026) makes historical reports easier to compare year-over-year, but it also means you can't accumulate data across recurring campaigns with the same name. A common pattern: use a clean campaign name for evergreen campaigns (abandoned-cart) and date-suffix for one-time campaigns (black-friday-2026). Whatever you choose, document it in your naming taxonomy so the whole team applies it consistently.

What happens to UTM data in GA4 when a user clears cookies? When a user clears cookies, GA4 treats them as a new user on their next visit. Any previously stored UTM session data associated with the old GA4 cookie is lost. This is unavoidable. The implication for reporting: your "first user source/medium" dimension (which tracks how someone first discovered you) will be reset for returning users who clear cookies — meaning some of your "new users" in GA4 are actually returning users. This is a known measurement gap across all cookie-based analytics platforms.

Do UTMs work for app traffic (iOS and Android)? Standard URL UTMs work for web-to-app flows (e.g., a UTM-tagged link in an email that opens your mobile website). For in-app attribution — tracking which ad led to an app install or in-app conversion — you need a mobile measurement partner (MMP) like Adjust, AppsFlyer, Branch, or Singular. MMPs use device-level attribution signals (click IDs, device fingerprinting) rather than URL parameters, because app install attribution happens across app store intermediaries where UTMs are stripped.

What is the utm_id parameter and should I use it? utm_id is a sixth UTM parameter supported by GA4 that passes a campaign identifier (typically a numeric ID from your ad platform or CRM) alongside the standard parameters. It's useful when you want to join GA4 session data with your own database records by campaign ID without relying on campaign name matching. Most small-to-mid-size teams don't need it; it becomes valuable when you're doing data warehouse-level attribution or running hundreds of campaigns where name-based matching is error-prone.

M

MarketerTools

Marketing Practitioners

Written by the MarketerTools team — practitioners who build and use tools for marketers every day.

Put this into practice

Use the free tools on MarketerTools to apply what you just read.

Browse all tools →