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.

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.
| Parameter | What it records | Google's example | Your use |
|---|---|---|---|
utm_source | The referrer | google, newsletter4, billboard | The site or newsletter: producthunt, uneed-weekly, launchscaler |
utm_medium | The marketing medium | cpc, banner, email | One value from your fixed list |
utm_campaign | The product, slogan or promo | spring_sale | What and when: launch-2026-10 |
utm_term | The paid keyword | (none given) | Only for paid search ads |
utm_content | Which creative or link | two call-to-action links in one email | hero-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:
- Lowercase every value. Google's example:
utm_source=googleis different fromutm_source=Google. - Use hyphens, never spaces. Special characters must be URL-encoded, and a space becomes
+or%20, which is easy to get wrong. - One source name per platform, written once in a shared sheet:
producthunt, neverproduct-huntnext week. utm_mediumcomes from the fixed list in the next section and nothing else.utm_campaignis{what}-{yyyy-mm}, or{what}-{yyyy-mm-dd}for a single send:launch-2026-10,sponsor-2026-10-05.utm_contentnames the link's position when one message has several links:hero-cta,footer-link.- 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_medium | GA4 default channel | Why | Use it for |
|---|---|---|---|
referral | Referral | Referral matches a medium of "referral", "app" or "link" | Free launch listings, directory listings, links in articles |
email | Email matches a source or medium of email, e-mail, e_mail or "e mail" | Newsletters, including sponsored issues | |
paid-placement | Paid Other | Paid Other matches a medium starting with "paid" | Featured slots, paid directory placements, sponsored posts |
social | Organic Social | Organic Social matches a medium of "social" and a few variants | Your own posts on social networks |
newsletter | Unassigned | No default rule matches it | Don'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.
What do UTM links look like for a launch, a newsletter and a featured slot?
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.
How do you build UTM links without typos?
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.
Why should you never tag internal links?
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.
| Mistake | What you see in GA4 | Fix |
|---|---|---|
Mixed case, such as Newsletter and newsletter | The same source split across two rows | Lowercase every value in the sheet formula |
| A medium outside the fixed list | Visits in the Unassigned channel | Map it to referral, email, paid-placement or social |
Only utm_source set | (not set) for medium or campaign | Always set source, medium and campaign together |
| A redirect or shortener in front of the link | The visits show as (direct) / (none) | Link straight to the final URL |
| Tags on internal links | Later direct sessions credited to your own promotion | Remove 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
01What 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.
02What 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.
03Are 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.
04What 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.
05Should 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
- Google Analytics Help: URL builders, collect campaign data with custom URLssupport.google.com
- Google Analytics Help: Default channel groupsupport.google.com
- Google Analytics Help: Campaigns and traffic sourcessupport.google.com
- Google Analytics Help: Scopes of traffic-source dimensionssupport.google.com
- Google Analytics Help: How traffic source dimensions are updatedsupport.google.com
- Google Search Central: How to specify a canonical URLdevelopers.google.com
- Google Analytics Help: Understand (direct) / (none) trafficsupport.google.com


