How to write a UTM naming convention

Spell it once.Count it once.

A UTM naming convention is a short list of rules for writing utm_source, utm_medium and utm_campaign, so every link for the same thing lands in the same report row. Six rules do most of the work: lowercase only, one separator and no spaces, one medium per channel, one name for each place, one name for each campaign, and no personal data. Google Analytics keeps values as typed, so Newsletter and newsletter become two rows. The builder below checks each link against the rules and keeps your list.

UTM guide 6 rules Google read 1 November 2026

By the Builderify team

An example, made up for this page

01 Four spellings, four rows 02 One convention, one row 03 The total never changed
01 / The short answer

What is a UTM naming convention?
Six rules, each with a reason.

It is the rules you write down for the values in utm_source, utm_medium and utm_campaign, so two people tagging the same promotion type the same words. None of the rules is exotic: Google’s help page for its URL builder asks for most of them. The table gives each rule, what to write and where it comes from.

The six rules of a UTM naming convention, what to write for each, and why
Rule What to write Why
Lowercase only newsletter, never Newsletter Google Analytics keeps values as typed, so utm_source=google and utm_source=Google are two values. Builderify’s User Journey also stores a source exactly as typed.
One separator, no spaces spring-sale-2026: hyphens or underscores, not both Google’s own example is that SpringSale and Spring_Sale are two values. A space has to be sent as %20, and an & or a # inside a value breaks the tag.
One medium per channel email, social, cpc and the rest of the list in chapter 03 Google says to use one utm_medium for each channel, and it files each visit under a channel by its medium and source.
One name for each place Pick one spelling, such as facebook, and never fb, Facebook or facebook.com beside it Google says to use one utm_source for each platform (its own example is fb for Facebook), and Shopify points out that Google Analytics counts facebook, fb and facebook.com as separate sources.
One name for each campaign The same utm_campaign on every link of one promotion Google says to use one name that matches the campaign, so a single marketing effort does not split into several rows.
No personal data No email addresses, names or phone numbers in any tag Google’s policies don’t allow personal data in Google Analytics, and its guidance names all five utm parameters.

Write the rules and your list of values on one page and share it with whoever builds links. The next chapters take the tags and the medium list in turn, chapter 04 checks a link against all six, and chapter 05 lists the ways reports split anyway.

02 / What goes in each tag

What goes in each UTM tag?
Place, kind of place, promotion.

Put the place that carries the link in utm_source, the kind of place in utm_medium and the promotion in utm_campaign. Google says to always use all three. utm_content and utm_term add detail only when you need it.

A tagged link is the page address, a ?, and the tags joined by &. Put them before any #: MDN explains that the part after it is never sent to the server.

Google Analytics also reads utm_id and a few others. Builderify’s User Journey reads the five in the table. Tag the links people click to reach you, not links between your own pages: User Journey takes a visit’s tags from the page the visit starts on.

https://fernhillplants.example/spring-saleThe page
?utm_source=newsletterThe place
&utm_medium=emailThe kind of place
&utm_campaign=spring-sale-2026The promotion
The five UTM tags, what each answers and what to write
Tag What to write Examples Needed
utm_sourceWhich place sent them? The site, list or partner that carries the link, spelled one way newsletter, facebook, acme-podcast Always
utm_mediumWhat kind of place is it? One value from the list in chapter 03 email, social, cpc Always
utm_campaignWhich promotion is it for? One name for the whole promotion, with the year if it comes back spring-sale-2026 Always
utm_contentWhich of several links? Where the link sits, or which version it is top-banner, footer-link, video-a Only when two links in one place go to the same page
utm_termWhich paid keyword? The keyword, in lowercase fiddle leaf fig Only on paid search

The first three are the ones Google says to always set. If you set only some, the missing ones are reported as (not set).

03 / The medium list

Which utm_medium values does Google Analytics recognize?
Eleven that cover most links.

Pick the medium from a short fixed list, because Google Analytics files each visit under a channel by its medium and source. A medium that matches no rule ends up as Unassigned. The table gives eleven values, what each is for and the channel it lands in, from Google’s default channel group.

Eleven utm_medium values, what each is for, and the Google Analytics channel each is filed under
utm_medium Use it for Google Analytics channel Google’s rule
email Newsletters, campaign emails, email signatures Email Medium is email, e-mail, e_mail or e mail
social Unpaid posts, profile links, groups Organic Social Medium is social, social-network, social-media, sm, social network or social media, or the source is a social site
paid-social Ads on social sites Paid Social A paid medium (ppc, retargeting, one that starts with paid, or one that contains cp) with a social source
cpc Pay-per-click search ads Paid Search A paid medium, as above, with a search source such as google or bing
display Banner and other display ads Display Medium is display, banner, expandable, interstitial or cpm
affiliate Partners paid per sale or lead Affiliates Medium is affiliate
referral A link on another site: a directory, a guest post, a partner page Referral Medium is referral, app or link
sms Links in text messages SMS Medium or source is sms
audio Podcast ads and reads Audio Medium is audio
video Links in unpaid videos Organic Video Medium contains video, or the source is a video site
push Push notifications Mobile Push Notifications Medium ends with push, or contains mobile or notification

