What UTM parameters are
UTM parameters are small tags you add to the end of a URL so that analytics tools know exactly where a visitor came from. When someone clicks a tagged link, their browser passes those tags along, and your analytics platform reads them to attribute the visit to a specific campaign, channel, and source. Without them, a click from your newsletter and a click from a paid ad can both land in a vague “direct” or “referral” bucket — which tells you almost nothing about what actually drove the traffic.
A tagged URL looks like this:
https://tools.town/?utm_source=newsletter&utm_medium=email&utm_campaign=summer_sale
Everything after the ? is a set of key–value pairs. The keys all start with utm_, and that prefix is the historical fingerprint of where the convention came from.
The name “UTM” stands for Urchin Tracking Module. Urchin was a web-analytics company Google acquired in 2005; its technology became the foundation of Google Analytics. The utm_ parameter scheme survived the transition and became the de-facto standard that virtually every analytics platform now recognises — Google Analytics, Adobe, Matomo, Plausible, and most marketing-automation tools all read the same five parameters. Because it is a shared convention rather than a proprietary format, you can tag a link once and have it report correctly almost everywhere.
The fastest way to produce a correctly-formatted tagged link is the free UTM Link Builder, which assembles and encodes the URL for you so you never have to hand-type the & and ? separators.
The five parameters, explained
There are exactly five UTM parameters. Three are required for proper attribution, and two are optional refinements.
utm_source
The source is where the traffic originates — the specific site, platform, or publication. Think of it as the brand name of the referrer: google, facebook, newsletter, linkedin, partner_blog. If a colleague asks “which site sent this visitor?”, the answer is the source.
utm_medium
The medium is the type of channel: email, cpc (cost-per-click paid search), social, affiliate, referral, banner. The medium groups many different sources into one category, so you can ask “how much traffic came from email overall?” regardless of which specific newsletter sent it.
utm_campaign
The campaign ties the link to a specific marketing initiative: summer_sale, black_friday_2026, product_launch_v2. This is what lets you compare the performance of one promotion against another, across every channel that promotion ran on.
utm_term
Optional. Originally built for paid search, utm_term records the keyword you bid on — for example utm_term=running+shoes. Most ad platforms now inject keywords automatically, so manual use of utm_term is mostly limited to specialised tracking.
utm_content
Optional. utm_content distinguishes between two links that are otherwise identical — typically for A/B testing. If your email has both a header button and a footer text link pointing to the same page, set utm_content=header_button on one and utm_content=footer_link on the other to see which placement performs better.
A complete five-parameter link looks like this:
https://tools.town/?utm_source=newsletter&utm_medium=email&utm_campaign=summer_sale&utm_term=sandals&utm_content=hero_cta
You can build exactly this structure, field by field, with the UTM Link Builder — it shows which fields are required and warns before you ship a link that GA4 can’t attribute.
Why naming conventions matter
UTM values are case-sensitive and literal. To your analytics tool, Email, email, and e-mail are three completely different mediums. If three people on your team tag links three different ways, one channel fragments into three rows in your reports, and your numbers quietly stop adding up.
The fix is a written convention that everyone follows:
- Always lowercase. Pick lowercase and never deviate. A good builder can force this for you.
- Use underscores or hyphens consistently, never spaces.
black_friday, notBlack Friday. - Keep a master spreadsheet of approved sources, mediums, and campaign names so nobody invents a new spelling on the fly.
- Be specific but stable.
cpcshould always mean paid search; don’t let it drift to mean “social ads” in one campaign and “search ads” in another.
For a deeper look at how the three core parameters relate — and how to choose between source and medium when it isn’t obvious — read UTM Parameters Explained.
Common mistakes to avoid
Spaces in values. A raw space breaks a URL. It must be percent-encoded as %20 (or written as +). Hand-typing utm_campaign=summer sale produces a malformed link; a builder encodes it automatically.
Inconsistent casing. Covered above, but it bears repeating because it is the single most common reason UTM reports look wrong.
Tagging internal links. This is the costliest mistake. UTM tags are meant for links that bring people to your site from outside. If you put UTM tags on a link between two pages of your own site, the visitor’s session is overwritten — GA4 starts a brand-new session and re-attributes the original source. The result is inflated session counts and destroyed attribution. Never tag internal navigation.
Missing required fields. A link with only utm_campaign and no source or medium won’t be attributed cleanly. Always include all three required parameters.
How the data shows up in Google Analytics 4
In GA4, your UTM parameters populate the Traffic acquisition and Session reports. The mapping is direct:
utm_source→ Session sourceutm_medium→ Session mediumutm_campaign→ Session campaign
GA4 also combines source and medium into a single Session source / medium dimension (for example newsletter / email) and rolls mediums up into Default channel groups — so cpc lands under “Paid Search” and email under “Email.” This is exactly why consistent mediums matter: GA4’s channel grouping relies on recognised medium values to sort your traffic into the right bucket. A typo’d medium like e-mail falls through to “Unassigned.”
A workflow for teams
To keep attribution trustworthy as more people start tagging links:
- Document the convention. One shared doc listing approved sources, mediums, and the casing rule.
- Maintain a campaign registry. A spreadsheet of every campaign name in use, so two people never spell the same campaign differently.
- Standardise on one builder. When everyone generates links the same way, encoding and casing stay consistent by default.
- Lowercase everything automatically. Remove human judgement from casing entirely.
- Review reports monthly. Watch for near-duplicate rows (
facebookvsFacebook) — they’re early signals that the convention is slipping.
Once the convention is in place, the day-to-day work is fast: open the UTM Link Builder, fill in source, medium, and campaign, let it lowercase and encode the values, and copy the finished tracking URL. Clean inputs in, clean reports out.