If you share a link in a newsletter, an ad and a social post, your analytics report will show visits, but not always which of those three sent them. UTM parameters solve this. They are small labels added to the end of a web address that tell analytics tools exactly where a visit came from. This guide explains what each label means, how to name them so your reports stay clean, and the mistakes that quietly spoil the data.
What a UTM link looks like
A UTM link is your normal address followed by a question mark and one or more labels joined with ampersands:
Visitors see the same page. Your analytics tool reads the labels and files the visit under the newsletter source, the email medium and the spring_sale campaign. The name “UTM” comes from Urchin Tracking Module, the tracking software that Google bought and turned into Google Analytics. You can build links in seconds with the UTM link builder.
The parameters
| Parameter | What it answers | Examples |
|---|---|---|
| utm_source | Where did the visit come from? | newsletter, google, facebook |
| utm_medium | What kind of channel was it? | email, cpc, social, banner |
| utm_campaign | Which promotion was it? | spring_sale, launch_2026 |
| utm_id | Which campaign ID from an ad platform? | abc123 |
| utm_term | Which paid keyword? | running_shoes |
| utm_content | Which version of the link? | logo_link, text_link |
Source, medium and campaign are the three that matter most. Term and content are optional.
Naming rules that keep reports clean
Analytics tools treat the values as text, and text is case-sensitive. “Email”, “email” and “E-mail” become three separate rows in your report. A few habits prevent this:
- Use lowercase everywhere. The link builder does this by default.
- Use underscores instead of spaces. A space has to be encoded as %20, which makes links long and ugly.
- Agree the names once and write them down. A simple table of allowed sources and mediums is enough for a small team.
- Use common medium names. Google Analytics groups traffic into channels using rules based on the medium, so unusual values, for example “mail” instead of “email”, can leave traffic in an “Unassigned” group.
The mistakes that spoil the data
- Tagging links inside your own website. When a visitor clicks a UTM link on your own pages, the tool starts a new session and replaces the real source, such as Google, with your internal label. UTM tags are for links that bring people to your site from outside.
- Putting private information in a tag. The labels are visible in the address bar and in shared links, so never include names, email addresses or anything personal.
- Forgetting special characters. A value with an ampersand or a question mark breaks the address unless it is percent-encoded. The URL encoder shows how, and the link builder does it for you.
- Mixing with auto-tagging. Google Ads has its own automatic tagging, so check how your account is set up before adding UTM tags to Google Ads links.
Offline campaigns: posters, flyers and QR codes
UTM links also work for print. Put a campaign link in a QR code on a poster and give it its own medium, such as “poster” or “flyer”, and you can see how many people scanned it and what they did next. Keep the link short, because long links make denser codes that are harder to scan.
Reading the results
In Google Analytics, the source, medium and campaign appear as dimensions in the traffic acquisition reports, and you can compare visits, engagement and conversions for each. Give a campaign enough time before drawing conclusions, and compare like with like. A campaign that sends few visits with a high conversion rate can be more valuable than one that sends many visits that leave at once.
Sources and further reading
- Google Analytics Help: Collect campaign data with custom URLs
- UTM parameters (Wikipedia)
- RFC 3986: Uniform Resource Identifier (URI): Generic Syntax
Numbers in worked examples are calculated by code and checked by automated tests. How we test.