(not set) in GA4 source, medium and campaign: what it means and how to fix it
Why GA4 shows (not set) for session source, medium, campaign and Google Ads dimensions, what Google lists as the causes, and the link-side fixes.
On this page
(not set) is the placeholder GA4 uses when it received no information for a dimension. Its causes include links with incomplete or incorrect UTM parameters, traffic from Google Ads accounts not linked to your property, and sessions missing the automatically collected session_start event. Google's (not set) help page (opens in a new tab) lists the causes per dimension. For the causes that sit in the link, Google points to its URL builders for adding UTM parameters and to checking that Google Ads auto-tagging is enabled.
What (not set) means
Google's help page on (not set) (opens in a new tab) defines it as a placeholder name Analytics uses when it has not received any information for a dimension, and notes that the reasons vary by dimension. It also separates it from the related (data not available) value: you usually cannot reduce (data not available), while for (not set) action is generally possible. Recent data can still change. Google's data freshness page (opens in a new tab) says processing can take 24 to 48 hours, with standard intraday data arriving in 2 to 6 hours, so check a day or two later before you treat a fresh (not set) row as a fault.
Build a campaign link
Create a UTM link with the free builder. No account needed.
(not set) vs (direct) / (none) vs Unassigned
Three values in acquisition reports look alike and mean different things.
| Value | Where it appears | What it means |
|---|---|---|
(not set) |
any dimension, including source, medium and campaign | GA4 received no information for that dimension |
(direct) / (none) |
source / medium | GA4's Direct channel: source exactly (direct) and medium (not set) or (none) |
| Unassigned | default channel group | no channel rule matched the event data |
The rows connect. Google's channel definitions (opens in a new tab) put a session in Direct only when the source is exactly (direct) and the medium is (not set) or (none), and call Unassigned the value used when no other channel rule matches. Google's (not set) page (opens in a new tab) adds that when session source / medium is (not set), the traffic shows as Unassigned in the default channel group. Our guide to Unassigned traffic in GA4 covers the channel side.
Session source and medium (not set)
Google's (not set) page (opens in a new tab) names a cause for this dimension: session source / medium reports (not set) when the automatically collected session_start event is missing, which can happen when the Google Analytics config tag trigger is not set to the "Initialization" trigger type. That is a site-tagging fix, not a link fix. The same page notes that sessions with the srsltid parameter can show (not set) when the referrer is not google.com, and those sessions are not classified as organic.
The link-side cause is on Google's URL builder page (opens in a new tab): missing UTM parameters result in (not set) values in reporting. Google says to always use utm_source, utm_medium and utm_campaign, and strongly recommends setting every relevant parameter once you set one. Parameter values are case sensitive, so utm_source=google and utm_source=Google are different sources. The UTM parameters reference lists each parameter, whether it is required, and the GA4 dimension it fills.
Session campaign (not set)
Session campaign follows the same rule as source and medium: if the link carried no utm_campaign, GA4 has no campaign to report. Google's URL builder page (opens in a new tab) lists utm_campaign among the three parameters to always use, and session campaign appears next to session source and medium in Acquisition, Traffic acquisition. Google's auto-tagging page (opens in a new tab) adds that when manual tagging and auto-tagging are used together, source, medium and the other traffic-classification dimensions use the auto-tagged values.
A link can also carry utm_campaign and arrive without it. The campaign link preflight checklist covers that case: copy the link from the actual placement, open it, follow any redirect, and compare the final address with the campaign values you planned. If the final address omits utm_campaign, record a hold and ask the link or destination owner to investigate.
Google Ads dimensions (not set)
For the Google Ads dimensions in advertising reports, Google's (not set) page (opens in a new tab) lists four common causes:
- The Google Ads account and the Analytics property are not linked. Link them.
- Auto-tagging is not enabled. Turn it on in Google Ads.
- Traffic comes from a Google Ads account that is not linked to your property. If the
gclidparameter still arrives on your final URLs, another account may be advertising your site; GA4 cannot map those key events to a particular click. - Destination URLs are tagged manually with incomplete or incorrect UTM parameters. When Analytics does not receive the parameters it needs,
(not set)appears, and these URLs can come from any source, not only Google Ads.
To check auto-tagging, Google's auto-tagging page (opens in a new tab) has you open Account settings in Google Ads and the Auto-tagging section: if "Tag the URL that people click through from my ad" is checked, auto-tagging is on.
Check the link before you send it
On the link side, build each link with the three parameters Google recommends, in lowercase, and test the version people will click. The UTM builder runs in your browser without signup, includes utm_source, utm_medium and utm_campaign as Google recommends, and has a lowercase option because GA4 treats Facebook and facebook as two sources. Run the result through the campaign link preflight checklist, and use how to track UTM in Google Analytics to find the values in Acquisition, Traffic acquisition once data arrives.
Sources
- Google Analytics Help: What the value (not set) means in your reports (opens in a new tab)
- Google Analytics Help: Data freshness (opens in a new tab)
- Google Analytics Help: Default channel group (opens in a new tab)
- Google Analytics Help: URL builders (opens in a new tab)
- Google Analytics Help: Benefits of Google Ads auto-tagging (opens in a new tab)
Tools for this
-
Free UTM builder
Build a link with your campaign parameters.
Frequently asked questions
How long should I wait before treating (not set) as an error?
Google says data processing can take 24 to 48 hours, and report data can change during that time. Look again after that window before you change links or settings.
Why is source (not set) while medium has a value?
Each UTM parameter is reported separately, and a missing parameter reports as (not set). A link with utm_medium but no utm_source shows a medium and a (not set) source; Google recommends always setting utm_source, utm_medium and utm_campaign together.
Does (not set) in landing page have the same cause?
No. Google lists a different cause for the landing page dimension: a session without a page_view event. That is a tagging question on the site, not a campaign-link question.
Build a campaign link
Create a UTM link with the free builder. No account needed.