Marketing

UTM parameters: the five tags, naming rules and examples

UTM parameters tell your analytics which campaign sent each visit. Learn the five tags, naming conventions, examples for email, social and ads, and common mistakes.

About this guide

Topic
Marketing
Reading time
6 minutes
Updated
October 11, 2026
Written by
The Blinkhop team
On this page

UTM parameters are tags you add to the end of a URL, such as ?utm_source=newsletter&utm_medium=email&utm_campaign=spring_sale_2026, so your analytics tool can tell which source, channel and campaign sent each visitor. There are five classic parameters, and three of them belong on every tagged link. This guide explains each one, gives naming rules and ready-to-copy examples, and shows how to keep tagged links short.

How UTM parameters work

UTM stands for Urchin Tracking Module, after the analytics product that became Google Analytics. The tags are ordinary query parameters: they do not change what the page shows. When a visitor lands, your analytics script reads them and files the visit under the right source, medium and campaign.

A tagged URL has three parts:

  • The page: https://example.com/spring-sale
  • A question mark that starts the query string: ?
  • The tags, joined by ampersands: utm_source=newsletter&utm_medium=email&utm_campaign=spring_sale_2026

Put together:

https://example.com/spring-sale?utm_source=newsletter&utm_medium=email&utm_campaign=spring_sale_2026

Google Analytics and many other analytics tools read UTM tags. The definitions and examples in this guide follow Google’s documentation.

The 5 UTM parameters explained

Parameter What it answers Example values When to use it
utm_source Who sent the visit? newsletter, linkedin, google Every tagged link
utm_medium What kind of channel? email, social, cpc, referral Every tagged link
utm_campaign Which campaign or promotion? spring_sale_2026, product_launch Every tagged link
utm_term Which paid keyword? linen_shirts Paid search ads
utm_content Which creative or placement? hero_button, footer_link Several links in the same message or ad

Google’s help page on URL builders says you should always use utm_source, utm_medium and utm_campaign, and that missing parameters show up as “(not set)” in reports. The same page lists newer optional parameters that Google Analytics recognizes: utm_id for a campaign ID, utm_source_platform, utm_creative_format and utm_marketing_tactic. As of October 2026, Google notes that the last two are not currently reported in Google Analytics properties.

UTM naming conventions that keep reports clean

Analytics tools group visits by the exact text of each value. Small differences split one campaign into several rows that you then have to add up by hand. These rules prevent that:

  1. Use lowercase only. Values are case sensitive. Google’s own example: utm_source=google is different from utm_source=Google.
  2. Pick one separator. Use underscores or dashes, not both, and never spaces. A space turns into %20 or + in the URL and is easy to get wrong.
  3. Use standard mediums. Google Analytics assigns visits to default channels partly from the medium. For example, email goes to Email, social to Organic Social, referral to Referral and affiliate to Affiliates. A paid medium such as cpc, or anything starting with paid, counts as Paid Social when the source is a social network and as Paid Search when it is a search engine. The full rules are in Google’s default channel group documentation.
  4. Name campaigns so they sort. A pattern like 2026-10_product_launch keeps campaigns in date order in every report.
  5. Write it down. Keep a shared list of allowed sources, mediums and campaign names. With a Blinkhop account (early access), you can save UTM presets so the whole team reuses the same values.
  6. Never put personal data in tags. Email addresses or names in a URL end up in analytics reports, browser histories and server logs.
Instead of Use
utm_source=Facebook, fb or facebook.com utm_source=facebook
utm_medium=E-mail utm_medium=email
utm_campaign=Spring Sale 2026 utm_campaign=spring_sale_2026

UTM examples for email, social and ads

Each example below uses https://example.com/spring-sale as the landing page. Swap in your own values, or let the free UTM builder assemble the URL for you.

Email newsletter

Give each link in the same email its own utm_content, so you can see which one people click:

https://example.com/spring-sale?utm_source=newsletter&utm_medium=email&utm_campaign=spring_sale_2026&utm_content=hero_button
https://example.com/spring-sale?utm_source=newsletter&utm_medium=email&utm_campaign=spring_sale_2026&utm_content=footer_link

Social media posts

Use the network as the source and social as the medium for unpaid posts and profile links:

https://example.com/spring-sale?utm_source=linkedin&utm_medium=social&utm_campaign=spring_sale_2026&utm_content=carousel_post
https://example.com/spring-sale?utm_source=instagram&utm_medium=social&utm_campaign=spring_sale_2026&utm_content=bio_link

Use a paid medium so the visit lands in a paid channel, and utm_term for search keywords:

https://example.com/spring-sale?utm_source=linkedin&utm_medium=paid_social&utm_campaign=spring_sale_2026&utm_content=video_a
https://example.com/spring-sale?utm_source=bing&utm_medium=cpc&utm_campaign=spring_sale_2026&utm_term=linen_shirts

