UTM Builder for GA4: Tag Campaign Links That Report Correctly
A UTM builder for GA4 adds tracking parameters to your links so Google Analytics 4 can tell you exactly which campaign, platform and ad brought each visitor. Our free UTM link builder creates clean, correctly encoded campaign URLs, keeps any parameters and #anchors already in your link, can force lowercase so “Facebook” and “facebook” don’t split your data, and warns you when a source or medium will land in GA4’s “Unassigned” channel instead of the one you expect.
This guide explains what each UTM parameter does, how GA4 uses them to group traffic into channels, the naming conventions that keep reports clean and the mistakes that quietly ruin attribution.
Key takeaways
- utm_source, utm_medium and utm_campaign are the three you should always set.
- Use GA4’s recognised medium values (cpc, email, paid_social, display, affiliate, referral) so traffic lands in the right channel.
- Keep everything lowercase and consistent: GA4 treats “Email” and “email” as different values.
- Never use UTM parameters on links between pages of your own website.
What are UTM parameters?
UTM parameters are tags added to the end of a URL that tell analytics tools where a visit came from. The name comes from Urchin Tracking Module, the analytics product Google acquired and turned into Google Analytics. A tagged link looks like this:
https://example.com/offer/?utm_source=facebook&utm_medium=paid_social&utm_campaign=2026-11_black-fridayWhen someone clicks it, GA4 reads the parameters and attributes the session and any conversions to that source, medium and campaign. Google documents the supported parameters in its help article on collecting campaign data with custom URLs.
Why you need UTM tags
Without tags, GA4 often can’t tell where visits came from. Clicks from email apps, PDFs, messaging apps, QR codes and many social apps may arrive with no referrer and show up as Direct. UTM tags make every campaign measurable, so you can compare channels and spend your budget where it works.
Where to use them
- Email newsletters and automated email sequences.
- Organic social posts and bio links.
- Paid social ads (Meta, TikTok, LinkedIn, Pinterest, Snapchat) where auto-tagging isn’t available.
- Display, affiliate and sponsorship links.
- QR codes on print, packaging and signage.
- Links in PDFs, presentations and partner websites.
The UTM parameters explained
| Parameter | Answers | Examples | Required? |
|---|---|---|---|
utm_source | Where did the click come from? | google, facebook, newsletter, linkedin | Yes |
utm_medium | What type of channel? | cpc, email, paid_social, organic_social, display | Yes |
utm_campaign | Which campaign or promotion? | 2026-11_black-friday, spring_webinar | Yes |
utm_id | Campaign ID | An ID matching your ad platform or cost data | Recommended for paid |
utm_term | Which keyword or audience? | seo-agency, lookalike-1pct | Optional |
utm_content | Which ad, creative or link? | video-a, header-button, carousel-2 | Optional |
utm_source vs utm_medium
This is the most common confusion. Source is the specific place (facebook, google, mailchimp); medium is the category of channel (paid_social, cpc, email). Swapping them is one of the main reasons traffic ends up in the wrong channel, and our builder detects it and offers to swap them back.
Using utm_content for A/B tests
When an email has several links to the same page, or an ad set runs several creatives, give each a different utm_content value. You’ll see which button or creative drove the clicks and conversions.
Example
A newsletter with a header button and a footer link: utm_content=header-button and utm_content=footer-link, with the same source, medium and campaign.
Reading the result in GA4
Add “Session manual ad content” as a secondary dimension in the Traffic acquisition report to compare the two links.
Additional GA4 parameters
GA4 also supports utm_source_platform, utm_creative_format and utm_marketing_tactic. They’re useful for advanced reporting and cost imports, but most businesses get everything they need from the six parameters above.
How GA4 turns UTM tags into channels
GA4 groups traffic into default channels such as Paid Search, Paid Social, Organic Social, Email, Display, Affiliates and Referral using rules based on source and medium. If your values don’t match those rules, the traffic is labelled “Unassigned”, which makes reports far less useful. Google publishes the exact rules in its article on default channel groups.
Medium values that GA4 recognises
- Email:
email - Paid search:
cpcwith a search engine source such as google or bing - Paid social:
paid_social(or other paid mediums) with a social source such as facebook or linkedin - Organic social:
organic_socialorsocialwith a social source - Display:
display,bannerorcpm - Affiliates:
affiliate - Referral:
referral - SMS:
sms
Why custom mediums cause problems
A medium like facebook-ad, newsletter-blast or influencer may not match any rule. The builder flags custom mediums and suggests the standard equivalent, such as changing ppc to cpc or e-mail to email.
How to use our UTM builder for GA4
- Paste your landing page URL. Existing parameters and #anchors are kept.
- Fill in source, medium and campaign, or pick a common source and medium preset.
- Add campaign ID, term and content if you need them.
- Keep “lowercase” switched on to convert capitals and replace spaces with underscores.
- Read the checks: missing required fields, capitals, spaces and unrecognised mediums.
- Apply any one-click fixes, such as swapping source and medium or switching to https.
- Copy the link or open it to test that the page loads correctly.
UTM naming conventions that keep reports clean
Lowercase everything
GA4 is case-sensitive. Facebook, facebook and FACEBOOK appear as three separate sources. Lowercase removes the problem.
Use underscores or hyphens, never spaces
Spaces become %20 or + in URLs and are easy to mistype. Pick one separator and use it everywhere.
Use plain source names
Write facebook, not facebook.com or fb. Short forms and domains create duplicates and make reports harder to read.
Give campaigns descriptive, sortable names
A consistent pattern such as yyyy-mm_offer_audience (for example 2026-11_black-friday_returning) sorts chronologically and tells anyone reading the report what the campaign was.
Document your conventions
Keep a shared spreadsheet of approved sources, mediums and campaign names. Everyone who creates links, including agencies and freelancers, should use the same list.
Common UTM mistakes
Tagging internal links
Adding UTMs to links between your own pages, such as a banner on your home page linking to a promotion, starts a new session in GA4 and overwrites the visitor’s original source. Use events or content groupings to track internal promotions instead.
Inconsistent values for the same channel
email, Email, e-mail and newsletter as mediums scatter one channel across four rows. Standardise.
Linking to the http:// version
If your site redirects HTTP to HTTPS, some server configurations drop parameters during the redirect. Always tag the final HTTPS URL, and check it with our 301 redirect checker if you’re unsure.
Putting personal data in UTMs
Never put email addresses, names or other personal information in URL parameters. It’s against Google Analytics policies and a privacy risk.
Using UTMs on organic search results
Don’t add UTM parameters to URLs in your sitemap, canonical tags or internal links. Search engines may index the tagged versions, creating duplicates. Your canonical tag should always point to the clean URL; our meta tag generator online can remove tracking parameters from canonicals automatically.
UTM examples for common campaigns
Use these patterns as a starting point and adapt the campaign names to your own convention.
Email newsletter
?utm_source=newsletter&utm_medium=email&utm_campaign=2026-11_monthly-update&utm_content=main-ctaIf you use several email tools, you can use the tool name as the source (mailchimp, klaviyo) instead, as long as you’re consistent.
Facebook and Instagram ads
?utm_source=facebook&utm_medium=paid_social&utm_campaign=2026-11_black-friday&utm_content=video-aMeta Ads Manager can add these automatically with URL parameters and dynamic values such as the ad name, which saves manual work across many ads.
LinkedIn organic posts
?utm_source=linkedin&utm_medium=organic_social&utm_campaign=2026-11_case-studyGoogle Business Profile website link
?utm_source=google&utm_medium=organic&utm_campaign=gbp-listingClicks from your Business Profile otherwise blend into normal Google organic traffic. This tag keeps them in the Organic Search channel while letting you see how many came from the listing.
Partner or sponsor websites
?utm_source=partner-site-name&utm_medium=referral&utm_campaign=2026_sponsorshipInfluencer and creator campaigns
Give each creator a unique utm_content or campaign value so you can compare their results, and use a paid medium (for example paid_social) when the content is sponsored.
QR codes and offline campaigns
QR codes on flyers, packaging, posters and business cards are one of the best uses of UTM tags, because without them those visits show up as Direct traffic and you can’t tell whether the print campaign worked.
How to set them up
- Build the tagged URL with our UTM builder for GA4, using a medium such as
printorqrand a source that names the item (for exampleflyerorpackaging). - Test the link on your phone and in GA4 Realtime.
- Generate the QR code from the full tagged URL, or from a short link that redirects to it.
- Use a different utm_content value for each placement or design so you can compare them.
Note that GA4 doesn’t include mediums like print or qr in its default channel rules, so they appear as Unassigned in the default report. That’s acceptable if you analyse them by session medium or campaign, or create a custom channel group for offline campaigns.
Finding UTM data in GA4
Traffic acquisition report
Go to Reports → Acquisition → Traffic acquisition. Change the primary dimension to “Session source / medium” or “Session campaign” to see your tagged traffic.
Explorations
For deeper analysis, build a free-form exploration with session source, medium, campaign and manual ad content as dimensions and conversions or revenue as metrics.
Checking a link in real time
Open your tagged link, then look at Reports → Realtime, which shows traffic by source and medium within seconds. It’s the quickest way to confirm a link is tagged correctly before a big send.
Custom channel groups
If your business relies on channels GA4 doesn’t recognise by default, such as print, podcasts or events, create a custom channel group under Admin → Data display → Channel groups. Add rules that match your own mediums (for example, medium exactly matches print or podcast), place them above the default rules and give them clear names. Custom channel groups apply to past data as well, so you can fix historical reports without retagging old links. Keep your naming conventions strict, because every rule depends on values matching exactly.
Give new campaigns a day or two to collect data before judging them, and compare like with like: the same date range, the same audience and the same conversion events.
UTM checklist
- Source, medium and campaign set on every external campaign link.
- Medium uses a GA4-recognised value.
- All values lowercase, with no spaces.
- Plain source names (facebook, not facebook.com).
- Consistent, documented campaign naming.
- utm_content used to tell apart links and creatives.
- HTTPS landing page URL.
- No UTMs on internal links, sitemaps or canonical tags.
- Links tested in GA4 Realtime before launch.
Related free SEO tools
- URL slug generator: create clean landing page URLs to tag.
- 301 redirect checker: make sure redirects keep your parameters.
- OG tag checker: check how your landing page looks when shared.
- Meta tag generator online: keep canonical URLs free of tracking parameters.
- Website page size checker: make sure campaign pages load fast.
Ready to tag your next campaign? Use the UTM builder for GA4 above.