You run a Google Ads campaign, blast a newsletter, and post on LinkedIn — then check Google Analytics and see a spike in "Direct" traffic. Which one drove it? You have no idea. That is the problem UTM parameters solve.
What are UTM parameters?
UTM parameters (Urchin Tracking Module, named after the software Google Analytics was built on) are short tags appended to a URL. When a user clicks the link, Google Analytics reads the tags and files the visit under your campaign data instead of guessing.
A tagged URL looks like this:
https://example.com/landing-page
?utm_source=google
&utm_medium=cpc
&utm_campaign=summer_sale
&utm_content=banner_topEverything after ? is invisible to your visitors (the page loads normally) but captured by Analytics the moment the link is clicked.
The 5 UTM parameters explained
Three are required; two are optional but useful for paid and A/B campaigns.
| Parameter | Required | What it tracks | Example |
|---|---|---|---|
utm_source | Yes | The publisher or origin | google, newsletter, facebook |
utm_medium | Yes | The marketing channel | cpc, email, social, organic |
utm_campaign | Yes | The campaign name | summer_sale, q1_launch |
utm_term | No | Paid search keyword | running_shoes, blue_trainers |
utm_content | No | Ad variant or link ID | banner_top, cta_button |
utm_source vs utm_medium — the most confused pair
These two catch most people out. Think of it this way:
- utm_source = WHO sent the traffic. The publisher, platform, or sender. Examples:
google,facebook,mailchimp,newsletter. - utm_medium = HOW they sent it. The channel type. Examples:
cpc(paid search),email,social,organic,affiliate.
A Google Ads click is source=google, medium=cpc. Your weekly newsletter is source=newsletter, medium=email. An organic Instagram post is source=instagram, medium=social.
UTM naming conventions
Google Analytics 4 is case-sensitive. Facebook and facebook appear as two separate traffic sources in your reports. One mis-capitalised campaign splits your data in half.
- Always lowercase.
google, notGoogleorGOOGLE. - Underscores for spaces.
summer_sale, notsummer saleorsummer-sale. The UTM Builder auto-formats every field on blur. - Be consistent across the team. Decide once:
facebookorfb,emailornewsletter. Save your conventions as named presets so the whole team uses the same values. - Never tag internal links. UTM tags on links between your own pages overwrite the original traffic source. Only tag links from external sources.
Using channel presets (and saving your own)
The UTM Builder ships with 10 built-in channel presets — Google Ads, Google SEO, Facebook, Instagram, LinkedIn, Twitter/X, TikTok, Newsletter, Affiliate, and YouTube. Click a preset and the utm_source and utm_medium fields fill instantly.
For a worked example: click Google Ads, then type summer_sale in Campaign Name. Your UTM URL appears immediately:
https://example.com/?utm_source=google&utm_medium=cpc&utm_campaign=summer_saleOnce you have filled in source, medium, and campaign, click Save presetto store that combination under a name (e.g. "Black Friday Google"). Anyone on your team who opens the builder can load it with one click — enforcing consistent naming without a style guide document.
Sharing a pre-filled UTM URL with your team
Every time you fill in the builder, the page URL updates automatically to encode your current fields as query parameters. That means the page is always shareable. Click Share link in the output section and the URL is copied to your clipboard — send it to a teammate and they open the builder with all your fields pre-loaded, ready to copy or modify.
This is useful for handing off a campaign brief: instead of a Notion doc listing the UTM conventions, send a share link. The recipient sees the exact values in context and can generate their own variant links from there.
Bulk CSV for agencies and large campaigns
Switch to the Bulk CSV Generator tab when you have dozens or hundreds of UTM URLs to create. Download the CSV template, fill in your rows (one URL per line), upload the file, and download all generated UTM URLs in one click.
The tool validates every row and flags missing required fields. Valid and invalid rows are shown in a preview table before you download. Ideal for affiliate programs, seasonal campaigns across many channels, and agencies managing multiple clients.
How to view UTM data in Google Analytics 4
Once your tagged links are live and receiving clicks:
- Open GA4 and go to Reports → Acquisition → Traffic Acquisition.
- Set the primary dimension to Session source/medium to see your UTM combinations.
- Switch the dimension to Session campaign to compare campaigns directly.
- Use the secondary dimension or filter by campaign to drill into individual ad variants (
utm_content).
In Universal Analytics (if you still have it): Acquisition → Campaigns → All Campaigns.
Frequently asked questions
What are the 5 UTM parameters?
utm_source (traffic origin), utm_medium (channel type), utm_campaign (campaign name), utm_term (paid keyword), and utm_content (ad variant). The first three are required; the last two are optional.
Should UTM values be lowercase?
Yes — GA4 is case-sensitive. "Facebook" and "facebook" create two separate rows in your reports. Always use lowercase and underscores for spaces. The UTM Builder auto-formats on blur.
Do UTM parameters affect SEO?
No. Google ignores UTM parameters for indexing. Make sure your pages have a canonical tag pointing to the clean URL (without UTM params) to prevent any duplicate-content signal.
Can I use UTM parameters with GA4?
Yes — UTM parameters work identically in GA4 and Universal Analytics. In GA4 find them under Reports → Acquisition → Traffic Acquisition.
Is this UTM builder free?
Completely free. No signup, no limits, no premium tier. Bulk CSV, QR codes, save presets, and shareable links are all free. Nothing leaves your browser.
Related: QR Code Generator · Meta Tag Generator · URL Encoder