Some ad platforms add their own tracking parameters automatically. Check how those interact with manual UTM tags in your analytics settings before you use both on the same ads.

Tag printed links too, then shorten them so the QR code stays simple:

https://example.com/spring-sale?utm_source=flyer&utm_medium=print&utm_campaign=spring_sale_2026

Google’s default channel rules have no channel for print, so these visits appear as “Unassigned” unless you create a custom channel group for offline campaigns.

Before a launch, list every place a link will appear and decide its tags in advance. A plan like this takes a few minutes and prevents messy reports later:

Placement utm_source utm_medium utm_content Short link
Newsletter, main button newsletter email hero_button zou.sh/spring-news
Newsletter, footer newsletter email footer_link zou.sh/spring-news-footer
LinkedIn post linkedin social carousel_post zou.sh/spring-li
Instagram profile instagram social bio_link zou.sh/spring-ig
Printed flyer flyer print front_cover zou.sh/spring-flyer

Every row shares utm_campaign=spring_sale_2026, so the campaign report adds them up, while the source, medium and content columns let you compare placements. Keep the table next to your campaign brief and add a row for each new placement instead of improvising tags at the last minute.

Common UTM mistakes

  1. Tagging internal links. UTM tags are for links that bring people in from elsewhere. A tagged link between your own pages replaces the real source of the visit with your tag.
  2. Inconsistent spelling. Facebook, facebook and fb become three different sources.
  3. Leaving out the source or the medium. Missing values show up as “(not set)” and the visit may land in the wrong channel.
  4. Adding a second question mark. If the URL already has a query string, such as ?color=blue, join the tags with an ampersand: ?color=blue&utm_source=newsletter.
  5. Putting tags after a #. Everything after # is a fragment, which browsers do not send to the server, and most analytics tools read UTM tags from the query string only. Place the tags before the #.
  6. Losing tags in a redirect. If your landing page redirects and drops the query string, the tags never reach analytics. Open the tagged URL and check the address bar once the page has loaded.
  7. Reusing one tagged link everywhere. If the newsletter and the social post share a link, you cannot compare them. Change at least utm_content or utm_source.
  8. Sharing long tagged URLs as they are. They are hard to read, easy to break when someone edits them and they clutter posts. Shorten them.

A short link is the simplest way to share a tagged URL. The tags stay in the destination, so analytics receives them on every click, while people only see the short address.

  1. Build the tagged URL, for example with the UTM builder.
  2. Shorten it on blinkhop.com, through the API or with your AI assistant.
  3. Share the short link, for example https://zou.sh/spring-news.

From a terminal, one request does it. The ?format=text option returns only the short URL, and --data-urlencode keeps the ampersands inside the tagged URL intact:

curl -s "https://api.blinkhop.com/v1/links?format=text" \
  --data-urlencode "url=https://example.com/spring-sale?utm_source=newsletter&utm_medium=email&utm_campaign=spring_sale_2026&utm_content=hero_button"

Three details make this work well:

  • One short link per placement. Each tagged URL is different, so each gets its own short link, and you can compare placements both in analytics and in Blinkhop’s click counts.
  • Same URL, same link. Shortening the exact same tagged URL again returns the existing short link instead of creating a duplicate.
  • Two views of the same traffic. Blinkhop counts clicks on the short link per day, country, referrer domain and device type, without cookies, and leaves out bots and link previews. Your analytics tool counts visits on your site. The numbers measure different steps, so expect small differences. Read more about privacy-first click analytics.

With an account (early access), saved UTM presets let you apply the same tags every time you shorten. Learn more on the UTM feature page.

Key takeaways

  • UTM parameters are query tags that tell analytics where a visit came from.
  • Always set utm_source, utm_medium and utm_campaign, and add utm_content or utm_term when you need detail.
  • Values are case sensitive, so use lowercase and a shared naming list.
  • Use standard mediums such as email, social and cpc so visits land in the right channel.
  • Never tag internal links or put personal data in tags.
  • Shorten tagged URLs so people see a clean link while analytics still gets every tag.

FAQ

Frequently asked questions

Which UTM parameters are required?

No parameter is strictly required, but Google recommends always using utm_source, utm_medium and utm_campaign. Missing parameters show up as (not set) in Google Analytics reports.

Are UTM parameters case sensitive?

Yes. Google Analytics treats utm_source=google and utm_source=Google as two different sources, so use lowercase everywhere.

Can I shorten a URL that has UTM parameters?

Yes. Shorten the full tagged URL and the short link sends visitors to it with every parameter intact. People see a clean link and your analytics still receives the tags.

Should I add UTM parameters to internal links?

No. UTM tags belong on links that bring people to your site from somewhere else. Tagging links between your own pages replaces the real source of the visit with your own tag.

Related reading

Your next link is one paste away.

Free, no sign-up. Links that never expire.