UTM Builder
Create clean campaign tracking links for Google Analytics 4. Fill in the source, medium and campaign, tag several channels at once, catch naming mistakes that split your reports, and see which GA4 channel each link will land in.
- Lowercase and clean by default
- Links for 18 channels at once
- Predicts the GA4 channel
Sharing the link on social media? Check how it looks with the Social Media Preview Tool.
What each UTM parameter does
UTM parameters are small tags added to the end of a URL. Google Analytics reads them to report where a visit came from. Three are the core, and two add detail.
utm_source
Where the traffic comes from: a site, platform or list, such as newsletter, google or facebook. Required.
utm_medium
The type of channel: email, cpc, social, referral, display. It drives GA4's channel grouping. Required.
utm_campaign
The campaign or promotion, such as spring_sale_2026. Use it to compare campaigns across channels.
utm_term
Optional. The paid search keyword, or any identifier for the targeting.
utm_content
Optional. Tells apart links to the same page, for example header_button and footer_link, or two ad versions.
utm_id
Optional. A campaign ID that connects the link to campaign data imported into GA4.
How source and medium decide the GA4 channel
GA4 sorts every session into a default channel group using the source and medium. Pick a medium it recognises, or your traffic lands in Unassigned.
| Source / medium | Example | GA4 channel |
|---|---|---|
| newsletter / email | A monthly email | |
| facebook / social | An unpaid post | Organic Social |
| facebook / paid_social | A Facebook ad | Paid Social |
| google / cpc | A Google Ads click | Paid Search |
| youtube / video | A link in a video description | Organic Video |
| partner_name / affiliate | An affiliate link | Affiliates |
| partner_site / referral | A link on a partner's website | Referral |
| qr_code / offline | A QR code in print | Unassigned (use a custom channel group if you want it separate) |
This tool shows an approximation of Google's default channel group. Google keeps long internal lists of search, social and video sources, so unusual sources can differ.
How to build and use a UTM link
A consistent process matters more than any single link.
Enter the page
Paste the address people should land on. Existing parameters and #fragments are kept.
Set source, medium and campaign
Use a quick fill for the channel, then name the campaign. Keep names lowercase and consistent.
Check and copy
Read the checks, confirm the GA4 channel, then copy the link or save it to your recent links.
Use it and review
Put the link in the email, post or ad, then look at Reports, Acquisition in GA4 to see the traffic under your names.
UTM naming rules that keep reports clean
Analytics treats every different spelling as a different value. These habits prevent that.
Always lowercase
GA4 is case-sensitive. Facebook, facebook and FACEBOOK are three separate rows.
Use underscores or hyphens
Spaces become %20 and are easy to mistype. Pick one separator and use it everywhere.
Keep a naming guide
Write down the allowed sources and mediums so everyone on the team uses the same ones.
Put the period in the campaign
spring_sale_2026 stays unique next year and sorts in order.
Never tag internal links
UTM parameters on links inside your own site start a new session and overwrite the original source.
Don't put private data in links
UTM values show up in analytics, URLs and browser history. Never include names, emails or order numbers.
What UTM parameters are and how GA4 turns them into channels
UTM parameters are short tags added to the end of a web address, such as ?utm_source=newsletter&utm_medium=email&utm_campaign=spring_sale. When someone clicks the link, Google Analytics 4 reads the tags and records where the visit came from. Without them, a visit from an email, a social post or a QR code can be mixed into direct traffic, and you cannot tell which effort worked.
Google's help page on custom campaign URLs says to always use utm_source, utm_medium and utm_campaign, and that missing parameters produce (not set) values in reports. It also warns that values are case sensitive, so utm_source=google and utm_source=Google are different, and recommends lowercase as a standard practice. Optional parameters such as utm_term, utm_content and utm_id add detail.
The medium matters most. GA4 sorts each session into a default channel group using rules on source and medium. A medium of email lands in Email, and affiliate lands in Affiliates. A medium it does not recognise, such as newsletter, can fall into Unassigned. This builder helps you pick the right words, keeps them lowercase, and predicts the channel before you publish.
When to build a UTM link
Tag any link you control that is placed somewhere GA4 could not otherwise identify.
Email and newsletters
Tag each link in a campaign email so GA4 can show which message and which button brought visits, instead of counting them as direct or unknown traffic.
Social posts and bios
Tag links in posts, profile bios and messaging apps. A consistent social medium sends the visits to the right channel and lets you compare posts by campaign.
Paid campaigns
Tag ads and sponsored posts on platforms that do not tag for you. Use a paid medium such as cpc (with a search engine as source) or paid_social (with a social platform as source) so they are not counted as free traffic.
Print, QR codes and offline
Give each flyer, poster or QR code its own campaign and content values so scans can be told apart. Create a custom channel group if you want them reported together.
Partners and affiliates
Give every partner a distinct source and the affiliate or referral medium, so you can see what each one sends and report on them as a group.
Testing creative and placements
Use utm_content to tell two buttons, banners or ad versions apart when they point to the same page, then compare them in your reports.
UTM mistakes and how to fix them
Nearly every UTM problem is a naming problem, and GA4 will not fix it for you.
Mixed upper and lower case
What goes wrong: Google's help page states that parameter values are case sensitive. Facebook, facebook and FACEBOOK appear as three rows, so totals are split and harder to read.
The fix: Write every value in lowercase, as Google recommends, and let the builder lowercase it for you. Fix existing links by using one spelling from now on.
Using a medium GA4 does not recognise
What goes wrong: Mediums such as newsletter or banner_ad do not match the default channel rules, so the visits may end up in Unassigned instead of Email or Display.
The fix: Use mediums the default group recognises, such as email, social, cpc, paid_social, display, referral or affiliate. Put the finer detail into source or campaign.
Leaving out the campaign
What goes wrong: Google says missing UTM parameters result in (not set) values in reporting. A link with only source and medium shows a campaign of (not set), and campaigns cannot be compared.
The fix: Always include utm_source, utm_medium and utm_campaign, and add the period in the campaign name, such as spring_sale_2026.
Tagging links inside your own site
What goes wrong: A UTM link clicked on your own pages describes a source that is not the real one. It can misattribute the visit and hide the channel that brought the visitor.
The fix: Use UTMs only on links that come from outside, such as emails, ads and posts. Measure internal banners and buttons with events instead.
Putting private data in the link
What goes wrong: UTM values appear in the address bar, in browser history, in analytics and in any place the link is shared. Names, emails or order numbers can leak or break privacy rules.
The fix: Use only neutral labels, such as the channel, campaign and placement. Never include personal data in any parameter.
Letting tagged URLs get indexed
What goes wrong: A tagged URL is another address for the same page. If it is linked from your sitemap or from other pages of your site, it can be crawled as a duplicate.
The fix: Keep a canonical tag on the clean URL, as Google recommends for duplicates, and never put tagged URLs in your sitemap or internal links.
UTM and GA4 terms explained
- UTM parameter
- A query-string tag that carries campaign details in a link. GA4 reads utm_source, utm_medium and utm_campaign, and also utm_term, utm_content and utm_id, when a visit starts.
- utm_source
- Where the visit comes from, such as google, a newsletter or a partner site. Google's help page lists it as required and gives examples like google and newsletter4.
- utm_medium
- The kind of channel, such as email, cpc or social. It is required, and it is the main input GA4 uses to put a visit into a default channel.
- utm_campaign
- The name of the product, promotion or slogan the link belongs to, such as spring_sale. It lets you compare one campaign across several channels.
- utm_id
- An optional campaign ID. Google says it identifies a specific campaign or promotion and should match the IDs used when you upload campaign data into Analytics.
- Default channel group
- GA4's built-in set of rules that sorts sessions into channels, such as Email, Paid Search or Organic Social, based on source and medium. It is predefined and Google maintains it.
- Unassigned
- The channel GA4 uses when no default channel rule matches a session's data. A medium it does not recognise is a common cause.
- Custom channel group
- A set of channels you define yourself, with your own rules. Use one to report on traffic, such as QR codes, that the default group does not separate.
Related tools, guides and services
Tracking, sharing and clean URLs work best when they are set up together.
Social Media Preview Tool
Check how a tagged link looks when shared, with its title, description and image.
ToolOpen Graph Generator
Create the tags that control the title and image shown when your campaign link is shared.
ToolCanonical URL Checker
Confirm that tagged versions of a page point to one clean canonical address.
ToolRedirect Checker
Check that a campaign link survives its redirects and still lands on the right page.
ServiceAnalytics and measurement service
Get GA4, Tag Manager, conversion tracking and a consistent naming system set up properly.
ServiceEmail marketing service
Plan emails, flows and reporting so each campaign link is tracked the same way.
Built by
Madhav Kushwaha
SEO, AEO, GEO & Digital Marketing Consultant in Kathmandu, Nepal, and trainer at ODcrU Academy and TechAxis Institute. I built this builder because the biggest problem with UTM tracking is never the syntax. It's inconsistency: Facebook, facebook and fb as three sources, a medium that GA4 puts in Unassigned, or spaces that turn into %20. The checks here stop those mistakes at the moment you create the link.
UTM Builder: Frequently Asked Questions
More free SEO tools
Tracking and sharing go together. These tools help you tag links, check how they look and keep campaign URLs working.