GuideGrowth

UTM parameters: a naming convention for launches and directories

UTM parameters are five tags that tell GA4 where a visit came from. A copyable naming scheme, a fixed medium list and examples for launches and paid slots.

LaunchScalerPublished 8 min read

UTM parameters are five tags you add to a link, utm_source, utm_medium, utm_campaign, utm_term and utm_content, so Google Analytics can record which site, channel and campaign sent each visit. They only help if every link follows one naming convention: lowercase values, hyphens instead of spaces, and a short fixed list of mediums.

Without a convention, the same newsletter shows up as Newsletter, newsletter and news-letter, and GA4 treats them as three sources. Below is a scheme you can copy for launches, directory listings, newsletters and paid placements, with the medium values that land in the right GA4 channel.

What are the five UTM parameters?

The five are utm_source for who sent the visit, utm_medium for the kind of channel, utm_campaign for the campaign, utm_term for a paid keyword and utm_content for which link or creative was clicked. Google says to always set source, medium and campaign; the other two are optional.

ParameterWhat it recordsGoogle's exampleYour use
utm_sourceThe referrergoogle, newsletter4, billboardThe site or newsletter: producthunt, uneed-weekly, launchscaler
utm_mediumThe marketing mediumcpc, banner, emailOne value from your fixed list
utm_campaignThe product, slogan or promospring_saleWhat and when: launch-2026-10
utm_termThe paid keyword(none given)Only for paid search ads
utm_contentWhich creative or linktwo call-to-action links in one emailhero-cta, footer-link

GA4 also reads utm_id (a campaign ID) and utm_source_platform (the buying platform). Two more, utm_creative_format and utm_marketing_tactic, exist but Google says they aren't currently reported. If you set any UTM parameter, Google recommends setting all the relevant ones, because missing values show up as (not set).

What naming convention should you use?

Use lowercase everywhere, hyphens between words, one fixed spelling per source, a medium from a closed list, and a campaign name that says what and when. Google's own best practice is "a strict, case-sensitive naming convention" with "lowercase as a standard practice," because values that differ only in case or punctuation are counted separately.

The rules to copy:

  1. Lowercase every value. Google's example: utm_source=google is different from utm_source=Google.
  2. Use hyphens, never spaces. Special characters must be URL-encoded, and a space becomes + or %20, which is easy to get wrong.
  3. One source name per platform, written once in a shared sheet: producthunt, never product-hunt next week.
  4. utm_medium comes from the fixed list in the next section and nothing else.
  5. utm_campaign is {what}-{yyyy-mm}, or {what}-{yyyy-mm-dd} for a single send: launch-2026-10, sponsor-2026-10-05.
  6. utm_content names the link's position when one message has several links: hero-cta, footer-link.
  7. Record every tagged link in the sheet: date, destination, full URL, and what it cost.

Google also says to use "only one unique utm_source for each distinct platform" and "only one unique utm_medium for each distinct channel." The sheet is what keeps that true over months.

Which utm_medium values should you use?

Use a short fixed list that matches GA4's default channel rules: referral for free listings and links, email for newsletters, paid-placement for anything you paid a site for, and social for your own social posts. GA4 sorts manually tagged visits into channels mostly by the medium, so an unlisted value lands in Unassigned.

Each value maps to a GA4 default channel by the rules Google publishes:

utm_mediumGA4 default channelWhyUse it for
referralReferralReferral matches a medium of "referral", "app" or "link"Free launch listings, directory listings, links in articles
emailEmailEmail matches a source or medium of email, e-mail, e_mail or "e mail"Newsletters, including sponsored issues
paid-placementPaid OtherPaid Other matches a medium starting with "paid"Featured slots, paid directory placements, sponsored posts
socialOrganic SocialOrganic Social matches a medium of "social" and a few variantsYour own posts on social networks
newsletterUnassignedNo default rule matches itDon't use it; use email

One caution on paid-placement: if the source is on Google's lists of search, social, video or shopping sites, GA4 files it under that paid channel instead, which is still a paid channel. For directories and newsletters, Paid Other is where it lands.

