# UTM parameters explained: source, medium, campaign and naming rules that keep reports clean

> UTM tags are short labels added to a link so your analytics can tell which post, email or ad sent each visitor. They work only if you name things the same way every time. This guide covers the five parameters, a naming system, the mistakes that split your data, and when not to use them.

Published 2026-10-09 by Toolcloak. 3 minute read. Original: https://toolcloak.pages.dev/articles/utm-parameters-explained-source-medium-campaign-and-naming-rules-that-keep-reports-clean
Related free tool: [UTM Link Builder](https://toolcloak.pages.dev/tools/utm-link-builder)

Someone clicks a link to your site and lands on a page. Analytics can tell they arrived from, say, a social network, but not whether it was your Monday post, your newsletter or a paid ad. **UTM parameters** are labels added to the end of a link that answer that question when the visitor arrives.

> **In short**
> - Five parameters exist: **utm_source**, **utm_medium**, **utm_campaign** (the core three) plus optional **utm_term** and **utm_content**.
> - They are **case-sensitive**. `Facebook` and `facebook` become two separate rows in your report.
> - Use a fixed **naming convention**: lowercase, hyphens for spaces, no random variations.
> - Never put UTM tags on **links inside your own site**. They can overwrite the real source of a session.

## What a tagged link looks like

The tags are added after a question mark, joined by ampersands. Everything before the question mark is your normal page address.

**https://example.com/offer?utm_source=newsletter&utm_medium=email&utm_campaign=diwali-sale**

1. **https://example.com/offer.** The page the visitor lands on. It is unchanged.
2. **utm_source=newsletter.** Where the click came from: the specific sender, site or list.
3. **utm_medium=email.** The type of channel: email, cpc, social, referral.
4. **utm_campaign=diwali-sale.** The named campaign this link belongs to.

*The visitor sees the same page. The tags only travel to analytics. Tags go before any #fragment in the address.*

Try it: [UTM Link Builder](https://toolcloak.pages.dev/tools/utm-link-builder). Fill in the page address and labels to get a clean, encoded tagged link.

## The five parameters

| Parameter | Answers | Example | Required? |
| --- | --- | --- | --- |
| `utm_source` | Who sent the visitor? | `newsletter`, `instagram`, `google` | Yes |
| `utm_medium` | What kind of channel? | `email`, `cpc`, `social`, `referral` | Yes in practice |
| `utm_campaign` | Which campaign? | `diwali-sale`, `launch-2026` | Yes in practice |
| `utm_term` | Which paid keyword? | `running-shoes` | Optional |
| `utm_content` | Which version of the link or ad? | `header-button`, `blue-banner` | Optional |

*Source and medium together are the backbone of most reports. Campaign groups them. Content is for A/B tests.*

**Think of them as four questions**

| Box | What it means |
| --- | --- |
| Where from? | utm_source. The brand, site or list: `instagram`, `partner-blog`, `weekly-digest`. |
| What kind? | utm_medium. The channel type, from a short fixed list. |
| Why? | utm_campaign. The promotion, launch or theme this link serves. |
| Which version? | utm_content. Which button, image or link within the same campaign. |

*If you can answer these four in a spreadsheet before creating the link, the tagging will be consistent.*

## Why naming matters so much

Analytics treats every different spelling as a different thing. If four people in your team tag the same channel four ways, one source becomes four rows, each with a fraction of the visits. Nobody sees the true total.

**One real source, four spellings (illustrative example, 700 visits)**

|  | facebook | Facebook | fb | FB |
| --- | --- | --- | --- | --- |
| What the report shows | facebook 420 | Facebook 135 | fb 90 | FB 55 |
| What you wanted to see | facebook 700 |

*No single row looks important, yet together they are the biggest source. Good naming keeps all 700 in one place.*

## A simple naming convention

| Rule | Do | Don't |
| --- | --- | --- |
| Case | `newsletter` | `Newsletter`, `NEWSLETTER` |
| Spaces | `diwali-sale` | `diwali sale`, `Diwali_Sale` |
| Medium | A short fixed list: `email`, `cpc`, `social`, `referral` | `e-mail`, `Email Blast`, `paid` |
| Dates | `launch-2026-10` | `Oct 9th launch!!` |
| Special characters | Letters, numbers and hyphens | `&`, `#`, `%`, accents, emoji |

*Write the rules in a shared sheet and tick each link off against them. Ten minutes of agreement saves hours of cleaning.*

> **Mediums with a built-in meaning:** Google Analytics groups traffic into default channels using the medium and source. Values such as `email`, `cpc` and `social` are recognised, while made-up ones like `blast` fall into 'Unassigned' or 'Other'. When in doubt, use the standard word.

## A worked example: one campaign across channels

Suppose you run a festive sale and promote it in four places, all to the same landing page. Same campaign name, different source and medium.

| Channel | utm_source | utm_medium | utm_campaign | utm_content |
| --- | --- | --- | --- | --- |
| Newsletter | `newsletter` | `email` | `diwali-sale` | `header-button` |
| Newsletter, second link | `newsletter` | `email` | `diwali-sale` | `footer-text` |
| Instagram bio | `instagram` | `social` | `diwali-sale` | `bio-link` |
| Google ad | `google` | `cpc` | `diwali-sale` | `ad-1` |
| Partner blog | `partner-blog` | `referral` | `diwali-sale` | `review-post` |

*Filter the campaign report by `diwali-sale` and every channel appears together. Split by content to see which button works.*

**Visits by channel in the example campaign (illustrative, 1,000 visits)**

|  | Share |
| --- | --- |
| Newsletter | 420 |
| Google ad | 280 |
| Instagram | 180 |
| Partner blog | 120 |

*These numbers are made up to show how a clean report reads. Your data will differ.*

## Mistakes that damage your data

1. **Tagging internal links.** A UTM link from your home page to another page of your site starts a new session and hides the real source.
2. **Inconsistent spelling.** Capital letters, underscores against hyphens and abbreviations all create new rows.
3. **Putting personal data in a tag.** Never include names, emails or phone numbers. The tag shows up in analytics and in URLs people share.
4. **Tagging links where parameters are stripped.** Some platforms rewrite or remove parameters. Test with a real click.
5. **Using spaces or symbols without encoding.** A space should be a hyphen or `%20`. A builder encodes it for you.
6. **No record.** Keep a sheet of every link, so you can explain a strange row later.

**Where to use UTM tags**

| Good places | Avoid |
| --- | --- |
| External links you control | Internal navigation |
| Email newsletters and campaigns | Menu and button links on your own site |
| Social bios and posts | Links between your own subdomains |
| Paid ads and sponsored posts | Organic search results (you cannot tag them) |
| QR codes on print | Links where you cannot control the page |

*For clicks inside your own site, use events or link IDs in your analytics tool instead.*

## Long links and sharing

A tagged link can run to 150 characters or more. Link shorteners keep it neat in print and posts, but keep the original in your sheet. QR codes for posters work well when the code carries a UTM link, so you can see how many scans came from each placement.

> **Respect privacy and consent:** UTM tags are labels about the campaign, not about the person. Keep them free of anything that identifies an individual, and follow the consent rules that apply to your analytics setup.

## Frequently asked questions

### What are UTM parameters?

They are labels added to a web address, such as utm_source and utm_campaign, that tell analytics tools which campaign, channel and link sent a visitor.

### Which UTM parameters are required?

Source, medium and campaign are the three you should always set. Term and content are optional and used for paid keywords and A/B tests.

### Are UTM parameters case-sensitive?

Yes. Facebook and facebook appear as two different sources in your report, so pick lowercase and stay with it.

### Can I use UTM tags on internal links?

No. Tagging links within your own website can start a new session and overwrite the real source, so your reports become inaccurate.

### What is the difference between utm_source and utm_medium?

Source is the specific origin, like newsletter or instagram. Medium is the type of channel, like email, social or cpc.

### Do UTM tags affect SEO?

They do not change rankings directly, but tagged URLs can create duplicate addresses. A canonical tag pointing to the clean address avoids confusion.

