Saturday, October 24, 2026

How to Diagnose and Fix (not set) in Google Analytics 4


If you manage a blog or website and monitor Google Analytics 4 (GA4), seeing (not set) show up in your reports—whether under Page Titles, Traffic Sources, or Landing Pages—can be frustrating.

While it looks like a system error, (not set) is simply a placeholder GA4 uses when it receives event data but fails to collect or match the corresponding parameter value.

Below is a breakdown of why this happens across different GA4 dimensions and how to fix it to keep your analytics accurate.

1. (not set) in Page Title & Screen Class


When (not set) appears in your Pages and screens report, GA4 logged a visitor view or event, but could not capture the webpage's title.

Primary Causes


  • Missing <title> Tags: The HTML of the requested page is missing a <title> tag or contains an empty <title></title> element.

  • Tag Firing Sequence: In Google Tag Manager (GTM), if your GA4 tracking tag triggers before the browser builds the document title (DOM Ready), GA4 captures undefined.

  • Single-Page Application (SPA) Routing: On React, Vue, or Next.js sites, page title updates often happen client-side after the initial virtual pageview event fires.

How to Fix It


  1. Identify the affected pages: In GA4, go to Reports > Engagement > Pages and screens. Set Page title and screen class as your primary dimension and add Page path and screen class as a secondary dimension. Filter for (not set) to reveal the exact URLs causing issues.

  2. Audit page HTML: Open those URLs and verify that standard <title> tags exist and populate before scripts load.

  3. Adjust GTM Trigger Timing: Ensure your GA4 base tag triggers on Initialization - All Pages or Container Loaded, allowing the DOM to render document properties prior to firing.

2. (not set) in Source / Medium & Session Campaign


When acquisition reports display (not set) or default to Unassigned, GA4 recorded a session but lost track of how the visitor arrived.

Primary Causes

  • Malformed UTM Parameters: Typos or missing essential UTM fields (e.g., specifying utm_campaign without utm_source or utm_medium) confuse GA4’s processing rules.

  • Unlinked Google Ads Accounts: If visitors arrive from Google Ads but your Google Ads and GA4 accounts aren't linked (or auto-tagging / gclid is disabled), traffic metadata defaults to (not set).

  • Unwanted Payment Gateways: Redirecting users off-site to complete a payment (e.g., PayPal, Stripe) and back again can strip HTTP referrer details, ending the session prematurely and starting a new, unassigned session.

How to Fix It

  • Standardize URL Building: Use official URL builders to ensure utm_source, utm_medium, and utm_campaign are consistently populated.

  • Link Google Ads: Go to GA4 Admin > Product Links > Google Ads Links to confirm accounts are linked and auto-tagging is enabled.

  • Configure Unwanted Referrals: In Data Streams > Configure Tag Settings, add external checkout or login domains to the List Unwanted Referrals setting so sessions remain continuous.

3. (not set) in Landing Page

If a visitor’s first session event isn’t properly designated, GA4 records (not set) under the Landing Page dimension.

Primary Causes

  • Session Timeouts: Default GA4 sessions expire after 30 minutes of inactivity. If a user leaves a tab open and interacts with it hours later, subsequent events fire without an accompanying page_view or session_start event.

  • Custom Event Sequencing: Firing custom event tags (e.g., user_engagement or custom scroll tags) before the main GA4 Configuration tag fires can lead to orphaned event data.

How to Fix It

  • Extend Session Timeout: Go to Admin > Data Streams > [Your Web Stream] > Configure Tag Settings > Adjust Session Timeout. Increase the timeout limit (e.g., up to 4 hours) to reduce orphaned session events.

  • Enforce Tag Sequence: Ensure the main Google Tag loads before any secondary custom events or dataLayer pushes.

General Rules for GA4 Data Hygiene

  1. Allow 24–48 Hours for Data Processing: GA4 takes time to aggregate parameters. Recent data from the current or previous day frequently displays placeholder values that automatically resolve once batch processing finishes.

  2. Check for Ad Blockers & Privacy Settings: Privacy tools and VPNs often strip user-agent or geographic parameters, leading to unavoidable (not set) values in Tech or Location reports.


See below more articles at Umair's Blog


No comments:

Post a Comment