What Are UTM Parameters?

UTM parameters are small tags you add to the end of a URL that tell Google Analytics exactly where a visitor came from. They're the difference between GA4 guessing at a source (and often getting it wrong, landing the visit in Direct or Unassigned) and knowing for certain it came from your April newsletter, not just "email" in general. There are five standard UTM parameters, and you only need two or three for most links.

The five UTM parameters

utm_source identifies where the traffic is coming from — newsletter, google, facebook, a partner site's name. This is usually the most important parameter, since it's the backbone of your Source/Medium reports.

utm_medium describes the channel type — email, cpc, social, referral, affiliate. Source tells you the specific place; medium tells you the category of place.

utm_campaign names the specific campaign — spring_sale, product_launch, black_friday_2026 — so you can group all traffic from one marketing push together, regardless of which individual link someone clicked.

utm_term and utm_content are more optional. utm_term originally tracked paid search keywords and is largely a legacy field now that most keyword data lives inside the ad platform itself. utm_content differentiates similar links within the same campaign — useful for A/B testing two versions of an email, or telling a text link apart from a button link pointing at the same page.

A concrete example

A newsletter link promoting a sale might look like this: `https://example.com/?utm_source=newsletter&utm_medium=email&utm_campaign=spring_sale`. That's source, medium, and campaign — the three parameters that cover most tagging needs.

If you wanted to A/B test the call-to-action button against a plain text link in the same email, you'd add utm_content to tell them apart: `utm_content=button` versus `utm_content=text_link`, layered on top of the same source, medium, and campaign values.

Building these by hand invites typos, which is exactly the kind of small inconsistency that fragments your reports. The free UTM generator builds the query string for you from a simple form, so the structure and formatting stay correct every time.

Best practices

Lowercase everything. GA4 treats utm_source=Newsletter and utm_source=newsletter as two different values, which quietly splits what should be one line item into two rows in your reports. Standardizing on lowercase avoids this entirely.

Keep naming consistent across your team. If one person tags campaigns as spring_sale and another tags the same push as Spring-Sale-2026, you lose the ability to see total performance for that campaign in one place. A shared naming convention doc, or defaulting everyone to the free UTM generator, prevents this drift.

Don't UTM-tag internal links — links from one page of your site to another. Adding UTM parameters to an internal link resets session attribution, because GA4 treats the click as a fresh arrival from whatever source/medium is in the URL, overwriting the visitor's real original source. This is one of the most common UTM mistakes.

When to use UTM parameters

Only tag links you don't control natively through another tracking mechanism: external emails, social bio links, partner or affiliate sites, print or QR codes, and paid ads on platforms that don't already pass structured data to GA4.

You generally don't need to manually UTM-tag Google Ads links — GA4 auto-tags those clicks via gclid, a separate click identifier Google Ads attaches automatically, and pulls in campaign data through the Google Ads integration. Manually adding UTM parameters on top can sometimes conflict with that auto-tagging, so it's best left alone unless you have a specific reason to override it.

For everything else — the places GA4 has no other way of knowing where a click came from — UTM parameters are the mechanism that turns unassigned traffic and direct traffic into clearly attributed, campaign-level data.

Build a UTM link free

FAQ

What are the five UTM parameters?
utm_source (where traffic came from), utm_medium (channel type, like email or cpc), utm_campaign (the specific campaign name), utm_term (paid search keyword, largely legacy), and utm_content (differentiates similar links in the same campaign).
Should UTM parameters be lowercase?
Yes. GA4 treats different capitalizations as separate values, so utm_source=Newsletter and utm_source=newsletter show up as two different rows in reports instead of one combined total.
Why shouldn't you UTM-tag internal links?
Tagging a link between two pages on your own site resets session attribution — GA4 treats the click as a new arrival from the UTM's source and medium, overwriting the visitor's actual original source.
Do you need UTM parameters for Google Ads links?
Usually not. GA4 auto-tags Google Ads clicks through gclid and its Ads integration, so manually adding UTM parameters is unnecessary and can sometimes conflict with that automatic tagging.

If you're here because GA4 is confusing — that's why we built Gizmo.

A dead-simple, cookieless Google Analytics alternative. Free forever, 10k events/mo.

Related terms