UTM Parameters: The Complete Guide (2026)
UTM parameters are short text tags appended to any URL that tell Google Analytics (or any analytics platform) exactly where a visitor came from. Without them, every visitor who clicks a link in your email, social post, or ad campaign lands in your analytics as "Direct" traffic — an untrackable black hole that makes it impossible to know what's working.
The 5 UTM Parameters Explained
There are five official UTM parameters. Three are required for any meaningful tracking; two are optional but powerful for campaigns with multiple creatives or audiences.
| Parameter | Required? | What It Tracks | Example Value |
|---|---|---|---|
utm_source | ✅ Yes | Which platform sent the traffic | google, facebook, newsletter |
utm_medium | ✅ Yes | The marketing channel type | cpc, email, organic_social |
utm_campaign | ✅ Yes | The specific campaign name | q3_launch, black_friday |
utm_content | Optional | Which ad/link variation | hero_banner, cta_button |
utm_term | Optional | Paid keyword (for search ads) | utm+builder+free |
Pre-Filled UTM Examples by Channel
Copy these directly into the builder above. The key is consistent naming — mixing "Facebook" and "facebook" creates split data in your analytics.
| Channel | utm_source | utm_medium | utm_campaign example |
|---|---|---|---|
| Google Search Ad | cpc | brand_keywords_aug | |
| Facebook/Instagram Ad | paid_social | retargeting_q3 | |
| Newsletter | newsletter | weekly_digest_aug11 | |
| TikTok Ad | tiktok | paid_social | ugc_summer_sale |
| LinkedIn Ad | paid_social | b2b_leads_q3 | |
| Organic Twitter/X post | organic_social | product_launch | |
| YouTube description | youtube | video_description | tutorial_aug_2026 |
| Podcast vanity URL | podcast | audio | the_tim_show_ep312 |
| SMS campaign | sms | sms | flash_sale_aug |
| QR code (print) | qr_code | store_signage_aug |
UTM Naming Conventions: The Rules That Prevent Broken Data
The biggest mistake with UTM parameters is inconsistency. Google Analytics is case-sensitive — utm_source=Facebook and utm_source=facebook appear as two separate traffic sources in your reports, splitting your data in half.
- Always use lowercase. No exceptions. Set this as a team rule on day one.
- Use underscores, not spaces or hyphens. Spaces in URLs get encoded as
%20, which breaks readability and sometimes breaks tracking. Hyphens work but underscores are the convention. - Be consistent with campaign names. Decide on a format (
channel_goal_month) and stick to it. A UTM naming doc shared with your whole team prevents the chaos of everyone inventing their own conventions. - Never put UTM parameters on internal links. UTMs reset the session in Google Analytics. Putting them on links between your own pages inflates session counts and destroys attribution data.
Why You Should Shorten Every UTM-Tagged URL
A full UTM-tagged URL looks like this:
https://yoursite.com/landing-page?utm_source=newsletter&utm_medium=email&utm_campaign=weekly_digest_aug11&utm_content=hero_ctaThat URL is 127 characters. In an email or a social post, it looks broken and untrustworthy. In a YouTube description, viewers won't bother tapping it. In SMS, it eats your character budget.
The fix: shorten it into a branded tracked link. A server-side link shortener fires a click event the instant someone taps the link — before their browser loads a single pixel. This gives you a click count that is completely independent from what Google Analytics sees, so you can cross-reference the two numbers to measure session loss (people who clicked but never loaded your page). On mobile, that gap is consistently 15–30%.
Use our free link tracker to create branded short links with UTM parameters built in. It takes about 30 seconds per link and gives you a permanent click-level record of every campaign you run.