AdPix Blog

UTM parameters: the five tags and a naming convention that lasts

UTM parameters explained: the five tags, a naming convention your whole team can follow, and how to read UTM campaigns in AdPix acquisition reports.

9 min read

Key takeaways

  • Always set utm_source, utm_medium and utm_campaign; add utm_content and utm_term only when they answer a question you will actually ask.
  • Parameter values are case sensitive, so lowercase everything and keep a fixed list of allowed sources and mediums.
  • A campaign name pattern such as yyyy-mm_product_offer keeps reports sortable and readable a year later.
  • Never put UTM tags on internal links; they overwrite the real source of the visit.
  • In AdPix, tagged visits appear in acquisition reports by channel, source / medium and campaign, and you can follow them into funnels.

UTM parameters are five short tags you add to the end of a link (utm_source, utm_medium, utm_campaign, utm_term and utm_content) so your analytics tool can tell which source, medium and campaign sent each visit. Without them, a click from your newsletter, a partner’s site or an influencer’s story often shows up as direct or referral traffic with no campaign attached. The tags take a minute to learn. Getting a whole team to write them the same way every month is harder, and that is where most of this guide spends its time.

UTM parameters are key-value pairs added to the query string of a URL that label a visit with its source, medium and campaign, so analytics reports can group traffic by the marketing effort that produced it.

What are the five UTM parameters?

Each parameter answers one question about a click. Three of them are the core of any tagged link, and Google’s own guidance is to always set utm_source, utm_medium and utm_campaign together. The other two are optional and earn their place only in specific situations.

Parameter Question it answers Example value When to use it
utm_source Who sent the visit? instagram, newsletter, partner-blog Always
utm_medium What type of channel was it? email, paid-social, cpc, sms Always
utm_campaign Which campaign or promotion? 2026-10_shoes_autumn-sale Always
utm_term Which paid keyword? running-shoes Paid search campaigns
utm_content Which creative or link? reel-a, header-button When one campaign has several ads or links

A fully tagged link looks like this:

https://example.com/autumn-sale?utm_source=instagram&utm_medium=paid-social&utm_campaign=2026-10_shoes_autumn-sale&utm_content=reel-a

The question mark starts the query string, and each & separates one tag from the next. Order does not matter, but a consistent order makes links easier to scan when you audit them.

Google also documents a few newer parameters: utm_id for a campaign ID, utm_source_platform for the platform that directed the traffic, and utm_creative_format and utm_marketing_tactic. The same page notes that the last two are not currently reported in Google Analytics properties. If you are just setting up UTM tracking, the five classic tags are enough. Add utm_id later if you need to join campaign data with cost data you upload.

How does UTM tracking actually work?

Nothing magical happens at the click. The browser requests the landing page with the full URL, including the query string. Your analytics tag reads the UTM values from the address of that first page, attaches them to the visit, and from then on reports can group that visit under its source, medium and campaign. If the visitor signs up or buys during the visit, the conversion carries the same labels.

That simple mechanism explains most UTM failures:

  • The tags must survive the trip. Link shorteners, redirects and some app in-app browsers can strip the query string. Click your own tagged link and check that the parameters are still in the address bar when the page loads.
  • The tags must come before any #. In a URL, everything after # is the fragment, which RFC 3986 defines as being handled by the user agent rather than as part of the query. Write page?utm_source=x#pricing, not page#pricing?utm_source=x.
  • Values are taken literally. Google’s documentation states plainly that parameter values are case sensitive: utm_source=google and utm_source=Google become two different rows. The same goes for a stray space or a trailing hyphen.
  • Non-English text gets encoded. URLs carry non-ASCII characters as percent-encoded bytes, so a campaign name written in Persian or Arabic turns into a long run of %D8%... codes. It still works, but nobody can read or audit it at a glance.

One side effect worth knowing about: tagged URLs are technically different addresses from your clean page. Google’s Search Central documentation recommends a rel="canonical" link to tell search engines which URL is the main version, which keeps tagged copies from competing with the original.

When should you use UTM tags, and when should you skip them?

