How UTM Parameters Work (with Examples)
Guide Β· Updated
UTM parameters are small pieces of text added to the end of a web link that tell analytics tools where a click came from. There are five standard tags β utm_source, utm_medium, utm_campaign, utm_term and utm_content β and Google Analytics recommends that you always include the first three. This guide explains what each tag does, how the values appear in your reports, how to encode them safely, and the naming mistakes that quietly corrupt campaign data.
What a UTM Parameter Actually Is
A UTM parameter is a name-and-value pair tacked onto a URL after a question mark. "UTM" stands for Urchin Tracking Module, a name carried over from Urchin, the web analytics product Google acquired in 2005 that became the basis of Google Analytics. The tags themselves are not magic β they are just ordinary URL query parameters that analytics platforms have agreed to read in a standard way.
Here is a tagged link, broken into its parts: https://example.com/sale?utm_source=newsletter&utm_medium=email&utm_campaign=spring_sale. Everything before the question mark is the normal page address. After it, each parameter is separated by an ampersand (&), and each one assigns a value with an equals sign (=). When someone clicks this link, their browser still loads the same page, but the analytics code on that page reads the parameters and records where the visit came from.
Because UTM tags live in the visible URL, anyone can read or copy them. They are intended for attribution and reporting, not for anything sensitive β never put personal data, email addresses, or anything private into a UTM value.
How the Values Show Up in Analytics
In Google Analytics 4, each UTM tag maps to a reporting dimension. utm_source becomes the session/source dimension, utm_medium becomes medium, utm_campaign becomes campaign, utm_term becomes the manual term, and utm_content becomes manual ad content. You can then filter, group, and compare traffic by any of these β for example, seeing how many sign-ups came from medium = email versus medium = social.
The combination of source and medium is so common that GA4 reports it as a single "session source / medium" value, such as newsletter / email. This is why consistency matters: if half your links say utm_medium=email and the other half say utm_medium=e-mail, the same channel is split into two rows and your totals no longer add up.
One important detail: values are case-sensitive. According to Google, utm_source=google and utm_source=Google are recorded as two different sources. Capitalisation differences are one of the most common reasons a single channel appears fragmented across multiple lines in a report.
Naming Conventions and URL Encoding
Because values are case-sensitive, the safest convention is to use lowercase for every value, every time. Pick a single house style β for instance, always email (not Email or e-mail), always facebook (not Facebook or FB) β and write it down so everyone tagging links follows the same rules. A short shared spreadsheet of approved source and medium values prevents most data drift.
URLs cannot contain raw spaces, so multi-word values need handling. The cleanest approach is to avoid spaces entirely and join words with a hyphen or underscore, such as utm_campaign=spring-sale or utm_campaign=spring_sale. If a value does contain a space, it must be percent-encoded as %20 (some tools instead substitute a + sign); leaving a literal space can break the link or produce inconsistent data. The same applies to other reserved characters like &, =, ?, and # β encode them, or avoid them in values altogether.
To keep values clean without memorising encoding rules, build links with a dedicated UTM tool and run anything with special characters through a URL encoder before publishing. That guarantees the link is valid and the value lands in your reports exactly as you intended.
Common Mistakes to Avoid
The most frequent errors are inconsistency and over-tagging. Inconsistent casing or spelling (Email vs email, springsale vs spring_sale) splits one channel into several, while leaving out utm_medium or utm_campaign leaves gaps that surface as "(not set)" in reports. A close cousin is mixing concepts up β putting a channel name in utm_source or a campaign name in utm_medium β which scrambles the source/medium pairing.
Two technical traps are worth flagging. First, never add UTM parameters to internal links between pages of your own site; doing so overwrites the original source and makes it look as though your homepage referred itself. Second, watch the placement of the question mark: a URL may only have one ? to begin its query string. If the page already has parameters, append UTM tags with & instead of a second ?.
Finally, remember that UTM data is self-reported by the link, not measured independently. The tags describe whatever you typed, so a typo or a copy-paste from the wrong campaign will be faithfully recorded as fact. Double-check links before they go live, especially in emails and printed or scanned codes where you cannot fix them after the fact.
Frequently asked questions
Are all five UTM parameters required?
No. Google Analytics recommends always including utm_source, utm_medium, and utm_campaign, while utm_term and utm_content are optional and used for finer detail such as paid keywords or creative variations. If you leave a parameter out, its dimension generally appears as "(not set)" in reports.
Do UTM parameters affect my SEO or page ranking?
They do not improve or harm rankings by themselves, but adding query parameters can create multiple URLs that point to the same content. To avoid duplicate-content confusion, point external campaign links at a clean page and rely on a canonical tag so search engines know which version is primary. UTM tags are best used on inbound marketing links, not on internal navigation.
Why is my one traffic source showing up as several different rows?
Almost always because of inconsistent values. UTM values are case-sensitive, so Facebook and facebook are counted separately, and spelling variants like email and e-mail also split. Standardise on lowercase and a fixed spelling for every source and medium to keep each channel on a single line.
How do I handle spaces in a UTM value?
Avoid raw spaces, because URLs cannot contain them. Either join words with a hyphen or underscore (spring-sale, spring_sale) or percent-encode the space as %20. Running the finished link through a URL encoder ensures any spaces or special characters are converted correctly before you publish it.
What is the difference between utm_source and utm_medium?
utm_source names the specific origin of the click, such as a newsletter, google, or facebook. utm_medium names the type of channel that origin used, such as email, cpc (paid search), or social. Source answers "who sent them" and medium answers "by what method"; analytics tools often combine them as source / medium.
Can people see or change my UTM parameters?
Yes. UTM tags are part of the visible URL, so anyone can read, copy, or edit them. Because the data is self-reported by whatever the link contains, never store private or personal information in a UTM value, and verify links before publishing since incorrect tags will be recorded exactly as written.
Try the tools
Sources & references
This guide is general information to help you understand the topic and use the tools β it is not professional (financial, medical, legal, or tax) advice. Verify anything important before relying on it. See our Disclaimer.