Skip to content
Seed Lighthome

What Is a UTM Code? Track Where Each Visit Came From

A UTM code is a short tag added to the end of a link so your analytics tool records exactly where a click came from. Five parameters exist, and three are used every time: source, medium and campaign. Seed Light keeps a written naming log and leaves internal links untagged, since a UTM there overwrites the real source.

A campaign URL builder with UTM fields filled in.

Key takeaways

  • A UTM is a link tag. It sits at the end of a URL and tells your analytics tool where the click came from, so you stop guessing.
  • Three parameters do the heavy lifting. Google recommends you always use utm_source, utm_medium, and utm_campaign. The other two are optional.
  • Each tag maps to a report field. In Google Analytics 4, utm_source becomes the Session manual source, and the others follow the same pattern.
  • Consistency matters more than cleverness. GA4 treats Email and email as two different things, so pick a naming style and stick to it.
  • Two mistakes ruin your data. Never tag links between your own pages, and do not manually tag Google Ads when auto-tagging is on.

1. What is a UTM code?

A UTM code is a snippet of text bolted onto the end of a link that tells your analytics tool where a visitor came from. Think of it like a luggage tag.

The bag is your web page, and the tag rides along so the airport knows exactly where it started and where it should go. When someone clicks a tagged link, those little tags travel with them and land in your reports as the traffic's source, channel, and campaign.

A web link with a UTM tag attached, showing the source, medium, and campaign it carries.
A UTM code is a tag on a link that tells your analytics where the click came from.

Without a UTM, your analytics has to guess. It can often see that a visitor arrived from another website, but it usually cannot tell whether that click came from your monthly email, a paid post, or a link in your bio. Tag the link and the guesswork disappears.

The name is a leftover from history. UTM stands for Urchin Tracking Module, after Urchin Software, a company Google bought in 2005 and reshaped into Google Analytics. Almost nobody says Urchin anymore, but the tags kept the name. Good news: you do not need any of that history to use them.

2. The five UTM parameters

There are five standard UTM parameters, and each one answers a different question about a click. Per Google Analytics Help, the practical rule is simple: whenever you tag a link, always use utm_source, utm_medium, and utm_campaign.

Those three are required in practice. The last two, utm_term and utm_content, are optional extras you add only when you need them.

An annotated UTM link showing the utm_source, utm_medium, and utm_campaign parameters that make up a tagged URL.
Each parameter answers a different question: where, how, and which campaign.
Parameter Required? What it tracks Example value
utm_source Yes Where the traffic came from newsletter
utm_medium Yes The type of channel email
utm_campaign Yes The specific campaign or promo spring_promo
utm_term Optional The paid-search keyword web_design
utm_content Optional Tells two similar links apart header_button

Here is the short version.

  • Source is the specific place the click came from, like newsletter or facebook.
  • Medium is the broad channel type, like email, social, or cpc for paid search.
  • Campaign is the named effort, like your spring sale.
  • Term is for paid-search keywords.
  • Content lets you split-test two links in the same message.

GA4 also supports a few newer optional tags, such as utm_id, but the classic five above cover almost everything a small business needs.

Building a tagged link is easier than it looks. You start with your normal page URL, add a question mark, then list the parameters. Say you are sending a spring email and you want to link to your contact page. Your finished tagged link would look like this:

A campaign URL builder form with fields for website, source, medium, and campaign.
A URL builder fills in each field and hands back a finished tagged link.

https://seed-light.com/contact/?utm_source=newsletter&utm_medium=email&utm_campaign=spring_promo

What each part of the link means

Let us read it left to right.

  1. Everything before the question mark is your normal page URL.
  2. The question mark starts the parameters.
  3. Then utm_source=newsletter says the click came from the newsletter.
  4. The ampersand joins each parameter to the next.
  5. utm_medium=email says the channel is email, and utm_campaign=spring_promo names the campaign.

That is a complete, working UTM link.

Want to test two links in the same email? Add the optional fifth parameter to tell them apart. A button in your header could carry utm_content=header_button while a text link at the bottom carries utm_content=footer_link, and your report will show which one people actually clicked.

Google's free Campaign URL Builder

You do not have to type these by hand. Google's free Campaign URL Builder lets you paste your page link, fill in the source, medium, and campaign, and copy a finished tagged link.

If paid ads are a big part of your plan, our digital marketing team can set up a naming system so your campaigns stay tidy from day one.

4. Where UTM data shows up

Once your tagged link is live and people start clicking, the data lands in Google Analytics 4. You will find it under Reports, in the traffic-acquisition and session-source reports, where GA4 groups your visitors by where they came from.

A flow diagram showing how UTM parameters on a link pass into Google Analytics 4 traffic reports.
The tags on your link flow straight into matching fields inside GA4.

Each UTM parameter feeds a matching field, called a dimension, inside GA4. Per Google Analytics Help, utm_source becomes the Session manual source, utm_medium becomes the Session manual medium, and utm_campaign becomes the Session manual campaign name.

The optional two follow the same pattern: utm_term becomes the Session manual term, and utm_content becomes the Session manual ad content. So when you build a report and add the Session manual source dimension, your newsletter tag shows up there by name.

