How to Fix (not set) Campaign and Source Data in GA4 Reports

Why do you see (not set) for campaigns, sources, or landing pages in GA4? Learn the technical causes behind (not set) and how to resolve missing attribution.

Visual guide explaining why GA4 displays (not set) for campaign and source dimensions
Table of Contents
  1. What (not set) Actually Means in GA4
  2. The 5 Major Causes of (not set) in Acquisition Reports
  3. Measurement Protocol and Server-Side Attribution Loss
  4. Checks for Missing Dimension Values

(not set) means GA4 has no value to show for the dimension you selected. The cause depends on the report and the data collected. Start with the affected field, then check the event, session and campaign information it needs.

What (not set) Actually Means in GA4

(not set) is a placeholder name used by Google Analytics when it has not received any information for the dimension you have selected. For instance, if you view the Session campaign report and see (not set), it means sessions were recorded where no campaign name could be determined.

The 5 Major Causes of (not set) in Acquisition Reports

  1. Partial UTM Parameters: Someone tagged a link with utm_source=google&utm_medium=cpc, but left utm_campaign completely blank. The resulting session campaign is (not set).
  2. Session Timeout Continuity: If a user leaves a browser tab open for over 30 minutes and later interacts with the page, GA4 generates a new session. If no referrer is present, the new session can register (not set) campaign dimensions.
  3. Google Ads Auto-Tagging Without Link: GCLID is present on the URL, but the Google Ads account is not properly linked to the GA4 property.
  4. Events Firing Before Config Tag: In Google Tag Manager, custom events triggered before the GA4 Configuration tag has initialized lack session context.
  5. Measurement Protocol: Events without the correct client and session context can lack expected reporting dimensions.

Measurement Protocol and Server-Side Attribution Loss

For web Measurement Protocol events, put client_id at the top level of the JSON body and session_id inside each event’s params. Include the appropriate engagement time for Realtime reporting. Validate the payload and the timing requirements before associating it with a previous session; a successful HTTP response does not establish correct attribution. See the Measurement Protocol reference.

Checks for Missing Dimension Values

  • Include utm_source, utm_medium and utm_campaign together when tagging a campaign, along with any other fields your reporting needs.
  • Verify Google Ads account linking in GA4 Admin > Product Links > Google Ads Links.
  • Review GTM trigger order and test whether the Google tag is available when key events fire.

For the broader setup, read GA4 UTM Tracking Troubleshooting Guide: Root Causes, Debugging & Solutions. Browse the GA4 Attribution & Troubleshooting guides to choose another troubleshooting task.

References