Guide
Common UTM mistakes that split a real campaign into junk rows
These are the errors that show up in real accounts — not theoretical “best practice” sins. Each one has a fix you can run today in the cleaner, the builder, or the live ad. The policy version of this list is UTM best practices.
1. Mixed case: Facebook and facebook
GA4 treats campaign dimensions as case-sensitive. Facebook, facebook, and FACEBOOK are three sources. You will add them in a slide like a medieval monk. Fix new links with lowercase on by default in the builder. Fix a paste you already have in the UTM cleaner. You cannot merge historical rows without a warehouse.
2. Spaces in values
utm_medium=Paid Social encodes to Paid%20Social or worse, and it will not match paid_social. It often becomes Unassigned. Use hyphens or underscores and pick one separator for the company. The cleaner can swap spaces for you. The channel checker will not save a medium with a space.
3. Missing campaign
Source and medium without utm_campaign still create a session. Campaign shows as (not set). You can say “we had facebook traffic” and you cannot say “the spring sale did this.” Required trio: source, medium, campaign. See what UTM parameters are.
4. Mediums that dump into Unassigned
ad, ads, paid, banner, promo, sponsored feel descriptive and fail default channel rules. Use cpc, paid_social, display, email, affiliate. Full table: fix Unassigned traffic.
5. cpc on Meta (or paid_social on Google search)
utm_source=facebook + utm_medium=cpc looks like Paid Search. Meta ads should use paid_social. Google search ads should use cpc. Swapping them makes the channel mix lie even when every other field is perfect. Channel guides: Meta, Google Ads.
6. A new campaign name per creative
If every ad is spring-sale-carousel-a and spring-sale-hook-v3, you cannot answer “did the sale work?” Put the program in utm_campaign and the asset in utm_content. Generate a single name in the campaign name generator. Email does this constantly; see UTM for email.
7. Internal links with UTMs
A homepage hero tagged utm_source=homepage overwrites the paid click that got the person there. The session becomes your own site. Never tag nav, on-site banners, or “related posts.” Deep dive: when not to use UTMs.
8. Redirects that drop the query string
The ad URL is perfect. The 301 to www, or the locale redirect, or the “smart” shortener lands on a clean homepage. GA4 never sees the tags. Click the live ad on a phone and decode the final address bar. If tags vanished, fix the redirect. Do not add more parameters on the pre-redirect URL and hope.
9. Source as a domain or a sentence
Use linkedin, not linkedin.com, not The Q3 Brand LinkedIn Account. Source is a platform slug. Extra story goes in a sheet keyed by utm_id. Naming pattern: conventions.
10. Two “same” links that are not the same
Agency v1 and in-house v2 both “use spring sale.” One has a space. One has Title Case. Compare them before the client meeting. For a pile of URLs, use the bulk decoder and audit.
How to catch these before spend
Run the launch checklist, then the validator. Those two tools exist because this list is not theoretical.