One thing to check first: none of this works unless GA4 is actually installed on your site and collecting data. If you have not set that up yet, start with our guide on how to set up Google Analytics 4, then come back and tag your links.

5. UTM naming conventions

UTMs only pay off if you name them consistently, because GA4 reads them literally. It treats Email and email as two separate mediums, and Spring_Promo and spring_promo as two separate campaigns. Mix your capitalisation and your reports split one channel into a messy pile of near-duplicates.

UTM naming rules: use lowercase, no spaces, be consistent, with an Email versus email warning.
A few simple rules keep your reports clean: lowercase, no spaces, and be consistent.

A few simple rules keep you safe

  • Use lowercase for everything, always.
  • Never use spaces, because they break the URL, so join words with underscores or hyphens instead, like spring_promo.
  • Keep your values short and readable.
  • Use the same words every time, so email is always email and never e-mail or Email.

Pick one convention and write it down

The real trick is to pick one convention and write it down. Keep a simple log, even a spreadsheet, listing every source, medium, and campaign value you use, plus the finished links.

Future you will thank present you when it is time to compare this year's spring campaign to last year's. A shared tracking sheet also stops two people on your team from tagging the same channel two different ways.

If you want the bigger picture of how all your channels fit together, our overview of digital marketing for small business puts UTMs in context.

6. Common UTM mistakes

Two mistakes cause most UTM headaches, and both are easy to avoid once you know them.

Two UTM mistakes to avoid: tagging internal links, and double-tagging ads.
The two mistakes to avoid: tagging your own internal links, and double-tagging ads.

Tagging your own internal links

Internal UTMs overwrite the campaign values GA4 records, so reports credit your own site instead of the real source.

The result is that your reports credit your homepage for traffic that actually came from Google or your email, and the true source vanishes. Save UTMs for links that bring people to your site from somewhere else.

Double-tagging Google Ads

The second is double-tagging Google Ads. If you run Google Ads, the platform has a feature called auto-tagging that adds its own tracking automatically. Per Google Analytics Help, when both manual UTM tags and auto-tagging are used together, GA4 uses the auto-tagged values.

So auto-tagging is the preferred setup for Google Ads, and adding your own UTMs on top just creates confusion and duplicate work. Leave auto-tagging on and skip the manual UTMs there. Use UTMs for the channels Google cannot tag for you, like email, organic social, and partner links.

7. Should you use UTMs?

Yes, if you ever want a straight answer to "where do my customers come from?" UTMs are free, they take minutes to build, and they turn vague traffic into clear, named sources you can actually compare.

Tag your email links, your social posts, and your partner links, keep your naming tidy, and skip your internal links and your Google Ads. That is the whole game.

If you would rather have someone build your tracking so the numbers are trustworthy from the start, get in touch with our team and we will set it up with you.

A campaign source report in an analytics dashboard breaking down traffic by UTM source, medium, and campaign.
Tag your links well and your source report becomes a clear map of where customers come from.

Frequently asked questions

1. What is a UTM code?

A UTM code is a short tag you add to the end of a link so your analytics tool can record exactly where a click came from. When someone clicks the tagged link, the tags travel with them and show up as the traffic's source, channel, and campaign.

2. What does UTM stand for?

UTM stands for Urchin Tracking Module, named after Urchin Software, the company Google bought in 2005 and turned into Google Analytics. The name stuck even though almost nobody says Urchin anymore.

3. What are the five UTM parameters?

They are utm_source, utm_medium, utm_campaign, utm_term, and utm_content. The first three tell you where, how, and which campaign, and the last two are optional extras for paid keywords and for telling two similar links apart.

4. Which UTM parameters are required?

Google recommends you always use utm_source, utm_medium, and utm_campaign. Those three are the practical minimum. utm_term and utm_content are optional.

5. How do I create a UTM link?

The easiest way is Google's free Campaign URL Builder. You paste in your page link, fill in the source, medium, and campaign, and it hands back a finished tagged link to copy. You can also add the tags by hand if you prefer.

6. Where do I see UTM data?

In Google Analytics 4, under Reports, in the traffic-acquisition and session-source reports. Each UTM parameter feeds a matching dimension, for example utm_source becomes the Session manual source.

7. Should I tag internal links?

Internal UTMs overwrite the campaign values GA4 records, so reports credit your own site instead of the real source.

8. Do UTMs slow my site down or hurt SEO?

No. UTM parameters are just text on the end of a URL, so they do not affect page speed and are not a ranking factor. Set a canonical URL on your pages so search engines index the clean version rather than the tagged one.

Gregory Yeoh

About the author:

Founder of Seed Light

Gregory Yeoh founded Seed Light in 2017 and works across web design, SEO, paid advertising and automation for small businesses.

Follow the expert:LinkedIn

Let’s talk

Ready to get more
customers?

Tell us what you want to grow or improve. We’ll reply within one working day with honest advice, even if we do not work together.

Prefer email or a call? hello@seed-light.com · +60 16-411 9138

Results so far

Results from real clients

100+

Brands worked with

28,441+

Leads generated

$4.1M+

Sales generated for clients

Up to 13x

Return on Meta ad spend

Tallied from client ad accounts and store reports.

Monthly leads

We reply in one working day