Your campaigns end up in “Unassigned”: UTMs outside the channel rules
A utm_medium the channel rules don't recognise lands in Unassigned, and black_friday and Black_Friday are two different campaigns. How to clean up your UTMs.
- The acquisition report groups every source and medium combination into a default channel.
- A medium like “newsletter” matches no channel rule, so the traffic ends up in Unassigned.
- On top of that, GA4 is case sensitive: black_friday and Black_Friday are different campaigns.
- The fix: a closed, lowercase taxonomy aligned with GA4's channel rules.
- To keep it clean, review the Unassigned channel regularly and never tag internal links with UTMs.
UTM parameters are how you tell GA4 where a visit comes from when the browser can’t know it on its own: an email, a social post, a QR code. GA4 uses those values for two things: showing the source, medium and campaign exactly as they were written, and sorting the visit into a channel of the default channel group. Both fail when UTMs don’t follow a convention.
What happens when campaigns land in Unassigned
- Part of the campaign traffic shows up in the Unassigned channel, which GA4 keeps for whatever matches no rule.
- One campaign is split across several rows:
black_friday,Black_FridayandBLACK-FRIDAYadd up sessions separately.
Why GA4 sends UTM traffic to Unassigned
The default channel group assigns each visit with rules on source and medium. For example, the Email channel expects a medium or source such as email or e-mail. A medium like newsletter matches no rule, so the visit ends up in Unassigned.
Also, UTM values are stored exactly as written. GA4 doesn’t unify case, hyphens or spaces, so every variant is, for all purposes, a different campaign.
There is a third, related mistake: using UTMs on internal links (for example, on a banner on your own site). The UTM replaces the user’s real source for the events that follow, and conversion attribution is lost.
How to find the UTMs that break the channel rules
- In Traffic acquisition, filter the Unassigned channel and add the session source / medium dimension. The mediums listed there are the ones that don’t follow the rules.
- Sort the campaign dimension alphabetically: variants of the same name show up together.
- Look for your own domain or campaigns on sessions that start on internal pages: that is the footprint of UTMs on internal links.
How to fix your UTM taxonomy
- Define a closed taxonomy: a list of allowed values for
utm_medium(email,cpc,social,display,affiliate…) aligned with GA4’s channel rules. - Write everything in lowercase with one fixed separator (
_or-, but always the same one). - Build URLs from a shared template or a spreadsheet with validation, rather than typing them by hand.
- Remove UTMs from internal links. To measure your own banners or promotions, use events (for example,
select_promotion).
If you need a different grouping, you can create a custom channel group, but it doesn’t replace a clean taxonomy: rules can only sort what is written consistently.
Google’s documentation: Default channel group.
How to check Unassigned traffic stays residual
- Review the Unassigned channel every month. It should stay at a residual share.
- Check that every new campaign shows up as a single row.
- Past data isn’t reclassified: the fix applies to new visits.