Skip to content

How to fix Unassigned traffic in GA4, step by step

To fix Unassigned traffic, open the row in Traffic acquisition with Session source / medium, then sort what you find. Rename mediums no channel rule knows, complete half-tagged links and check that your tag records each session start. Then relabel past visits with a custom channel group.

By , Founder & CEOUpdated 7 min read

Run the numbers for your store: the free UTM coverage calculator.

To fix Unassigned traffic in GA4, open the row in Traffic acquisition and add Session source / medium. Rename mediums no channel rule knows, finish half-tagged links and check that your tag records each session start. Then, if old reports matter, relabel past visits with a custom channel group.

Nine steps, all in GA4 apart from one stop in Google Tag Manager and one in your consent banner. Each menu path below comes from Google's help pages as they read on 1 October 2026.

Step by step

  1. Size the row before you fix it. Open Traffic acquisition, whose default dimension is Session default channel grouping. Note Sessions and Total revenue for Unassigned, and for Direct beside it. Menu path: GA4 > Reports > Acquisition > Traffic acquisition.
  2. Open Unassigned with a second dimension. Type Unassigned in the search bar above the table. Then click the icon next to the dimension drop-down and choose Session source / medium. Menu path: Traffic acquisition > search bar > icon next to the dimension drop-down > Session source / medium.
  3. Sort the pairs into three piles. A source you know with a medium GA4 does not, such as weekly-show / podcast. A pair that reads (not set) / (not set). And pairs nobody on the team set, which need tracing to the link behind them. Menu path: none, this step is sorting.
  4. Match each odd medium to a rule. Google lists the rules for manual traffic in its help. Email wants email, Affiliates wants affiliate, Audio wants audio and SMS wants sms. Referral wants referral, app or link. Paid Search, Paid Social and Paid Video also need the source on Google's list of search, social or video sites. Menu path: Analytics Help > Default channel group > Channels for manual traffic, then Analytics' list of sources and categories.
  5. Fix the medium where the link is built. Change it in the email tool, the podcast notes or the partner's link, not in the report. Google says to always use utm_source, utm_medium and utm_campaign, and that missing parameters show up as (not set). Menu path: Analytics Help > URL builders: Collect campaign data with custom URLs > Campaign URL Builder.
  6. Check that the tag records each session start. Session source / medium reads (not set) when the session_start event is missing. If GA4 runs through Google Tag Manager, Google's fix is to fire the Google tag on Initialization - All pages and remove the old trigger. Menu path: Tag Manager > Workspace > Tags > your Google tag > Triggering > + > Initialization - All pages. Then Save, Submit and Publish.
  7. Check how your banner updates consent. Google names two consent mode errors that lose the session start. One uses the default command for every consent value, even after the visitor chooses, where the update command belongs. The other sends events with denied consent after the visitor granted it. Menu path: none in GA4, this lives in your consent banner's set-up.
  8. Relabel the past with a custom group. Copy the default group and add a channel for each stray value. Drag it above the channel it should beat, because GA4 files traffic in the first channel it matches. The group reaches past data, though not the Key events paths report. Menu path: Admin > Data display > Channel groups > Create new channel group > Add new channel > Save channel. Then Reorder, Apply and Save group.
  9. Use the session dimension in explorations. For sessions and page views, put Session default channel group in Rows. The plain Default channel group is event-scoped, and Google says source and medium are (not set) for anything but key events. Menu path: Explore > Start a new exploration > Free form > Rows.

A worked example

For illustration, say September's Traffic acquisition shows €3,000 of Total revenue in Unassigned and €12,000 in Direct.

Session source / medium inside UnassignedTotal revenue, for illustrationPileFix
weekly-show / podcast€1,400Odd mediumutm_medium=audio
(not set) / (not set)€1,100No session startSteps 6 and 7
partner-blog / partner€500Odd mediumutm_medium=referral

Two of the three rows are naming slips. Renaming podcast to audio and partner to referral files €1,900 of future revenue into named channels, for illustration. The €1,100 of (not set) is a different animal, for illustration: it needs steps 6 and 7, because no link change reaches it.

