In this article
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.
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.
- 1https://example.com/offerThe page the visitor lands on. It is unchanged.
- 2utm_source=newsletterWhere the click came from: the specific sender, site or list.
- 3utm_medium=emailThe type of channel: email, cpc, social, referral.
- 4utm_campaign=diwali-saleThe 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.
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.
instagram, partner-blog, weekly-digest.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.
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.
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.
- Newsletter420
- Google ad280
- Instagram180
- Partner blog120
These numbers are made up to show how a clean report reads. Your data will differ.
Mistakes that damage your data
- 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.
- Inconsistent spelling. Capital letters, underscores against hyphens and abbreviations all create new rows.
- Putting personal data in a tag. Never include names, emails or phone numbers. The tag shows up in analytics and in URLs people share.
- Tagging links where parameters are stripped. Some platforms rewrite or remove parameters. Test with a real click.
- Using spaces or symbols without encoding. A space should be a hyphen or
%20. A builder encodes it for you. - No record. Keep a sheet of every link, so you can explain a strange row later.
- Email newsletters and campaigns
- Social bios and posts
- Paid ads and sponsored posts
- QR codes on print
- Menu and button links on your own site
- Links between your own subdomains
- Organic search results (you cannot tag them)
- 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.
Questions people ask
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.

