Back to Blog
February 13, 2026Guides

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.

Written by Jamie Isabel
The Ultimate UTM Parameters Guide

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_a

The 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_cta

Tag 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 lowercasegoogle not Google
  • Underscores for spacesspring_sale not spring sale
  • No special characters — Avoid &, =, ?, #, @
  • Be descriptivebrand_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 namingGooglegoogleadwords. 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

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 →