UTM naming convention for GA4
GA4 reports keep UTM values exactly as they are typed. One capital letter or a made-up medium is enough to split a campaign across rows or send it to Unassigned. A short naming convention, checked before launch, prevents both.
Why naming matters in GA4
GA4 does not normalise UTM values. utm_source=Facebook and utm_source=facebook are two different sources in every report, and nothing merges them later. The channel a session lands in (Paid Social, Email, Organic Search and so on) is derived from source and medium by GA4's default channel group rules, so a medium that matches no rule ends up as Unassigned. Both problems are invisible until the data is already collected, and past data cannot be relabelled.
1. Always set the three core keys
Every tagged link should carry utm_source (who sends the traffic: google, facebook, newsletter), utm_medium (the type of traffic: cpc, paid_social, email) and utm_campaign (the campaign name). A link with a source but no medium cannot be placed in a sensible channel.
2. Lowercase everything
Pick lowercase and never deviate. Mixed case is the most common cause of split rows, usually because several people build links by hand or copy them from different templates.
3. One spelling per value
Near-duplicates such as fb and facebook, or e-mail and email, split reports just as badly as case does. Write the allowed values down, one list per key, and treat anything else as a mistake rather than a new value.
4. No spaces
Spaces become %20 or + in the URL and are easy to miss, especially trailing ones. Use hyphens or underscores: spring-sale, not spring sale.
5. Use mediums GA4 understands
The default channel group matches known mediums: for example cpc, ppc or paid combined with a search source for Paid Search, email for Email, affiliate for Affiliates, and social or paid_social style values for social channels. A creative medium such as newsletter-blast matches nothing and becomes Unassigned. Check Google's current channel definitions before you invent a new medium.
6. Remove exact duplicates
The same link pasted twice in a campaign sheet is harmless in GA4 but usually means a row was copied without being edited, so its ad or placement may be tagged with the wrong values. Duplicates are worth a second look.
Check before launch, not after
Run the whole link list through a check before the campaign goes live: missing keys, case conflicts, near-duplicates, spaces and the channel each link will land in. Fixing a spreadsheet takes minutes; fixing GA4 reports afterwards is not possible.
Check it automatically
UTM Tag Lint reads up to 500 tagged URLs and reports case conflicts, near-duplicate values, stray spaces and %20, missing utm_source/utm_medium/utm_campaign, exact duplicate links, and the GA4 default channel each link is likely to land in, including Unassigned. An optional allowed-value list enforces your own convention. Links are parsed as text only and are not stored. Three checks are free; the monthly plan is $9.