A custom group with Audio and Referral channels for the old values relabels the €1,900 already recorded, in this worked example. It leaves the Key events paths report alone, so September's paths still show Unassigned.

One store's export is a reminder to watch the neighbour too. Direct holds 57.7% of revenue on its Channels sheet, in all three views. If a redirect strips your new tags, the visits never reach their channel. They land in Direct, where no rule can sort them.

What should I check when the report looks wrong?

  • Unassigned shows in an exploration but not in Traffic acquisition. Check the dimension. The event-scoped Default channel group gives non-key events no source, so switch to Session default channel group.
  • You fixed the links and Unassigned barely moved. Old sessions keep their old label in the default group. Google also says data processing can take 24 to 48 hours.
  • A campaign jumped into Organic Shopping. GA4's Organic Shopping rule also matches campaign names that contain shop or shopping. A newsletter campaign called spring-shop can land there.
  • Rows split by capital letters. Parameter values are case sensitive, so Email and email are separate rows. Channel rules are not, so both still count as Email.
  • A paid link landed in Paid Other. Its medium looks paid, but its source is not on Google's list of search, social or video sites. Switch to a source spelling that is on the list.
  • Admin refuses a third group. Standard properties allow two custom channel groups besides the default, with up to 50 channels in each.
  • You cannot see Create new channel group. Creating and editing channel groups needs the Editor role or above on the property.
  • Unassigned jumped the week your cookie banner changed. Google lists consent mode errors among the ways a session loses its start. Line up the date of the jump with the date of the banner change, then run step 7.

What to do this week

  1. Check your sources against Google's list. On the Default channel group help page, download Analytics' list of sources and categories. Pass: every social and search source you tag is on it. Fail: one is missing, so its paid visits can never land in Paid Search or Paid Social.
  2. Build one custom channel group for your stray values. Go to Admin, then Data display, then Channel groups, and click Create new channel group. Pass: Traffic acquisition with your group as the dimension shows those values in named channels. Fail: they still sit in Unassigned, so drag your new channels higher in the order.
  3. Test one fixed link. Open it in a private window, then read Traffic acquisition the next day with Session source / medium added. Pass: the pair sits in the channel you meant. Fail: it shows as Direct, so a redirect is stripping the tags.

Check the homework. Your GA4 Attribution paths export already holds the evidence. Causality Engine reads that one file and shows what each channel caused next to what last-click gave it, in 1 to 2 minutes, for €99 once (excluding VAT), refundable within 30 days. Check the homework

Sources, 1 October 2026: Traffic acquisition report (Analytics Help); Default channel group (Analytics Help); URL builders: Collect campaign data with custom URLs (Analytics Help); What the value (not set) means in your reports (Analytics Help); Publishing, versions, and approvals (Tag Manager Help); Custom channel groups (Analytics Help); Scopes of traffic-source dimensions (Analytics Help); Data freshness (Analytics Help); Free-form exploration (Analytics Help).

Frequently asked questions

  • How long after fixing my links will Unassigned shrink?
    New visits pick up the new labels once the links change, and Google says data processing can take 24 to 48 hours. Visits already recorded keep their old label unless a custom channel group relabels them.
  • Does a custom channel group fix Unassigned in attribution paths?
    No. Google says custom channel groups cannot be used in the Key events paths report, so those paths keep the default labels. Fixed links clean up the paths only for visits after the fix.
  • Why does (not set) / (not set) appear inside Unassigned?
    Because GA4 never got a source for those sessions. Google's help ties it to a missing session_start event, caused by the tag's trigger or by consent mode errors. New UTM tags will not fix it.

Go deeper: Causal attribution, explained.

Sixty-second versions of these ideas: Causality Engine on YouTube Shorts.

Keep reading

Terms in this article

Browse the full glossary

Your platforms guess.
We run the math.

Upload a GA4 export and see what each channel caused, next to last-click, in 1–2 minutes. The read is yours to keep.

Free, in your browser: your file is not uploaded. The full read is €99, refundable within 30 days. Prices exclude VAT.
Or book a 30-min call.