Traffic

UTM parameters: the five tags and naming that stays tidy

By Sadiq Ahmed · Updated · 7 min read

Share

Quick answer

UTM parameters are short tags added to the end of a link, such as ?utm_source=newsletter, that tell your analytics tool where a visitor came from. There are five: source, medium, campaign, term and content. Used consistently, they show which email, ad or post brought people to your site and what those people went on to buy.

What UTM tags are used for

Any link can carry extra information after a question mark. UTM tags use that space to label a visit before it happens. When someone clicks the link, your analytics tool reads the labels and files the visit under the right campaign.

The name comes from Urchin, an early web analytics product that Google bought and turned into Google Analytics. UTM stands for Urchin Tracking Module. The product is long gone, but the tags became a convention that almost every analytics tool understands.

Here’s a plain link and a tagged one:

  • example.com/candles/
  • example.com/candles/?utm_source=newsletter&utm_medium=email&utm_campaign=autumn-sale

Both open the same page. The second tells you the visitor came from your newsletter, by email, as part of the autumn sale. Without the tags, a click from an email app often shows up as direct traffic, because many email apps don’t pass on a referrer. The visit happened, but you can’t tell the newsletter earned it.

The five tags and what each one means

There are five classic tags. Most tools treat the first three as the core set and the last two as optional.

ParameterWhat it answersExample values
utm_sourceWho sent the visitor?newsletter, facebook, partner-blog
utm_mediumWhat kind of channel?email, social, cpc, print
utm_campaignWhich promotion?autumn-sale, course-launch
utm_termWhich paid keyword?soy-candles
utm_contentWhich version or link?top-button, footer-link

utm_source names the specific sender: your newsletter, a particular website, a social network. utm_medium is the broad type of channel. Keep your list of mediums short, because many tools group traffic into channels based on this value. utm_campaign ties a link to a promotion, so every link in that push can be added up together.

utm_term was made for paid search keywords. Ad platforms that tag links for you often fill it in, and you can leave it out of most links you build by hand. utm_content tells apart two links that otherwise share the same tags. If your newsletter has a button at the top and a text link at the bottom, give them different content values and you’ll see which one people actually click.

Some tools accept extra tags such as utm_id, but the five above are the ones every tool understands.

How to add UTM parameters to a URL, step by step

Say you run a yoga studio on WordPress and you’re emailing your list about a new Saturday class. Here’s how to tag the booking link.

  1. Start with the clean page address, for example example.com/classes/saturday-flow/.
  2. Add a question mark, then the first tag: ?utm_source=newsletter
  3. Join each further tag with an ampersand: &utm_medium=email&utm_campaign=saturday-flow-launch
  4. Add utm_content if the email has more than one link: &utm_content=top-button
  5. Check the whole thing. It should read example.com/classes/saturday-flow/?utm_source=newsletter&utm_medium=email&utm_campaign=saturday-flow-launch&utm_content=top-button
  6. Click it yourself before you send, and make sure the page loads normally.

Two details catch people out. If the address already contains a question mark, add your tags with & rather than a second ?. And if the address has a # part (an anchor that jumps to a section of the page), the tags go before the #, not after it, or most tools won’t see them.

You don’t have to type any of this by hand. A UTM URL builder, which is a simple form that asks for each value and gives you the finished link, does the same job without typos. A spreadsheet works just as well and doubles as a record of every link you’ve made.

UTM parameters best practices: naming that stays tidy

Tags only help if you can read the report six months later. A few habits keep them useful.

  • Use lowercase for everything. Most analytics tools treat values as case sensitive, so “Facebook” and “facebook” become two separate sources that split your numbers.
  • Pick one word for each thing and stick to it. Always “email”, never “email” one week and “e-mail” the next.
  • Use hyphens instead of spaces. Spaces get turned into %20 or + inside links, which looks messy and breaks easily when copied.
  • Make campaign names say what and when, such as “black-friday-2026” rather than “promo”.
  • Keep a shared list of approved sources and mediums if more than one person makes links.

The order of the tags doesn’t matter. utm_campaign can come first if you like. What matters is that each campaign is spelled the same way in every link.

Common UTM mistakes