If you want a "Newsletters" or "Launch platforms" line in your reports, don't invent a medium. Keep the fixed list and build a custom channel group in GA4 Admin, which Google says can be applied to your reports retroactively.

Each link carries the destination, then ?, then the parameters joined with &. Here are three real-world patterns built with the scheme above; swap in your domain and dates.

A launch-platform listing, free, launched in October 2026:

https://yourproduct.com/?utm_source=producthunt&utm_medium=referral&utm_campaign=launch-2026-10

A sponsored newsletter issue, with the main button tagged separately from a text link:

https://yourproduct.com/?utm_source=uneed-weekly&utm_medium=email&utm_campaign=sponsor-2026-10-05&utm_content=main-cta
https://yourproduct.com/?utm_source=uneed-weekly&utm_medium=email&utm_campaign=sponsor-2026-10-05&utm_content=text-link

A paid featured week on a directory:

https://yourproduct.com/?utm_source=launchscaler&utm_medium=paid-placement&utm_campaign=featured-category-2026-10

After the link goes live, click it from the actual listing or email and check the address bar. Google notes that redirects "can strip UTM parameters from the URL," and so can URL shorteners, which sends the visit to (direct) / (none). If the tags don't survive, point the platform at a URL that doesn't redirect.

Build them from one sheet, never by hand in the moment. For a single link, Google's Campaign URL Builder fills in the parameters for you. For many links, a spreadsheet formula joins the columns, lowercases every value and swaps spaces for hyphens, so the same source can't be spelled two ways.

Set up the sheet with the destination URL in column A, then source, medium, campaign and content in B to E. In F, join them:

=A2&"?utm_source="&LOWER(B2)&"&utm_medium="&LOWER(C2)&"&utm_campaign="&LOWER(SUBSTITUTE(D2," ","-"))&"&utm_content="&LOWER(SUBSTITUTE(E2," ","-"))

Then add a data-validation dropdown to the medium column that allows only referral, email, paid-placement and social. If a destination URL already contains a ?, join the first parameter with & instead. Keep a column for the date you shared the link and one for what the placement cost, because those two turn the sheet into the input for judging every campaign later.

Do UTM parameters hurt SEO?

Not if your landing pages declare a canonical URL. A tagged link on a directory points at a URL with parameters, which Google can treat as a separate URL for the same page. A rel="canonical" tag naming the clean URL tells Google which version to show and where to count the links.

Google lists this as a reason to set a canonical: it helps search engines "consolidate the signals they have for the individual URLs (such as links to them) into a single, preferred URL," and its own example is a product page reached through a URL ending in ?gclid=ABCD. Put this in the <head> of every page you send tagged traffic to:

<link rel="canonical" href="https://yourproduct.com/">

Google also says not to use robots.txt to handle duplicates, because it "may still index URLs that are disallowed in robots.txt without their content." A canonical tag is the fix; blocking parameter URLs is not.

Tagging links between your own pages rewrites where your visitors came from. GA4 doesn't start a new session when it meets a new campaign mid-session, but it keeps the value, and Google's own example shows a mid-session tag becoming the source of the user's next direct visit and the purchase made in it.

Google's example follows a shopper who arrives from a paid search ad, clicks an internal link tagged as a promotion, then returns later through a bookmark and buys. The later session is attributed to the promotion's UTM values, not to direct and not to the ad, because "sessions initiated by direct entrance are attributed to the UTM values for that user." Tag internal banners and your paid search looks weaker and your own homepage looks like a marketing channel.

Tag only links that other sites, emails and ads send to you. To measure clicks on your own banners, send an event instead.

How do you read UTM data in GA4?

Open Reports, then Acquisition, then Traffic acquisition, and change the table's dimension to Session source / medium or Session campaign. Each tagged link appears as its own row, with sessions, engagement and key events. Search the table for your source, such as uneed-weekly, to see one channel.

To judge a campaign, pair this report with a signup key event, set up in GA4 key events: track signups by source. Untagged referrals and visits that arrive as direct are covered in referral traffic in GA4. And for deciding whether a paid slot earned its price, see is a featured placement worth it.