The source picks the paid channel too

Google chooses Paid Search, Paid Social, Paid Video or Paid Shopping from the source as well as the medium. A paid medium with a source Google doesn’t know lands in Paid Other. So set the source to the platform: facebook with a paid medium, not a paid medium alone.

No medium fits?

Print, QR codes and flyers have no medium in Google’s list. Choose the closest value, or invent one such as print, and expect Unassigned in the default channel group unless you set up a custom one. Write the choice in your list so everyone uses the same word.

Channel rules ignore case. Reports don’t.

Google’s channel rules are not case sensitive, but its parameter values are. Email and email reach the same channel and still show as two rows in a source and medium report. The case rule in chapter 01 still applies.

04 / Build a link

How do I build UTM links that follow the rules?
Type it. The rules check it.

Fill in the page and the three main tags, and the builder checks each one against the six rules, says what is wrong and fixes it in one click. Save the links you use and their sources, mediums and campaigns become the list the checks use, with a CSV to share. It runs in your browser: nothing you type is sent anywhere, and the list stays in this browser.

UTM builder · runs in your browser
One separator, everywhere

3 things to fix. Press Fix all, or change the fields yourself. The link below uses your text as typed.

3 things to fix

Press Fix all, or change the fields yourself. The link below uses your text as typed.

  • Page addressOK

    A full address.

  • SourceFix

    Newsletter → newsletter. Has capitals.

  • MediumFix

    e-mail → email. One name for each channel.

  • CampaignFix

    Spring Sale 2026 → spring-sale-2026. Has capitals and spaces.

  • Content and termOptional

    Optional. Leave them empty unless two links in one place need telling apart, or you tag a paid keyword.

  • Personal dataOK

    No email address in any tag.

Your link, as typed

Your saved links (0)

No links saved yet. Save a good one and its source, medium and campaign become the list your next link is checked against. The list stays in this browser, so download the CSV to keep or share it.

What it checks

Lowercase, no spaces, one separator, a medium from the list, a source and a campaign spelled the way your saved links spell them, and no email address in any tag. A tip is worth a look but isn’t wrong, such as a medium that is not on your list.

What it builds

Your text as typed, encoded, in the order source, medium, campaign, term, content, before any # on the address. Tags already on the address are replaced. Press Fix all to apply the fixes, or edit the fields yourself.

What it keeps

Saved links live in this browser only. Clear your browsing data and they are gone, so download the CSV, which opens in any spreadsheet. A spreadsheet of links is also the easiest way to share the list with whoever else builds them.

Need to shorten the result as well? The Bitly guide has a plain builder that does only that, and Short Links can add the tags for you.

05 / When it goes wrong

Why does one campaign show up twice?
Eight causes, in the order we’d check.

Almost always because two links spell the same thing differently. Reports group by the exact text in each tag, so every variant gets its own row. Work down the list: the first three need no tool, only a rule.

Fixing the spelling doesn’t merge old rows: they keep the spelling they were recorded with. Note the date you started the rule, and read the rows before and after it together.

  1. 01

    Capitals

    You seeNewsletter and newsletter on separate rows

    FixWrite every value in lowercase from now on. Old rows keep their old spelling, so add them up by hand or read both.

    Google Analytics keeps values as typed, so utm_source=google and utm_source=Google are different values. Builderify’s User Journey does the same.

  2. 02

    Two names for one place

    You seefacebook, fb and facebook.com in one report

    FixChoose one spelling for each place, write it in your list and build every link from the list.

    Each spelling is its own value. Google asks for one utm_source for each platform, and Shopify names these three as an example.

  3. 03

    A separator that changes

    You seespring-sale, spring_sale and SpringSale side by side

    FixUse one separator in every tag. The builder’s separator switch rewrites the other one for you.

    Google’s example of two values that look alike is SpringSale and Spring_Sale.

  4. 04

    A medium Google doesn’t know

    You seeVisits under Unassigned in the default channel group

    FixTake the medium from the list in chapter 03. If a link has no good match, choose the closest one and write the choice in your list.

    Google Analytics files a visit under Unassigned when no channel rule matches its source and medium.

  5. 05

    Tags that are missing

    You see(not set) in a source, medium or campaign column

    FixPut source, medium and campaign on every tagged link. The builder marks the missing one.

    Google strongly recommends setting every relevant tag when you set one, and a tag you leave out is reported as (not set).

  6. 06

    A space, & or # inside a value

    You seeA campaign cut short, or a tag that never arrives

    FixUse letters, digits and one separator. The builder rewrites the rest, and puts the tags before the # on a page address.

    A parameter ends at the next &, and a # starts the fragment, which the browser never sends to the server. A space is sent as %20.

  7. 07

    Tag names in capitals

    You seeNo source in User Journey for a link that has tags

    FixWrite the names exactly as utm_source, utm_medium, utm_campaign, utm_term and utm_content. The builder always does.

    User Journey reads tag names in lowercase only, so UTM_Source=newsletter counts as no tag at all.

  8. 08

    Personal data in a tag

    You seeAn email address in a campaign column

    FixNever use a merge field in a tag. Name the group instead, such as welcome-series.

    Google’s policies don’t allow personal data in Google Analytics, and its guidance names all five utm parameters. A merge field in an email tool can drop a subscriber’s address straight into a link.