Tag every link you place somewhere you do not control, where the analytics tool cannot otherwise see the campaign behind the click:

  • Email newsletters and automated email flows
  • Organic social posts, bios and stories
  • Paid social ads, unless the ad platform already appends your agreed tags
  • Influencer and affiliate links
  • SMS campaigns and messenger channels
  • QR codes on packaging, flyers and event material
  • Guest posts, partner sites and press mentions you can influence

Skip them on links inside your own website. A banner on your homepage that points to a sale page should not carry utm_source=homepage. Most analytics tools treat a new campaign tag as a new traffic source, so the visitor who arrived from a Google search and then clicked your banner would be relabeled as coming from your own homepage, and the real source is lost. For internal promotions, track clicks as events instead.

Also skip tags where the platform already labels traffic for you. Organic search results cannot be tagged at all, and that is fine, because analytics tools recognize search engines as referrers.

How do you build a UTM naming convention that survives a team?

A naming convention is only useful if the person who joins your team next spring writes links the same way you do. The rules below are deliberately boring. Boring rules get followed.

  1. Lowercase everything. Because values are case sensitive, a single Instagram among a hundred instagram links creates a second row in every report. A lowercase-only rule removes the problem entirely.
  2. Use one separator scheme. Hyphens join words inside a part (autumn-sale), and underscores separate parts (2026-10_shoes_autumn-sale). Never use spaces, which get encoded as %20 or +.
  3. Keep a fixed list of sources and mediums. Write down the allowed values and refuse anything else. If someone needs a new source, it gets added to the list first.
  4. Give campaigns a pattern. A format such as yyyy-mm_product_offer sorts by date, groups by product, and still makes sense a year later. 2026-10_shoes_autumn-sale beats fall_promo_final_v2.
  5. Use utm_content for the creative, not the person. Describe the ad or placement (reel-a, story-b, footer-link), never the colleague who made it.
  6. Stick to short ASCII values. No personal data, no emoji, no non-Latin script. This keeps URLs short and readable in any tool.
  7. Log every link in one shared sheet. Record the final URL, the date, the owner and where it was published. When a number looks odd in a report, the sheet tells you which link produced it.

Here is a starting vocabulary for utm_medium. If you also run Google Analytics, it helps to pick medium values that match Google’s default channel group rules, which, for example, put a medium of email under Email, a medium of social under Organic Social, and a paid medium (such as one starting with paid) from a social source under Paid Social.

Channel utm_medium Example utm_source
Email email newsletter, crm-flow
Organic social social instagram, telegram, linkedin
Paid social paid-social instagram, facebook
Paid search cpc google, bing
SMS sms sms-panel
Affiliate or influencer affiliate partner-name
Display banners display news-site

Values outside these patterns still work in your reports. They just will not fall into any of Google’s predefined channels, so you lose the clean channel view.

What does a sloppy convention cost? A worked example

Say, hypothetically, a store runs one Instagram campaign for a month, and three people create links for it. One writes utm_source=instagram, one writes Instagram, and one writes ig. At the end of the month the acquisition report shows three rows:

  • instagram: 1,240 visits
  • Instagram: 860 visits
  • ig: 300 visits

The campaign actually drove 1,240 + 860 + 300 = 2,400 visits. Anyone who glances at the top row sees about 52% of the real number (1,240 ÷ 2,400 ≈ 0.517) and concludes that Instagram underperformed. Multiply that by every channel and every month and the reports stop being trusted. A lowercase rule and a fixed source list would have produced one row of 2,400.

UTM link builderTag campaign links so every click is credited to the right channel.Try it free

The free AdPix UTM link builder is a campaign URL builder that needs no sign-in. Use it so everyone builds links from the same fields instead of typing them by hand, then paste the result into your shared sheet.

How do you read UTM campaigns in AdPix acquisition reports?

Once links are tagged, AdPix acquisition reports show where users come from at three levels: channels, source / medium, and UTM-tagged campaigns. A useful reading order is:

  1. Start with channels to see the overall mix: how much traffic came from email, social, paid and search.
  2. Drill into source / medium to check your convention is holding. Duplicate rows like instagram / paid-social and Instagram / paid-social are the first sign someone is typing links by hand.
  3. Open the campaign view to compare promotions side by side, then look at utm_content values to compare creatives inside one campaign.
  4. Follow the campaign into the funnel. AdPix funnels track every step from first visit to sign-up or purchase, so you can see whether a campaign brings people who convert or people who leave after one page. The sales funnel analysis guide covers how to read drop-off between steps.