Tagging internal links. This is the big one. If you put UTM tags on a banner on your own homepage that points to your shop, the visitor’s real source gets overwritten. Someone who arrived from a Google search now looks as if they came from “homepage-banner”. In many tools it can also start a fresh session, which inflates your session count. Only tag links that point to your site from somewhere else.

Mixing up source and medium. “facebook” is a source. “social” is a medium. Swap them and your channel reports stop making sense.

Doubling up. Ad platforms often add their own tracking to links automatically. Check before adding a second set by hand, or you may end up with conflicting values.

Missing a link. One untagged link in a ten-link email means some of that campaign’s clicks land in direct or referral traffic, and the campaign looks smaller than it was.

Putting personal data in tags. Never put an email address, a name or a customer number in a UTM value. Links get forwarded, shared and stored in logs, and the data travels with them.

How UTM data ties campaigns to sales

Counting clicks is the easy part. The useful question is which campaign earned money.

Say you send two emails in one week for a WooCommerce candle shop. The first, tagged utm_campaign=autumn-scents, brings 300 visits and 6 orders. The second, tagged utm_campaign=free-shipping-weekend, brings 180 visits and 14 orders. Judged by clicks, the first email won. Judged by orders, the second one did, comfortably. Without tags, both would have blurred into one lump of email or direct traffic.

To get that answer, your analytics tool has to remember the source, medium and campaign of a visit and connect it to the conversion that happens later, whether that’s an order, a course enrolment or a class booking. That connection is called attribution. It’s harder than it sounds, because people often visit, leave and come back days later by a different route.

Analyzine does this inside WordPress: it tracks UTM campaigns and ties orders, enrolments and bookings back to the source, medium and campaign that earned them, with the reports in wp-admin. Whatever tool you use, the tags are what make it possible. Untagged links leave the tool guessing.

Where UTM tags fit with your other traffic data

UTM tags are one of the ways an analytics tool decides a visit’s traffic source. When a link has no tags, the tool falls back on the referrer, which can show that someone came from a search engine or another site but not which of your campaigns sent them. Tags take priority because you set them yourself.

That makes them most useful for channels that send no referrer, or a vague one: email, PDFs, QR codes on printed flyers, messaging apps and the link in your social media bio. A QR code on a leaflet at your studio’s front desk, tagged utm_source=leaflet&utm_medium=print, is the only way to find out whether the leaflet works.

Start small. Tag your next newsletter and one social post, keep every value in lowercase, and check the report a week later. Once you’ve seen which link actually brought in bookings, tagging the rest becomes a habit.

Frequently asked questions

How many UTM parameters are there?

There are five standard tags: utm_source, utm_medium, utm_campaign, utm_term and utm_content. Source, medium and campaign cover most needs. Some tools accept a few extra tags, but those five work almost everywhere.

Are UTM parameters case sensitive?

In most analytics tools, yes. “Email” and “email” are recorded as two different values, which splits your report in two. Use lowercase for every tag and the problem never comes up.

Does the order of UTM tags matter?

No. Analytics tools read each tag by its name, so utm_campaign can come before utm_source with no difference in the result. Just keep a single question mark before the first tag and an ampersand between the rest.

Can UTM tags have spaces?

They can, but it’s better not to. Spaces get encoded as %20 or a plus sign, which makes links ugly and easy to break when someone copies them. Use hyphens instead.

Do UTM parameters still work?

Yes. They’re plain text in the link, so any analytics tool that reads the page address can use them. Some browsers and apps strip certain tracking parameters from links, aimed mainly at advertising click IDs, so it’s still worth testing your important links now and then.

How do I use UTM tags on a WordPress site?

You add the tags to links you share elsewhere, such as emails, ads and social posts, so no special plugin is needed to create them. What you do need is an analytics tool on your site that reads the tags and, ideally, connects them to orders or sign-ups. Leave the links inside your own site untagged.

Be first to see where your revenue really comes from

Add your email and we'll let you know the moment early access opens.

Waitlist

We'll email you when early access opens. No spam, unsubscribe anytime. See our Privacy Policy.

Waitlist members get

  • Early access
  • Launch discount
  • Integration requests first
  • Setup help

Join the Analyzine waitlist

Leave your details and we'll let you know when early access opens.

Waitlist

We'll email you when early access opens. No spam, unsubscribe anytime. See our Privacy Policy.

Waitlist members get

  • Early access
  • Launch discount
  • Integration requests first
  • Setup help