---
title: What Is a UTM Code? How to Build, Use and Govern UTM Codes
description: Learn what a UTM code is, how to build one in six steps, name it so your data stays clean, and read the results in Google Analytics and HubSpot.
---

[The Propello Blog | Go-to-Market, AEO and RevOps](https://www.finemediabw.com/blog)

# [What Is a UTM Code? How to Build, Use and Govern UTM Codes](https://www.finemediabw.com/blog/what-is-a-utm-code)

 Written by [Tumisang Bogwasi](https://www.finemediabw.com/blog/author/tumisang-bogwasi) | Mar 25, 2023, 8:27:08 PM

If you lead marketing, sales or revenue at a B2B company and cannot say which campaign sent your last ten leads, this guide is for you. A UTM code is a short piece of text added to the end of a URL to track performance, so your analytics tool can tell you where each visit to your website came from, and you can build one in minutes.

By the end you will have a UTM code for each of your channels, a naming system your whole team follows, and a clear view of where UTM tracking data appears in Google Analytics and HubSpot. It is the base layer of campaign tracking for digital marketing campaigns. You will also know the mistakes that quietly corrupt campaign data, and how to avoid them.

 

| **UTM Code** A UTM code is a short string of tagged parameters added to the end of a link so your analytics tool can record which source, medium and campaign sent each visit. |
| --- |

## Why campaign tracking with UTM codes matters

Without tags, a visit from an email campaign and a visit from a paid ad can look alike in your analytics platform. Untagged links, especially in email, can end up counted as direct traffic, which hides the real source. You see website traffic move, but you cannot tell which marketing campaigns caused it or where your marketing efforts should go next.

With UTM tagged URLs, each campaign reports its own performance data. The page is the same URL, and the tracking parameters are the only addition. That small difference lets you track traffic by campaign, compare key metrics between channels, separate campaign performance from organic traffic, and make data-driven decisions about budget. You can also see which campaigns drive conversions, measure return by channel and judge A/B tests.

It matters most in multi-channel campaigns, where the same campaign tag runs across email, paid ads, social media posts and partner sites. One campaign name on every link means one report for the whole effort, with each channel visible inside it.

## What you will have at the end

You will have a UTM tracking sheet that lists every campaign link you publish, one agreed naming convention, and a short routine for checking campaign reports each month.

UTM stands for Urchin Tracking Module. The same five parameters work in Google Analytics and in HubSpot's tracking URLs, which is why the format is worth learning once and using everywhere.

## What to have in place before you start

Four things make the steps below quick.

- **A list of your channels.** Write down where your links appear: email, paid search, paid social, organic social media posts, partner sites, printed material.
- **Access to your analytics platform.** You need to see campaign traffic. Google Analytics shows UTM values in the Traffic acquisition report, and HubSpot shows them in its traffic analytics tool.
- **A place to store the codes.** A shared spreadsheet is enough. It becomes your single record of every tagged URL.
- **One owner.** Someone approves new values so that two people do not invent two spellings for the same channel.

If you want the wider measurement picture first, read our guide to the [top metrics to measure your inbound marketing campaign](https://www.finemediabw.com/blog/top-metrics-to-measure-your-inbound-marketing-campaign), then come back.

## The five UTM parameters and what each one tracks

A UTM code is built from parameters, each a name and a value joined by an equals sign. Google's Analytics Help page on [URL builders](https://support.google.com/analytics/answer/10917952) describes them this way, and the page says you should always use utm\_source, utm\_medium and utm\_campaign.

- **utm\_source** names the referrer, such as google, a partner site or a numbered newsletter.
- **utm\_medium** names the marketing medium, such as cpc, banner or email.
- **utm\_campaign** names the product, slogan or promotion, such as spring\_sale.
- **utm\_term** holds the paid keyword for search campaigns.
- **utm\_content** tells similar creatives apart. Google's example is two call-to-action links in one email, each with its own value, so you can see which version works better.

The same page lists extra parameters, including utm\_id for a campaign ID, but the five above cover almost every marketing campaign. Source, medium and campaign are the three you cannot skip. Term and content are optional detail.

Source says who sent the visitor, medium says how the link reached them, and campaign says why you sent it.

## Build a UTM code in six steps

A UTM link is an ordinary URL with a question mark followed by tracking parameters, each written as a parameter and value pair. Each pair is separated by an ampersand. Google's page confirms the manual format and says parameters can appear in any order.

### 1. Start with the full destination URL

Copy the exact page address you want visitors to land on, including the https part. Test it in a browser first.

Done looks like: one working destination URL pasted into your tracking sheet.

### 2. Add the question mark and utm\_source

Add a question mark at the end of the address, then utm\_source and an equals sign, then the value. For a paid ad on Google, the value is google. For a monthly email, it might be the newsletter name.

Done looks like: a URL that ends with something like ?utm\_source=newsletter.

### 3. Add utm\_medium and utm\_campaign

Join each new pair with an ampersand. Medium describes the channel type, such as email or cpc. Campaign names the promotion and should match the campaign name in your plan exactly, so one effort never splits into several rows in your reports.

Done looks like: ?utm\_source=newsletter&utm\_medium=email&utm\_campaign=summer-sale.

### 4. Add term or content only when you need them

Add utm\_term for the paid search keywords behind an ad, and utm\_content when one page receives several links from the same message. In an email with a logo, an image and a button all pointing to the same page, give each link its own content value.

Done looks like: three links to one page, each ending in a different utm\_content value.

### 5. Build the URL in a campaign URL builder, then check it

You can type the parameters by hand, but a UTM builder removes typos and gives you finished UTM URLs. Some builders create many links at once and export them as a CSV file, which suits a large campaign. Google's help page points to the Campaign URL Builder for links to websites. HubSpot's tracking URL tool does the same job inside your account, and its own help article walks through it. Paste the finished link into a browser and confirm the page loads.

Done looks like: a generated URL that opens the right page with no errors.

### 6. Record the code and publish the link

Add the final URL, the owner, the channel and the launch date to your tracking sheet. Then use the link in the ad, email or post. Because a QR code is just a link in picture form, the same tagged URL works there too.

Done looks like: every live link has a matching row in the sheet.

## UTM tracking examples for Google Ads, email and social media

Imagine an outdoor equipment retailer measuring a summer sale across three channels. These addresses use a plain placeholder domain, so swap in your own.

For a Google Ads campaign that targets the keyword camping gear:

yourdomain.com/summer-sale?utm\_source=google&utm\_medium=cpc&utm\_campaign=summer-sale&utm\_term=camping-gear

For a paid social campaign, or a set of organic social media posts with their own medium value:

yourdomain.com/summer-sale?utm\_source=paid-social-network&utm\_medium=paid-social&utm\_campaign=summer-sale

For a promotional email with three links to the same page, only the last value changes:

yourdomain.com/summer-sale?utm\_source=summer-promo&utm\_medium=email&utm\_campaign=summer-sale&utm\_content=logo

yourdomain.com/summer-sale?utm\_source=summer-promo&utm\_medium=email&utm\_campaign=summer-sale&utm\_content=main-image

yourdomain.com/summer-sale?utm\_source=summer-promo&utm\_medium=email&utm\_campaign=summer-sale&utm\_content=orange-cta

Because the campaign value is identical everywhere, one report shows the whole sale, and because source and medium differ, you can compare channels inside it.

## Use one naming system so campaign data stays clean

Most UTM problems are naming problems. Google's guidance is blunt: values are case sensitive, so utm\_source=google and utm\_source=Google are different values, and SpringSale and Spring\_Sale are treated as distinct. Google recommends lowercase as the standard and a strict, consistent naming convention for source, medium and campaign.

A simple naming system has four rules:

- **Lowercase only.** No capitals, ever.
- **One separator.** Choose hyphens or underscores and keep to it.
- **One value per channel.** Pick a single source value for each platform and a single medium value for each channel.
- **Campaign names match the plan.** Copy the name from the campaign brief rather than retyping it.

Write these rules at the top of your tracking sheet so a new colleague learns the system from it, and audit your UTM data in Google Analytics each month for inconsistencies. If you want a deeper process around this, our guide to [the marketing tracking and reporting process](https://www.finemediabw.com/blog/the-ultimate-marketing-tracking-and-reporting-process) shows how naming fits into reporting.

## See campaign reports and UTM data in Google Analytics

Once tagged links get clicks, Google Analytics records the parameter values, so your campaign reports can show which campaign link brought each visitor. Google's help page says that when a user clicks a referral link, the URL parameters are sent to Analytics and the values are visible in the Traffic acquisition report. That is where to read campaign performance by source, medium and campaign.

To find your data in Google Analytics, open reports, choose the acquisition area, and open Traffic acquisition. Then change the dimension so that session source and medium or session campaign appears. You can compare each campaign link against the others and judge which marketing channels drive the traffic you want.

Google also warns that if you set one UTM parameter, you should set all the relevant ones. Missing parameters result in (not set) values in your reports, which is the clearest sign that a link was tagged half-way.

## Use tracking URLs and UTM codes in HubSpot

HubSpot calls its tagged links tracking URLs. Its knowledge base article on [creating tracking URLs](https://knowledge.hubspot.com/settings/how-do-i-create-a-tracking-url), last updated April 15, 2026, says a tracking URL is a URL with parameters attached, and that when visitors arrive from one, HubSpot saves the information in those parameters.

The article lists what the builder asks for:

- **The destination page**, which must have the HubSpot tracking code installed.
- **The UTM campaign**, which is required because the campaign name is used in several reports.
- **The source**, chosen from options such as email marketing, paid search, organic social and paid social, or a custom source.
- **Optional medium, term and content.**

Visits from the link are attributed to the campaign in the sources report and count toward the campaign's analytics. HubSpot also describes how to test that your tracking code is working, using the Validate URL feature in the tracking code settings. Run that check before a launch so you know the page can record the visit.

For a wider look at the platform, see our explainer on [what HubSpot is](https://www.finemediabw.com/blog/what-is-hubspot). If your tagged links point to emails, our overview of [email marketing](https://www.finemediabw.com/blog/what-is-email-marketing) covers where the links usually appear.

## Mistakes that corrupt UTM data

Each of these errors is cheap to prevent.

- **Mixing cases and spellings.** Email, email and e-mail appear as three rows of duplicate entries, which splits one channel's results.
- **Leaving out a required parameter.** A link with only a campaign value produces (not set) entries.
- **Tagging internal links.** Tag only external links, the ones that bring people to your site, such as ads, email campaigns and posts. Tags on your own pages can skew attribution. Use other tools to measure clicks between your own pages.
- **Putting sensitive details in values.** URLs can appear in reports and browser history, so never include names, email addresses or other personal data.
- **Skipping the record.** Without a tracking sheet, nobody can decode a strange value six months later.
- **Changing live values.** Rename a campaign midway and its history splits in two.
- **Never opening the report.** Tagged links that nobody reads are only extra characters on a link.

Tracking tells you where visits came from. It does not tell you which of them became revenue. For that, connect your UTM data to your CRM, as our explainer on [revenue attribution](https://www.finemediabw.com/blog/revenue-attribution) describes.

## What you gain when this is done properly

When every campaign link carries a consistent tag, the benefits reach each team that depends on web traffic.

### Sales sees which campaigns bring real buyers

When UTM values travel with a lead into the CRM, reps can see which campaign and channel brought each contact. Conversations start with context, and sales can tell marketing which campaigns brought the best-fit prospects.

### Marketing compares channels and tracks campaign performance

Clean parameters let you compare marketing channels, find the strongest campaign link, and run honest tests between ad variations that send visitors to the same URL. Our guide to [website metrics to measure and track](https://www.finemediabw.com/blog/website-metrics-to-measure-and-track) shows what to do with the numbers once you have them, and it feeds your [inbound marketing strategy](https://www.finemediabw.com/blog/how-to-develop-an-inbound-marketing-strategy).

### Customer success learns which promises attracted which buyers

Customers who arrived through a particular campaign came in expecting what that campaign promised. Customer success can match onboarding to that expectation and report back which messages attract customers who stay.

## Connect UTM tracking to a system your whole team can use

UTM codes are the first layer of tracking, and they are only as good as the habits behind them. The strongest setups keep source, medium and campaign values inside the CRM, so reports on leads, deals and revenue use the same language as reports on traffic. That is also where tracking supports your [website's lead generation](https://www.finemediabw.com/blog/how-to-optimize-your-website-for-leads), and it works best on [an inbound-ready website](https://www.finemediabw.com/blog/what-is-an-inbound-ready-website).

Propello is a [HubSpot partner](https://www.finemediabw.com/about-us) that designs and builds connected go-to-market (GTM) systems on HubSpot. If you want your campaign links, reports and pipeline to tell one story, a GTM audit is the place to start.

[Book a Propello GTM Audit](https://www.finemediabw.com/contact)

## Frequently asked questions

[View full post](https://www.finemediabw.com/blog/what-is-a-utm-code)

```json
{
  "@context" : "http://schema.org",
  "@type" : "BlogPosting",
  "author" : {
    "@type" : "Person",
    "name" : "Tumisang Bogwasi"
  },
  "dateModified" : "2026-10-10T10:38:04.679Z",
  "datePublished" : "2023-03-25T20:27:08Z",
  "headline" : "What Is a UTM Code? How to Build, Use and Govern UTM Codes",
  "image" : {
    "@type" : "ImageObject",
    "height" : 630,
    "url" : "https://5034240.fs1.hubspotusercontent-na1.net/hubfs/5034240/Blog/Technology%20and%20RevOps/Refresh/What%20Is%20a%20UTM%20Code%20-%20How%20to%20Build%2c%20Use%20and%20Govern%20UTM%20Codes/what-is-a-utm-code-share-1200x630-v2.png",
    "width" : 1200
  },
  "mainEntityOfPage" : "https://www.finemediabw.com/blog/what-is-a-utm-code",
  "publisher" : {
    "@type" : "Organization",
    "logo" : {
      "@type" : "ImageObject",
      "height" : 60.0,
      "url" : "https://f.hubspotusercontent40.net/hubfs/5034240/Fine_Media_logo_Set%20copy_HubSpot_Logo_Long_Stacked.svg",
      "width" : 60.000004
    },
    "name" : "An Inbound Marketing Blog for Marketers"
  }
}
```