The Monetization report shows purchase revenue in a fat Unassigned row. Paid Search looks thin, and finance asks why ads stopped making money.
Unassigned is not a mystery channel. Google Analytics 4 (GA4) uses it when source and medium match none of the default channel rules.
The purchases happened. Open Session source / medium on that row, then retag mediums that miss Email, Paid, or Referral.
Unassigned means no default rule matched
Google's default channel group help says Unassigned is the value used when no other channel rule matches the event data. It is a failed classification, not a source you can bid on.
Those rules are fixed. You cannot edit the default group. Channel definitions are not case sensitive, but they are picky about the actual strings.
Email is source or medium in email, e-mail, e_mail, or e mail. Affiliates is medium affiliate, exactly.
Referral is medium referral, app, or link. Newsletter as medium matches none of those, so the session sits in Unassigned even when the email platform sent the click.
Paid Search, Paid Social, and Paid Video for manual tags need a known source list plus a medium that matches the paid regex, which includes strings such as cpc, ppc, retargeting, and values that contain paid. A medium of partner does not get you there.
Google's Campaign URL Builder best-practice table uses organic_search as an example unique medium. Organic Search matches a known search source, or medium exactly organic. A medium of organic_search with a non-search source can miss both and sit in Unassigned next to newsletter.
A custom channel group can map newsletter to Email for your own reports. The default Unassigned row does not move. If leadership reads Traffic acquisition on Session default channel group, they still see Unassigned until the tags change.
Find the source and medium that hold the purchases
Do not start by rebuilding ecommerce items. First prove which tagged values sit under Unassigned on the same dates as the revenue.
Traffic acquisition on the Unassigned row
Open Acquisition, then Traffic acquisition. Set the primary dimension to Session default channel group. Click Unassigned, or add Session source / medium as a secondary dimension and sort by purchase revenue if that metric is in the table.
You should see rows such as mailchimp / newsletter, partner / partner, or (not set) / (not set). Those strings are the job. The channel group is only the symptom.
If purchase revenue is not a column in that table, build an Exploration with Session default channel group, Session source / medium, and purchase revenue. Filter the channel group to Unassigned. That list is the retag queue.
Google's Campaign URL Builder help says to always include utm_source, utm_medium, and utm_campaign. Missing parameters report as (not set). (not set) also fails the channel table, so Unassigned and (not set) often travel together.
Parameter values are case sensitive in reports. Email and email both still match the Email channel rule.
Meta and meta still split into two source rows. Pick lowercase and keep it.
Purchase events can use a different channel dimension
Session default channel group is last click on paid and organic channels for the session. Default channel group on a key event, including a purchase, uses the property attribution model, which defaults to data-driven attribution.
If sessions look assigned and purchase revenue still shows Unassigned, check both dimensions. Unassigned on either still means the traffic-source values did not match a rule. It is not proof the purchase event failed to fire.
Do not confuse Unassigned with (other). Google uses (other) when a report hits cardinality limits and rolls extra rows together. That is a table limit, not a UTM miss.
Retag so Email, Paid, and Referral can fire
Fix new links. Historical Unassigned revenue will not recategorize when you publish a new medium. Export the current Unassigned source / medium list, then change templates in email, ads, and partner pages.
- Newsletter, promo, or blast as medium, which is not email, e-mail, e_mail, or e mail.
- Partner or partner-link as medium, which is not the exact affiliate value.
- Webinar or event as the only medium, with no paid or email match.
- A campaign tag with no source and no medium, which reports as (not set).
- A custom social medium that is not social, social-media, or a paid match.
For email, set medium to email and put the tool name in source, the way Google's own example uses newsletter1 as source and email as medium. For partners, use affiliate if they are affiliates, or referral if they are a site link. For paid social, use a medium that matches the paid regex, such as paid or cpc, plus a social source GA4 already lists.
Do not stack a second set of campaign parameters on Google Ads URLs that already use auto-tagging unless you have a reason. Linked Google Ads traffic is classified from source platform and campaign type, not from a newsletter medium you added on the same click.
If Unassigned is mostly (not set) with no UTM at all, look at tag order next. Google's tagging help says to run the Google tag config, or the GTM Google tag, before other events on the page. Late config can detach session identity and show (not set) on source dimensions.
Unlike a full analytics and attribution engagement, this post covers only Unassigned revenue from channel rules. For a look at whether the current Unassigned row is newsletter medium, missing parameters, or a late tag, start with Get Free Assessment.
If this post is wrong, outdated, or you would take a different path
I write from work I have done on real sites. Search products change, and a step that was right when I published can go stale. I can also be wrong about the method.
If you disagree with the approach, the facts, or the outcome, I want the detail. Tell me what is off, what you would do instead, and where you saw it. I use that to correct the post so the next reader is not stuck.
This is not a comment thread. Use Contact me so the note is tied to this post and I can reply.
You are sending feedback for
Fix GA4 revenue showing as unassigned traffic
Tracking & Attribution
https://test.hammadshk.com/blog/fix-ga4-revenue-showing-as-unassigned-traffic