Back to Guides
Analytics6 min readSeptember 17, 2026

How to Track Marketing Campaigns with UTM Parameters

UTM parameters are the simplest way to know exactly where your traffic comes from. This guide walks you through every parameter, shows real-world examples, and gives you practical tips to build a tracking system that actually works.

Why UTM tracking matters

Without UTM parameters, Google Analytics lumps most of your traffic into "Direct" or "Referral" — two buckets so broad they're nearly useless for decision-making. You can't tell whether your email newsletter drove more conversions than your Instagram ad, or whether the LinkedIn post you spent an hour writing sent a single visitor.

UTM parameters fix this. They're short tags you append to any URL before sharing it. When someone clicks that link, Analytics reads the tags and records exactly which campaign, channel, and piece of content brought them in. The result: a clear, channel-by-channel picture of what's working.

What are UTM parameters?

UTM stands for Urchin Tracking Module — a naming convention inherited from Urchin Software, the analytics company Google acquired in 2005. The format has barely changed since then, which is a testament to how well it works.

A UTM parameter is a key=value pair added to the end of a URL after a question mark (?). Multiple parameters are joined with ampersands (&). Here's a full example:

https://example.com/landing-page?utm_source=newsletter&utm_medium=email&utm_campaign=summer-sale-2026&utm_content=hero-cta&utm_term=discount

The 5 UTM parameters explained

utm_source

Where the traffic comes from

Required

The platform or publisher that sent the visitor. Think of it as the "who" — who is sending you this traffic?

Common values

newslettergooglefacebookinstagramlinkedintwitterbing

Use lowercase, no spaces. Stick to the platform name — don't get creative here. Consistency matters more than cleverness.

utm_medium

The marketing channel or type

Required

The broad category of traffic — the "how" it arrived. This maps to the channel groupings you see in GA4's Acquisition reports.

Common values

emailcpcsocialorganicreferralbanneraffiliate

GA4 uses medium to assign channel groups. Use "cpc" for paid search, "email" for newsletters, "social" for organic social posts. Deviating from these breaks automatic channel grouping.

utm_campaign

The specific campaign name

Required

The name of the marketing initiative this link belongs to. This is your primary way to group traffic by campaign in reports.

Common values

summer-sale-2026product-launch-v2black-fridayonboarding-sequencebrand-awareness-q3

Use a consistent naming convention across your team: {season}-{initiative}-{year} works well. Avoid spaces — use hyphens or underscores instead.

utm_content

Which specific link or creative

Optional

Used to differentiate between multiple links in the same email or ad, or to label the creative variant in an A/B test. Optional but very useful.

Common values

hero-ctasidebar-linkfooter-buttonimage-adtext-adversion-a

If you have two CTAs in one email, use utm_content to tell them apart: "top-cta" vs "bottom-cta". This shows you which placement drives more clicks.

utm_term

The paid keyword (search ads)

Optional

Originally designed for paid search to capture the keyword that triggered the ad. Rarely used outside of Google/Bing Ads, where it's often auto-populated.

Common values

utm+tracking+toolmarketing+analyticsfree+roi+calculator

For paid search, let your ad platform auto-tag with {keyword} instead of setting this manually. For other channels, you can skip utm_term entirely.

Real-world examples

Email newsletter

Weekly newsletter with two CTAs — a hero button and a text link in the body.

Hero button

https://example.com/sale?utm_source=newsletter&utm_medium=email&utm_campaign=weekly-digest-sep26&utm_content=hero-cta

Body text link

https://example.com/sale?utm_source=newsletter&utm_medium=email&utm_campaign=weekly-digest-sep26&utm_content=body-link
Meta (Facebook/Instagram) Ads

Paid social campaign running on both Facebook feed and Instagram Stories.

Facebook feed ad

https://example.com/offer?utm_source=facebook&utm_medium=cpc&utm_campaign=summer-sale-2026&utm_content=feed-image-ad

Instagram Stories ad

https://example.com/offer?utm_source=instagram&utm_medium=cpc&utm_campaign=summer-sale-2026&utm_content=stories-video-ad
Google Ads

Search campaign — let Google auto-tag the keyword, but still track campaign and medium.

Search ad

https://example.com/landing?utm_source=google&utm_medium=cpc&utm_campaign=brand-search-q3&utm_term={keyword}

Practical tips for a clean tracking setup

Always use lowercase

UTM values are case-sensitive. "Email" and "email" appear as two separate sources in GA4. Enforce lowercase across your whole team.

Use hyphens, not spaces

Spaces get encoded as "%20" in URLs, making them ugly and error-prone. Use hyphens (summer-sale) or underscores (summer_sale) — pick one and stick to it.

Build a naming convention doc

The biggest UTM problem isn't technical — it's inconsistency. One person writes "fb", another writes "facebook", a third writes "Facebook". Create a shared spreadsheet with approved values for source, medium, and campaign naming patterns.

Never use UTMs on internal links

Adding UTM parameters to links within your own site resets the session source in GA4, making it look like a new visit from that campaign. UTMs are for external links only.

Use a UTM builder tool

Building UTM URLs by hand is error-prone. Use a dedicated builder to generate consistent, properly encoded URLs every time.

Track your UTM links in a spreadsheet

Keep a master log of every UTM URL you create: the destination, campaign, date, and channel. This makes auditing and reporting much faster.

Ready to build your first UTM URL?

Use the free UTM Builder tool to generate properly formatted tracking URLs in seconds — no signup required.

Open UTM Builder