06 / With Builderify

How does Builderify read my UTM tags?
Exactly as you write them.

User Journey reads the five tags from the page a visit starts on, and keeps each value as you wrote it. User Journey records visits itself, through the Builderify script tag. It doesn’t read your Google Analytics data. So Newsletter and newsletter are two rows in its Campaigns table, and the six rules matter here as much as they do in Google Analytics.

To act on what the tags tell you, read how to track which campaign brings leads and where your website traffic comes from. A visitor who joins a lead list through a popup or form keeps the source of their first visit on their profile. For what else a site can and can’t know about one visitor, read can you see who visits your website.

Short Links

The link editor has a Tracking parameters section with a box for each of the five tags. They are added to every destination of the link, so the short address you share stays clean. Put the tags there or at the end of the Destination URL, not in both: Short Links does not check for a repeat.

User Journey

Each tag is trimmed and cut at 150 characters. A visit’s source is its utm_source as written (up to 100 characters), ahead of an ad click ID such as gclid and ahead of the referring site. Tag names are read in lowercase only, so UTM_Source counts as no tag.

Paid or not

Insights lists campaigns by source, medium and campaign, and flags one as paid when its visits carry an ad click ID or a medium of cpc, ppc, paid, paid-social, display, ads, cpm or retargeting. Google Analytics would also treat paid-search as paid and Builderify would not, so tag search ads cpc.

Start on the free plan: 250 credits a month and no monthly fee. User Journey is charged at 0.1 credit for each tracked journey, and the pricing page has the whole rate card. Add Short Links when you want the tags added for you.

Start free
Questions

UTM naming, answered.

A UTM naming convention is a short set of rules for how you write utm_source, utm_medium and utm_campaign, so every link for the same thing lands in the same report row. The usual rules are lowercase only, one separator and no spaces, one medium per channel, one name for each place and campaign, and no personal data. Google Analytics keeps values as typed, so without rules one campaign can split into several rows.

Yes. Google Analytics treats utm_source=google and utm_source=Google as different values, and Google's own advice is to use lowercase as the standard. Builderify's User Journey also stores a source exactly as typed, so Newsletter and newsletter are two rows. The tag names must be lowercase too: User Journey does not read UTM_Source.

Either works, as long as you use only one. Google's own examples use both, such as summer-sale and spring_sale, and it notes that SpringSale and Spring_Sale are different values. Pick one separator, avoid spaces, and let the builder on this page rewrite the other one for you.

One value for each channel, taken from a short list such as email, social, paid-social, cpc, display, affiliate, referral, sms and audio. Google Analytics files each visit under a channel by its medium and source, and a visit that matches no channel rule is shown as Unassigned. Write the list down so everyone who builds links uses the same words.

No. Google says to always use utm_source, utm_medium and utm_campaign, and the other two add detail only when you need it. Use utm_content to tell apart two links in the same place that go to the same page, such as a banner and a footer link in one email, and utm_term only to name the keyword on paid search ads.

The source is the place that carries the link, such as newsletter, facebook or a partner's name. The medium is the kind of place, such as email, social or cpc. If the same value could go with many different sources, it is a medium.

No. Tags belong on the links people click to reach your site. Builderify's User Journey takes a visit's tags from the page the visit starts on, so a tagged link between two of your own pages adds nothing to it. Track what people do on your own pages with a goal instead.

The Short Links editor has a box for each of the five tags and adds them to every destination of a link. The builder on this page is separate: it runs in your browser, checks your values against the six rules and keeps your saved links in this browser only. Nothing you type there is sent to Builderify.

Google’s help pages, Shopify’s article and MDN were read on 1 November 2026. The channel rules in chapter 03 are paraphrased from Google’s default channel group page, and Google can change them. The Builderify details come from the product itself on that date. Fernhill Plants, its links and the numbers in the report at the top are made up.

← All guides

Stop losing the visitors
you already paid for.

More leads from the traffic you already have, and follow-up that sends itself. Free to start. No card, no monthly fee.