If your GA4 traffic sources look like a mess of duplicates, lowercase and uppercase versions of the same campaign, or worse, a giant pile of (direct) / (none), the culprit is almost always the same: inconsistent UTM tracking parameters.
This guide walks you through building UTMs the right way, using Google’s Campaign URL Builder, storing them in a shared spreadsheet, and avoiding the tagging mistakes that quietly destroy attribution in GA4. ortto.com makes the same point with more data.
What Are UTM Tracking Parameters?
UTM parameters (short for Urchin Tracking Module) are small text snippets you add to the end of a URL. When someone clicks a tagged link, GA4 reads those parameters and records exactly where the visitor came from, what campaign brought them, and even which specific ad or button they clicked.
Without UTMs, most of your paid, email, and social traffic gets lumped into vague buckets or disappears into direct traffic. With UTMs done properly, you get clean attribution and reports you can actually trust.
The 5 Core UTM Parameters
| Parameter | Purpose | Required? | Example |
|---|---|---|---|
| utm_source | Where the traffic comes from | Yes | newsletter, facebook, google |
| utm_medium | The marketing channel type | Yes | email, cpc, social, referral |
| utm_campaign | The campaign name | Yes | summer_launch_2026 |
| utm_content | Distinguishes ads or links | Optional | header_cta, blue_button |
| utm_term | Paid keyword tracking | Optional | buy+running+shoes |

Step 1: Define a Naming Convention Before You Tag Anything
This is the step that 90% of marketers skip, and it’s the reason their GA4 reports break. Before you build a single URL, agree on rules with your team.
- Always use lowercase. GA4 treats Facebook and facebook as two separate sources.
- No spaces. Use underscores (_) or hyphens (-). Pick one and stick with it.
- Standardize channel names. Decide once: is it social, social-paid, or paid-social?
- Include a date or ID in campaign names for easy filtering, for example: 2026-08_backtoschool.
- Never tag internal links on your own site. It overwrites the original session source.

Step 2: Build Your URL With Google’s Campaign URL Builder
Google offers a free tool that formats your UTM parameters correctly. You can find it at ga-dev-tools.google/ga4/campaign-url-builder.
- Paste your destination URL (the landing page, without any existing parameters).
- Fill in utm_source, utm_medium, and utm_campaign. These three are non-negotiable.
- Add utm_content if you’re running multiple creatives or link placements pointing to the same page.
- Add utm_term only for paid search keyword tracking.
- Copy the generated URL and, for long links, use the built-in shortener or a branded short-link service.
Example of a properly built URL:
https://ufosearchonline.com/pricing?utm_source=newsletter&utm_medium=email&utm_campaign=2026-08_pro_upgrade&utm_content=header_cta adobe.com makes the same point with more data.
Step 3: Organize Everything in a UTM Tracking Spreadsheet
A shared Google Sheet is the single most underrated tool in campaign tracking. It keeps everyone using the same values and prevents the same campaign from being tagged three different ways.
Recommended Columns
| Column | Why It Matters |
|---|---|
| Date created | Easy sorting and cleanup |
| Owner | Who to ask when a report looks off |
| Landing page URL | Base URL before parameters |
| Source / Medium / Campaign / Content / Term | One column each for auditing |
| Final tagged URL | Ready to copy into your campaign |
| Short URL | For SMS, print, or social bios |
| Notes | Context for future you |
Pro tip: use a formula to concatenate the columns into a ready-to-use URL. That way nobody hand-types parameters (which is where typos are born).

Step 4: Verify Your UTMs Actually Work in GA4
- Click your tagged link in an incognito window.
- Open GA4 and go to Reports > Realtime.
- Check the Traffic source card. Your source, medium, and campaign should appear within seconds.
- For historical checks, go to Reports > Acquisition > Traffic acquisition and switch the dimension to Session campaign.
Common UTM Mistakes That Break GA4 Attribution
These are the errors we see over and over when auditing client accounts:
- Mixing case: Facebook and facebook split your data in two.
- Tagging internal links: Instantly kills the original attribution.
- Using utm_medium=social for paid ads: GA4 recognizes cpc, paid-social, and similar as paid. Get this wrong and paid traffic ends up in your organic reports.
- Spaces in parameters: They turn into %20 and create ugly, duplicated entries.
- Forgetting utm_campaign: You lose the ability to group efforts together.
- Tagging links inside email footers or transactional emails: Distorts commercial performance data.
- Redirects that strip parameters: Always test that your final landing page still shows the UTMs in the address bar.

Bonus: Mapping UTMs to GA4’s Default Channel Groups
GA4 automatically slots traffic into channels based on your source and medium values. If you use unexpected mediums, your campaigns will fall into Unassigned. Stick to these safe values:
- Email: utm_medium=email
- Paid Search: utm_medium=cpc or paid-search
- Paid Social: utm_medium=paid-social
- Organic Social: utm_medium=social
- Display: utm_medium=display
- Affiliate: utm_medium=affiliate
- Referral: utm_medium=referral
FAQ
What are the 5 UTM parameters?
The five UTM tracking parameters are utm_source, utm_medium, utm_campaign, utm_content, and utm_term. The first three are essential for meaningful reporting.
Which UTM parameters are mandatory?
Technically only utm_source is required by GA4, but for reliable reporting you should always include utm_source, utm_medium, and utm_campaign together.
How many UTM parameters should I use?
Use three at minimum (source, medium, campaign). Add utm_content when you need to compare multiple links pointing to the same page, and utm_term only for paid keyword tracking.
Do UTM parameters hurt SEO?
No, when used correctly on external links. Just don’t use them on internal navigation, and add canonical tags on the destination page to avoid duplicate URL indexing. realize.com walks through the specifics.
Can I change UTM parameters after a campaign is live?
You can update the tagged URL going forward, but historical data already collected under the old parameters won’t be rewritten. This is exactly why a naming convention and shared spreadsheet matter so much from day one.
Are UTM parameters case sensitive?
Yes. GA4 treats Email and email as two different mediums. Lowercase everything, always.
Wrapping Up
Clean attribution is not about fancy tools, it’s about discipline. A documented naming convention, Google’s Campaign URL Builder, and a shared tracking spreadsheet will do more for your reporting than any expensive analytics platform. Set the rules once, train your team, and your GA4 reports will finally start telling the truth.
