UTM parameters explained with real examples

UTM parameters tell you exactly where your traffic came from. Learn what each parameter does, how to build UTM URLs correctly, and mistakes that corrupt your data.

By Kristjan Pikhof · Published · Updated · 8 min read

You publish a link in three places: your email newsletter, your Twitter post, and your Instagram bio. Three days later, your analytics show 400 visits to the landing page. Which channel drove them? Without UTM parameters, you cannot tell. With UTM parameters, you can trace every visit back to its exact source. This guide covers what the five parameters do, how to use them correctly, and the mistakes that make your data unreliable.

What UTM parameters are

UTM stands for Urchin Tracking Module — named after Urchin Software, the analytics company Google acquired in 2005 to build what became Google Analytics. The name is historical; the mechanism is a set of query string parameters appended to a URL that analytics tools read when a visitor arrives at your page.

A UTM-tagged URL looks like this:

https://example.com/landing-page?utm_source=newsletter&utm_medium=email&utm_campaign=spring-launch

When someone clicks this link, their browser requests the page with those query parameters intact. Your analytics tool — Google Analytics, Plausible, or whichever tool you use — reads the parameters and records them alongside the session.

UTM parameters do not change what page the visitor sees. They are invisible to the visitor and do not affect page rendering. They only affect what data gets recorded in your analytics.

The five UTM parameters

Parameter What it captures Required? Example values
utm_source Where the traffic comes from Yes newsletter, instagram, google
utm_medium The channel or traffic type Yes email, social, cpc, organic
utm_campaign The specific campaign or initiative Yes spring-launch, black-friday, product-announcement
utm_content Differentiates links within the same campaign No hero-cta, footer-link, top-banner
utm_term The keyword that triggered an ad No url shortener, link shortener free

The three required parameters — source, medium, and campaign — are the minimum for useful attribution. Content and term are optional but valuable in specific contexts.

utm_source: where did they come from?

Source answers the question "which website, platform, or publisher sent this visitor?" Use consistent, lowercase names. Common values:

  • newsletter — your own email list
  • instagram — Instagram specifically (not just "social")
  • twitter or x — your choice, but be consistent
  • linkedin
  • google — for organic search or Google Ads
  • partner-name — for affiliate or partner traffic

The most common mistake: being inconsistent. Using instagram in one campaign and Instagram in another splits your data into two rows in every report. Analytics tools treat parameter values as case-sensitive strings.

utm_medium: what type of channel?

Medium answers "what kind of marketing channel was this?" It groups traffic by mechanism rather than by specific source. Agreed-upon conventions:

  • email — all email marketing
  • social — organic social posts
  • cpc — paid search (cost per click)
  • paid-social — paid social ads
  • display — banner ads
  • affiliate — affiliate links
  • referral — links from other websites
  • qr — QR codes (see the QR codes vs short links guide for the QR use case specifically)

Medium is where people get creative in ways that break their reports. Do not invent values per campaign. Pick a small set of medium values that match your channels and use them consistently across all campaigns. The value of medium is that it aggregates — email traffic across all campaigns — so idiosyncratic values destroy that aggregation.

utm_campaign: which initiative?

Campaign names should be specific enough to identify an initiative but standardized enough to compare across channels. A few patterns that work:

  • 2026-spring-sale — date-prefixed for chronological sorting
  • product-launch-v2 — product-specific with version
  • always-on-blog — for evergreen content promotion

Avoid spaces in campaign names — use hyphens or underscores. Some analytics tools handle URL-encoded spaces (%20) inconsistently. Hyphens are the safest separator.

If you send one email with three different links to the same landing page, how do you know which link drove more clicks? utm_content solves this:

?utm_source=newsletter&utm_medium=email&utm_campaign=spring-launch&utm_content=hero-cta
?utm_source=newsletter&utm_medium=email&utm_campaign=spring-launch&utm_content=footer-link

Content is also useful when A/B testing ad creatives — you can use different content values to identify which creative version drove a click without creating separate campaigns.

utm_term is primarily used with paid search campaigns to capture which keyword triggered the ad. In Google Ads, you can use {keyword} as a dynamic value that gets replaced with the actual keyword at click time:

?utm_source=google&utm_medium=cpc&utm_campaign=brand&utm_term={keyword}

For non-search contexts, utm_term is rarely used.

How to build UTM URLs

