The Ultimate UTM Parameters Guide (2026)
Everything you need to know about UTM parameters: what they are, how to use them, templates for every platform, and how to track UTMs in your CRM.

The Ultimate UTM Parameters Guide (2026)
UTM parameters are the backbone of marketing attribution. They tell you exactly where your traffic comes from, which campaigns are working, and which marketing dollars are actually generating revenue.
This is the complete guide. Whether you're new to UTMs or looking to level up your tracking, you'll find everything here.
What Are UTM Parameters?
UTM (Urchin Tracking Module) parameters are tags added to the end of a URL that tell analytics tools where traffic came from. They were created by Urchin, the company Google acquired to build Google Analytics.
https://yoursite.com/pricing?utm_source=google&utm_medium=cpc&utm_campaign=spring_sale_2026&utm_term=crm+software&utm_content=ad_variant_aThe 5 UTM Parameters Explained
1. utm_source (Required)
Where the traffic is coming from. Examples: google, facebook, linkedin, newsletter
2. utm_medium (Required)
The marketing channel or type of traffic. Examples: cpc, paid_social, email, organic_social
3. utm_campaign (Required)
The specific campaign name. Examples: spring_sale_2026, onboarding_drip, brand_awareness_q1
4. utm_term (Optional)
The keyword or audience/targeting info. Examples: crm+software, lookalike_2pct, cmo_enterprise
5. utm_content (Optional)
Differentiates similar content or links. Examples: hero_cta, sidebar_banner, video_testimonial_v2
How UTM Parameters Work
The full lifecycle: You create a tagged URL → Someone clicks it → They land on your site with parameters → Analytics captures and attributes the session → If they convert, the conversion is attributed to that source/campaign.
The Attribution Gap
Here's where most setups break down: A visitor clicks your Google Ad, lands on /pricing?utm_source=google&..., then browses to /features, then /contact. The UTM parameters from the original click are gone. Your CRM doesn't know this lead came from Google Ads.
This is the #1 problem with UTM tracking, and it's why UTM Helper exists.
UTM Parameters for Every Platform
Google Ads
?utm_source=google&utm_medium=cpc&utm_campaign={campaign}&utm_term={keyword}&utm_content={matchtype}_{adgroupid}_{creative}Google supports ValueTrack parameters that dynamically insert campaign data. → Full Google Ads UTM Guide
Facebook / Meta Ads
?utm_source=facebook&utm_medium=paid_social&utm_campaign={{campaign.name}}&utm_term={{adset.name}}&utm_content={{ad.name}}Facebook uses double-curly-brace dynamic parameters. → Full Facebook Ads UTM Guide
TikTok Ads
?utm_source=tiktok&utm_medium=paid_social&utm_campaign=__CAMPAIGN_NAME__&utm_term=__AID_NAME__&utm_content=__CID_NAME__TikTok uses double-underscore macros. → Full TikTok Ads UTM Guide
LinkedIn Ads
?utm_source=linkedin&utm_medium=paid_social&utm_campaign={{CAMPAIGN_NAME}}&utm_content={{CREATIVE_ID}}LinkedIn has more limited dynamic macros. → Full LinkedIn Ads UTM Guide
Email Marketing
?utm_source=newsletter&utm_medium=email&utm_campaign=weekly_digest_2026_02_13&utm_content=hero_ctaTag every link, differentiate with utm_content. → Full Email Marketing UTM Guide
UTM Naming Conventions
Inconsistent UTM naming is the fastest way to make your data useless. Google, google, GOOGLE, and adwords are four different sources in your analytics.
The Rules
- Always lowercase — google not Google
- Underscores for spaces — spring_sale not spring sale
- No special characters — Avoid &, =, ?, #, @
- Be descriptive — brand_search_us_q1_2026 not campaign1
- Include dates for recurring campaigns
- Document and share — Everyone on the team uses the same convention
Standard Medium Values
- cpc — Paid Search
- paid_social — Paid Social Media
- email — Email Marketing
- display — Display/Banner Advertising
- organic_social — Unpaid Social Media
- video — Video Advertising
- affiliate — Affiliate/Partner Referrals
- offline — QR Codes, Print, Events
Tracking UTMs Beyond the Landing Page
Setting up UTMs is the easy part. Getting that data to persist through your site and into your CRM — that's where most marketers fail.
The Problem
- Visitor clicks a tagged link → lands with UTMs ✓
- Navigates to other pages → UTMs drop from the URL ✗
- Fills out a form → Form data has no UTM info ✗
- Lead enters CRM → No idea where they came from ✗
Manual JavaScript Approach
// Capture UTMs on landing
const params = new URLSearchParams(window.location.search);
const utms = {};
['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content'].forEach(key => {
if (params.get(key)) {
utms[key] = params.get(key);
sessionStorage.setItem(key, params.get(key));
}
});
// Inject into form hidden fields
document.querySelectorAll('form').forEach(form => {
['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content'].forEach(key => {
const value = sessionStorage.getItem(key);
if (value) {
let input = form.querySelector(`input[name="${key}"]`);
if (!input) {
input = document.createElement('input');
input.type = 'hidden';
input.name = key;
form.appendChild(input);
}
input.value = value;
}
});
});This works but has limitations: session storage clears when the browser closes, and you have to maintain custom code.
The Easier Way: UTM Helper
UTM Helper handles all of this with one script tag:
<script defer data-domain="yourdomain.com" src="https://utmhelper.com/your-script.js"></script>- Captures all UTM parameters automatically on any landing page
- Persists across pages — First-touch UTMs survive navigation, even across sessions
- Auto-injects into forms — Hidden fields populated on every form, every page
- Works with any form builder — HubSpot, Typeform, Gravity Forms, custom HTML
- Works with any CRM — Salesforce, HubSpot, Pipedrive, anything that receives form data
UTM Tracking Mistakes to Avoid
- No UTMs at all — If you're running paid campaigns without UTMs, you're burning money with no attribution
- Inconsistent naming — Google ≠ google ≠ adwords. Pick a convention and stick with it.
- UTMs on internal links — This overwrites the original traffic source
- Not tagging email links — Email clients don't send referrer data. Without UTMs, email clicks show as "direct"
- Forgetting utm_content differentiation — If every ad has the same UTMs, you can't tell which creative performed best
- Not tracking UTMs to CRM — UTMs in analytics are nice. UTMs in your CRM are game-changing.
Platform Dynamic Parameter Syntax Quick Reference
- Google Ads: {param} — e.g. {campaign}, {keyword}
- Facebook/Meta: {{param}} — e.g. {{campaign.name}}
- TikTok: __PARAM__ — e.g. __CAMPAIGN_NAME__
- LinkedIn: {{PARAM}} — e.g. {{CAMPAIGN_NAME}}
- Email: Manual or merge tags (platform-specific)
Platform Guides
Related Reading

Google Ads UTM Parameters: Complete Setup Guide
Learn how to set up UTM parameters for Google Ads campaigns. Get templates, naming conventions, and avoid common tracking mistakes.

Facebook Ads UTM Parameters: Complete Tracking Guide
Set up UTM parameters for Facebook and Meta ads. Get templates with dynamic parameters, naming conventions, and CRM tracking tips.

TikTok Ads UTM Parameters: Setup & Templates
Set up UTM tracking for TikTok Ads with dynamic macros, ready-to-use templates, and naming conventions for accurate campaign attribution.
Stop losing UTM data
UTM Helper persists campaign parameters across pages and auto-fills them into your forms. One script tag, full-funnel attribution.
Get Started Free →