Developers & Technical · Guide · Writing & Content
How to Use UTM Parameters
What UTM parameters are, which five to use, naming rules that don't break reporting, and how to build them fast.
UTM parameters are the five query-string tags you bolt onto a URL so your analytics tool knows where the traffic came from. Without them, everything from a newsletter, a podcast sponsorship, a tweet, and a friend’s blog post shows up as “direct” or “referral” — you have no idea which campaign actually drove the signup.
Used consistently, UTMs turn marketing from a guessing game into a measurable system. Used inconsistently, they create a data mess that takes weeks to clean up. This guide covers what each parameter does, how to name them so the data stays sane, and the mistakes that destroy reporting.
Advertisement
The five UTM parameters
Google Analytics reads five named query parameters: utm_source, utm_medium, utm_campaign, utm_term, and utm_content. The first three are required for any useful report. The last two are optional — term is for paid search keywords, content is for A/B testing link variants inside the same campaign.
What each parameter actually means
Source is the referrer: the platform or publication. Examples: newsletter, twitter, google, producthunt. Medium is the channel type: email, social, cpc (paid search), referral, affiliate. Campaign is the named effort: spring-launch-2026, black-friday-2026, feature-x-announcement. If you mix source and medium, the reports break — newsletter is a source, email is a medium; they are not interchangeable.
Build URLs with a consistent scheme
The fastest way to poison analytics is to let three teammates type UTMs by hand. One uses “Facebook,” another uses “facebook,” a third uses “FB” — now you have three separate rows in the source report for the same platform. Pick a convention (all lowercase, hyphens not underscores) and use our UTM builder to generate every link the same way.
A naming convention that scales
Lowercase everything. Use hyphens between words (utm_campaign=spring-sale-2026, not Spring_Sale_2026). Keep the source short and human (twitter, not twitter-feed-link). Put the date or quarter in the campaign name if you run recurring campaigns — it lets you compare year-over-year without renaming everything. Document the scheme in a shared doc so new teammates don’t invent their own format.
Where to put UTMs — and where not to
Tag every link you place outside your own site: social posts, email campaigns, partnerships, ads, sponsorships. Do not tag internal links between pages on your own site — it will overwrite session data and misattribute users to yourself. If you need to track internal clicks, use event tracking in your analytics tool, not UTMs.
Shorten UTM links before sharing
Long UTM-tagged URLs look like spam in a tweet or a newsletter. Run them through a URL shortener before you share. Just make sure the shortener preserves the query string on redirect (most do). If you ever inherit a pile of mystery UTM links, our UTM parser breaks them back down into their source, medium, and campaign so you can audit what was running.
Track the destination, not the redirect
If your landing page redirects (301 or 302) to a different URL, some analytics setups lose the UTM parameters on the redirect. Test a tagged link yourself before you hit publish — click it, land on the page, and confirm the UTMs show up in your real-time analytics.
Campaign naming for multi-channel launches
When one campaign runs across email, social, and paid ads, keep the utm_campaign identical across all three but vary the utm_medium and utm_source. That way the campaign report rolls them up together, and the source/medium report breaks them down by channel. This is the pattern that lets you say “the launch drove 4,200 signups, 60% from email, 25% from social, 15% from paid.”
Using utm_content for A/B testing
Two versions of the same link — one with utm_content=button-top, the other button-bottom. Same campaign, same source, same medium. Now the content breakdown tells you which version drove more conversions. Use this for CTA copy tests, image tests, or subject line tests in email.
Common mistakes to avoid
Tagging your own internal links. Tagging links with PII (email addresses, user IDs) in the URL — this exposes user data in every analytics report. Letting spaces into UTM values (use %20 or hyphens). Reusing the same campaign name for unrelated efforts. Forgetting that UTM values are case-sensitive in many analytics tools.
Putting it all together
Start with a naming doc. Run every shared link through the UTM builder. Audit your analytics source/medium report monthly for typos or duplicates. Once the data is clean, you can actually compare channels — which is the entire point.
Related: SEO basics for beginners, how to start a blog, and how to write a meta description that earns the clicks you’re now measuring.