Continuing the hypothetical store: after fixing the naming, the campaign view shows two creatives. reel-a brought 1,400 visits and 35 orders, a conversion rate of 35 ÷ 1,400 = 2.5%. story-b brought 1,000 visits and 18 orders, or 18 ÷ 1,000 = 1.8%. If each creative cost $300 and the average order is $40, reel-a returned 35 × $40 = $1,400 (a ROAS of 1,400 ÷ 300 ≈ 4.7) and story-b returned 18 × $40 = $720 (a ROAS of 2.4). The ROAS formula guide walks through that calculation and the break-even point. Before you shift the whole budget to reel-a, check whether 35 versus 18 orders is a real difference or noise; the A/B test sample size guide explains how much data you need.

A few AdPix details make this easier. Reports are not sampled, so a small campaign row shows actual counts rather than an estimate. On Starter and above, segments let you isolate a group of visitors, such as everyone who arrived from one campaign, and compare their behavior with everyone else. Because AdPix connects a user’s visits across devices and channels into one journey, you can also see when someone first came from a campaign link and converted later through another route.

Remember what UTM data does and does not tell you. It records the source of a visit. It does not decide how much credit each touchpoint deserves when a customer clicks three different campaigns before buying. That is a question for your attribution model, covered in the attribution models guide.

If you already use Google Analytics, you do not need to change your links. AdPix runs alongside Google Analytics without interfering, and the same tagged URLs feed both tools, which makes it easy to compare them side by side. The Google Analytics alternative guide covers that comparison in more depth, and AdPix pricing lists what each plan includes.

What should you do this week?

Open last month’s acquisition report and sort the source / medium list alphabetically. Every near-duplicate you find (capitalized, misspelled, abbreviated) is a rule your convention needs. Write those rules down using the seven above, put the allowed sources and mediums in a shared sheet, and build every new link with the UTM builder from today on. Then pick one campaign as your test case and track the marketing KPIs you care about through it, from first visit to purchase.

UTM link builder

Tag campaign links so every click is credited to the right channel. The free plan covers 100,000 events a month, no credit card. Setup takes under five minutes.

Frequently asked questions

Do UTM parameters affect SEO?

They do not help or hurt rankings by themselves. Tagged URLs can be crawled as duplicates of the clean page, so keep a rel=canonical tag pointing to the clean URL.

Are UTM parameters case sensitive?

Yes. Google's documentation states that utm_source=google and utm_source=Google are treated as different values, so a lowercase-only rule prevents split rows.

Which UTM parameters are required?

Google recommends always using utm_source, utm_medium and utm_campaign. utm_term and utm_content are optional and are used for paid keywords and for telling creatives or links apart.

Should I add UTM tags to links inside my own website?

No. A campaign tag on an internal link relabels the visit as coming from your own site and erases the source that actually brought the visitor.

Can I use non-English words in UTM values?

You can, but non-ASCII characters are percent-encoded in the URL, which makes links long and hard to audit. Short lowercase ASCII values are safer.

Sources and methodology

All visit, order and spend figures in the worked examples are hypothetical and chosen to make the arithmetic easy to follow.

  1. Google Analytics Help: URL builders, collect campaign data with custom URLs
  2. Google Analytics Help: Default channel group
  3. Google Search Central: How to specify a canonical with rel=canonical and other methods
  4. RFC 3986: Uniform Resource Identifier (URI), Generic Syntax

This article was drafted with AI assistance and reviewed by the AdPix team before publishing. Editorial policy

About the authorFounder, AdPix · Builder of AdPix

Founder of AdPix, the web analytics platform built for Iranian teams. Every article on this blog is reviewed by the founder before it is published.

Web analyticsAttributionCampaign measurement

Try AdPix today

Set up AdPix and make more precise decisions with your data.