Guide
GA4 unassigned traffic: why it happens and how to fix it
Unassigned is what Google Analytics 4 calls a visit that matches none of its channel rules. The rules read the source and medium, so most Unassigned traffic comes from UTM tags GA4 cannot place, like utm_medium=ads, or from visits whose source and medium are (not set). Fix the tags and new visits land in the right channel.
Tags that land in the right channel
| Traffic | utm_source | utm_medium | GA4 channel |
|---|---|---|---|
| Meta ads | facebook or instagram | paid_social | Paid Social |
| LinkedIn ads | linkedin | paid_social | Paid Social |
| TikTok ads | tiktok | paid_social | Paid Social |
| Microsoft Ads | bing | cpc | Paid Search |
| Programmatic | dv360 | display | Display |
| Newsletter | newsletter | email | |
| Partner site | the site's name | referral | Referral |
Google Ads needs no UTM tags for this: link it to GA4 and turn on auto-tagging, and GA4 sorts its clicks by campaign type.
How GA4 decides the channel
GA4 compares each visit's source, medium and campaign name with a fixed list of rules. Google's rule for Paid Social, for example, needs two things at once: the source is on its list of social sites, and the medium matches cp, ppc, retargeting or anything that starts with paid. A visit that fits no rule at all is Unassigned.
The default rules can't be edited. They aren't case sensitive, so Facebook and facebook both count as Paid Social. But the values are: GA4 still lists them as two sources, which splits one campaign across two rows.
What sends traffic to Unassigned
- A source and a medium GA4 doesn't know.
utm_source=meta&utm_medium=adsmatches no rule:metaisn't on Google's list of social sites, andadsisn't a medium any rule looks for. - Missing tags. Google says tags left out show up as
(not set), and a visit whose source / medium is(not set)is Unassigned. Always set utm_source, utm_medium and utm_campaign together. - Tags GA4 never sees. Tags after a
#, a second?in the link, or a redirect that drops everything after the?. - Google Ads without auto-tagging. Google lists an unlinked Google Ads account and auto-tagging switched off as causes of
(not set). - Tag setup. Google says source / medium is
(not set)when thesession_startevent is missing, for example when the Google tag in Tag Manager doesn't fire on the Initialization trigger. Consent settings can cause the same.
Tags that land in the wrong channel
Not Unassigned, but just as misleading in a report. All of these follow from Google's rules:
| Tags | Lands in | Why |
|---|---|---|
utm_source=meta&utm_medium=paid_social | Paid Other | meta isn't on the list of social sites, so only the paid medium matches. |
utm_source=facebook&utm_medium=social_paid | Organic Social | The medium has to start with paid, so the ads count as unpaid social. |
utm_campaign=acme_shop_sale with a paid medium | Paid Shopping | A campaign name with shop or shopping as a word counts as shopping. |
utm_campaign=...cross-network... | Cross-network | Any campaign name that contains cross-network. |
We checked the source names against Google's downloadable list of sources on 5 Nov 2026: facebook, fb, instagram, ig, linkedin and tiktok are on it as social sites; meta is not.
How to find what's in Unassigned
- In GA4, open Acquisition, then Traffic acquisition. Its rows are channels by default.
- Next to the dimension drop-down, click + and add Session source / medium.
- Search the table for Unassigned. Each row shows a source / medium pair to fix. Swap in Session campaign to see which campaigns they belong to.
Then change those tags in the ad platform or the email tool. GA4 sorts visits as they arrive, so the fix shows on new visits; visits already counted keep the tags they came with.
Test a tagged link before launch
Paste your links into the UTM link checker. It flags missing tags, capital letters, spaces, tags after a # and a second ?, and runs in your browser, so nothing is sent to us. Then open one link in a private window and look at the Realtime report in GA4, which covers the last 30 minutes. Its card for active users by first user source should show your source. Realtime shows how a user was first acquired, which is why the private window matters. A redirect that drops the tags only shows up this way.
New to the tags themselves? Read UTM source vs medium vs campaign. Running Meta ads? The Meta ads URL parameters guide has a template that lands in Paid Social.