What are the most common UTM mistakes?

Most broken UTM data comes from a handful of habits, and each leaves a recognisable trace in GA4. Check your Traffic acquisition report for these before trusting any campaign comparison.

MistakeWhat you see in GA4Fix
Mixed case, such as Newsletter and newsletterThe same source split across two rowsLowercase every value in the sheet formula
A medium outside the fixed listVisits in the Unassigned channelMap it to referral, email, paid-placement or social
Only utm_source set(not set) for medium or campaignAlways set source, medium and campaign together
A redirect or shortener in front of the linkThe visits show as (direct) / (none)Link straight to the final URL
Tags on internal linksLater direct sessions credited to your own promotionRemove them; use events for internal clicks

Tag a LaunchScaler placement to judge it

A paid run in front of another site's readers is exactly what this scheme is for. LaunchScaler's placements run for 30 days and are labelled as paid: a Spotlight card for $19 or a homepage carousel slide for $79, with views and clicks counted while it runs. Give the placement a link tagged utm_source=launchscaler&utm_medium=paid-placement&utm_campaign=featured-{slot}-{yyyy-mm}, then compare LaunchScaler's click count with your GA4 sessions and divide the price by the signups the tag recorded. Get featured.

Questions, answered

What people ask about this

01

What are UTM parameters?

  • UTM parameters are tags added to a link's URL, such as ?utm_source=newsletter&utm_medium=email&utm_campaign=launch, that tell Google Analytics which source, medium and campaign sent a visit. GA4 shows them in the Traffic acquisition report.
02

What are the five UTM parameters?

  • utm_source (the site or newsletter), utm_medium (the type of channel), utm_campaign (the campaign), utm_term (a paid keyword) and utm_content (which link or creative). GA4 also reads utm_id and utm_source_platform.
03

Are UTM parameters case sensitive?

  • Yes. Google says utm_source=google is different from utm_source=Google, so the same source typed two ways splits into two rows. Use lowercase for every value.
04

What utm_medium should I use for a newsletter?

  • Use email. GA4's default channel group files a visit under Email only when the source or medium is email, e-mail, e_mail or 'e mail', so a medium of 'newsletter' lands in Unassigned. Put the newsletter's name in utm_source instead.
05

Should I use UTM parameters on internal links?

  • No. Google's own example shows a UTM tag clicked mid-session taking over the source of the user's later direct visit and the purchase in it. Tag only links that other sites, emails and ads send to you.

Sources

  1. Google Analytics Help: URL builders, collect campaign data with custom URLssupport.google.com
  2. Google Analytics Help: Default channel groupsupport.google.com
  3. Google Analytics Help: Campaigns and traffic sourcessupport.google.com
  4. Google Analytics Help: Scopes of traffic-source dimensionssupport.google.com
  5. Google Analytics Help: How traffic source dimensions are updatedsupport.google.com
  6. Google Search Central: How to specify a canonical URLdevelopers.google.com
  7. Google Analytics Help: Understand (direct) / (none) trafficsupport.google.com

Newsletter

What launched, every Monday

Every Monday: what launched on LaunchScaler that week, what is launching next, and the reviews we published. Confirm your email once and you're in.

More from the blog

Guide

Backlink checkers: free and paid tools compared for a new site

LaunchScaler's full audit, Search Console, Ahrefs, Semrush, Moz and Bing compared on what their free backlink checkers show, index size and freshness.

LaunchScalerSep 28, 2026 · 7 min read
Guide

How to get backlinks for a new website: the safe ones that count

Safe backlinks for a new site: moderated launch listings, links earned by useful assets, unlinked mentions and real pitches. Plus what counts as link spam.

LaunchScalerSep 28, 2026 · 9 min read
Guide

Domain Rating: what DR measures and what a high-DR link is worth

Domain Rating is Ahrefs' 0 to 100 logarithmic score of a site's backlink profile. Google doesn't use it, and a link's worth depends on the page it sits on.

LaunchScalerSep 28, 2026 · 7 min read