What Are UTM Parameters? A Complete Guide

You're running campaigns across email, social media, and paid ads. Google Analytics shows traffic is coming in, but the numbers are vague — you see "direct" and "referral" without knowing which specific post or email drove the visit. UTM parameters fix this. They tag your URLs with campaign metadata so every click is attributed to its exact source.
What are UTM parameters?
UTM stands for Urchin Tracking Module — a legacy name from the analytics tool Google acquired in 2005 that became Google Analytics. UTM parameters are query strings appended to a URL that tell your analytics platform where a click came from.
A standard URL looks like this:
https://example.com/pricing
The same URL with UTM parameters:
https://example.com/pricing?utm_source=twitter&utm_medium=social&utm_campaign=spring-launch
When someone clicks the tagged URL, Google Analytics (or any analytics tool) reads the UTM parameters and attributes the visit to the source, medium, and campaign you specified.
The five UTM parameters
There are five standard UTM parameters. The first three are the most commonly used:
utm_source (required)
Where the traffic comes from. This identifies the specific platform or website.
Examples: google, twitter, newsletter, linkedin, facebook
utm_medium (required)
The marketing channel or type of traffic.
Examples: cpc (cost per click), social, email, referral, banner
utm_campaign (required)
The specific campaign name. Use a descriptive, consistent name you'll recognize later.
Examples: spring-launch, black-friday-2026, weekly-digest-april
utm_term (optional)
The keyword or targeting term, mainly used for paid search campaigns.
Examples: url+shortener, link+management, qr+code+generator
utm_content (optional)
Differentiates similar content within the same campaign. Useful for A/B testing ads or distinguishing multiple links in the same email.
Examples: hero-cta, sidebar-banner, footer-link, variant-a
How to build a UTM URL
Anatomy of a tagged URL
https://example.com/pricing
?utm_source=newsletter
&utm_medium=email
&utm_campaign=spring-launch
&utm_content=hero-button
Each parameter is a key-value pair joined by =. Parameters are separated by &. The first parameter follows a ? after the base URL.
Naming conventions
Consistency is everything. Decide on a format and stick to it across your entire team:
- Lowercase only —
Twitterandtwitterare tracked as two different sources - Hyphens over spaces — Use
spring-launchnotspring launchorspring_launch - Be specific —
newsletter-april-2026is better thannewsletter - Document your conventions — Keep a shared spreadsheet or document with your standard values for source, medium, and campaign names
Common mistakes
Inconsistent casing
utm_source=Twitter and utm_source=twitter create two separate entries in your analytics. Pick lowercase and enforce it.
Too many unique values
If every email gets a unique campaign name with no pattern, you can't aggregate data. Use a hierarchy: utm_campaign=weekly-digest with utm_content=2026-04-13 to distinguish individual sends.
Forgetting to tag all links
If half your links have UTM parameters and half don't, the untagged clicks show up as "direct" traffic, skewing your data. Tag every link in every campaign — no exceptions.
Ugly URLs without a shortener
A URL with five UTM parameters is long, ugly, and intimidating. Nobody wants to click this:
https://example.com/pricing?utm_source=twitter&utm_medium=social&utm_campaign=spring-launch-2026&utm_content=hero-cta&utm_term=url+shortener
This is where short links come in.
UTM parameters + short links
A URL shortener hides the ugly UTM string behind a clean, branded short link:
go.example.com/spring → https://example.com/pricing?utm_source=twitter&utm_medium=social&utm_campaign=spring-launch
Your audience sees a clean, trustworthy URL. Your analytics get the full UTM data. Everyone wins.
Link management platforms like Middlewr let you add UTM parameters directly when creating a short link — no need to manually build the query string. You fill in the source, medium, and campaign fields, and the platform appends them automatically to the destination URL.
The additional benefit: your short link also tracks clicks independently, giving you a second layer of analytics on top of what Google Analytics captures via UTMs.
Going further
- Set up UTM tracking in Middlewr — a step-by-step tutorial for adding UTM parameters to your short links
- Understanding your analytics dashboard — learn how to read your click data alongside your UTM-attributed traffic