The manual approach — typing parameters by hand — is error-prone. Use a URL builder instead.

The basic pattern for constructing a UTM URL is:

[destination URL]?utm_source=[source]&utm_medium=[medium]&utm_campaign=[campaign]

If the destination URL already has query parameters (e.g. example.com/page?ref=home), append UTM parameters with & instead of ?:

https://example.com/page?ref=home&utm_source=newsletter&utm_medium=email&utm_campaign=spring-launch

UTM-tagged URLs can get long — the UTM parameters add 100–200 characters to an already-long URL. The standard practice is to wrap the UTM-tagged URL in a short link:

  1. Build the UTM-tagged destination URL
  2. Create a short link pointing to that tagged URL
  3. Share the short link

The short link provides two benefits: it is shareable without looking like a wall of tracking parameters, and it gives you an additional analytics layer from the shortener itself (click count, country, device) alongside the UTM attribution in your website analytics.

When you use 1URL.at as your URL shortener, the short link's analytics and the destination site's UTM analytics are complementary. The short link tells you total clicks and device/country breakdown; the UTM data in your site analytics tells you what those visitors did after they arrived. The analytics page covers what 1URL.at tracks on its end.

The mistakes that corrupt UTM data

Inconsistent naming conventions

The most common and most damaging mistake. If your team uses Email, email, and e-mail as values for utm_medium, you have three separate segments in your reports that should be one. Establish a naming convention document, share it with everyone who creates UTM links, and enforce it.

A minimal convention to start:

utm_source: lowercase, hyphen-separated, platform name (instagram, newsletter, linkedin)
utm_medium: fixed list (email, social, cpc, paid-social, display, qr, affiliate)
utm_campaign: YYYY-MM-[name], hyphen-separated
utm_content: position or variant (hero-cta, footer-link, variant-a)

UTM parameters are for external traffic attribution — tracking which outside source sent a visitor. If you add UTM parameters to links within your own website, you create ghost sessions in your analytics: a visitor clicks an internal link, the UTM parameters reset their session, and it looks like a new visit from an internal source. Your traffic data gets inflated and channel attribution breaks.

Rule: never use UTM parameters on links within your own domain.

Missing UTM tags on paid traffic

If you run paid ads and do not use UTM parameters (or auto-tagging), your paid traffic shows up as organic, direct, or referral in analytics. This makes it impossible to measure ROI on ad spend. Paid channels are where UTM tagging is most critical.

URL encoding errors

Special characters in parameter values must be URL-encoded. A space becomes %20, an ampersand becomes %26. The safest approach: use a URL builder that handles encoding automatically, and use only alphanumeric characters, hyphens, and underscores in your parameter values.

Reading UTM data in analytics

In Google Analytics 4, UTM parameters appear as dimensions in exploration reports:

  • Source → Session source
  • Medium → Session medium
  • Campaign → Session campaign
  • Content → Session manual ad content
  • Term → Session manual term

The standard acquisition report (Reports > Acquisition > Traffic acquisition) shows sessions broken down by source/medium combination. For campaign-level views, use the Session campaign dimension in Explorations.

For cookieless analytics tools like Plausible or Umami, UTM data shows up in their campaign/source views. The mechanism is the same — they read the parameters from the URL — but the interface differs.

The most practical workflow for a marketer or creator managing multiple channels:

  1. Document your naming conventions — one shared spreadsheet or doc that everyone references before creating UTM links
  2. Build the tagged destination URL — use a URL builder, check the preview before saving
  3. Wrap in a short link — cleaner to share, gives you an additional analytics layer
  4. Track the short link separately — the short link analytics (from your URL shortener) and the UTM analytics (from your website analytics) are complementary, not redundant

For a related technique, see how cookieless click tracking works — that walkthrough covers what happens at the server level when a short link fires, which is independent of UTM attribution at the destination.

Putting it together

UTM parameters are the backbone of marketing attribution. They answer "where did this visitor come from" in a way that direct analytics cannot. The three required parameters — source, medium, campaign — are enough to start. The discipline required is naming consistency: establish a convention, document it, and enforce it across your team.

1URL.at integrates naturally into a UTM workflow: wrap your tagged URLs in short links, get cookieless click analytics on the redirect, and let UTM parameters handle attribution at the destination. Start with the features page to see the full breakdown of what the shortener tracks on its end.

View full article on 1URL.at