• PL
  • EN
  • #ga4 #googleanalytics #notset

    (not set) in GA4 Reports – Case Analysis

    Adrianna Ziobro-Jawniak Adrianna Ziobro-Jawniak

    If you use Google Analytics 4, you have probably encountered the mysterious value labeled as (not set) more than once. What is it, and what are the basic and less obvious reasons for its occurrence? In this article, we will tackle this topic based on real-life cases from our daily work.

    What is (not set)?

    The value (not set) in GA4 reports is a placeholder for missing values. This means that specific data for a given dimension is missing in a particular context (there is a data gap, for which the system provides the value (not set)). In the case of GA4, this can occur when there is no information regarding a specific dimension in a given event or session.

    Google Analytics - (not set)

    But should all (not set) instances be a cause for concern?

    There are several main reasons for the appearance of (not set) in GA4 reports.

    GA4 uses (not set) when it does not receive any information about a specific dimension. For example, filtering dimensions related to the app when using GA4 to measure data only from websites – in such cases, the (not set) value should not surprise us. However, there are cases where an unidentified parameter or event value constitutes a very high percentage. In such instances, we are dealing with low-quality data collection.

    TLDR:

    • (not set) means that GA4 has no value for that dimension in this particular context.
    • (not set) often occurs in the implementation of Measurement Protocol/server-side tagging (SGTM).
    • Some (not set) values result from Google bugs.
    • User privacy tools and extensions can also affect (not set).
    • There are cases where (not set) values result from incorrect tool configuration.

    [IMPORTANT UPDATE]

    Recently (end of June and July), Google confirmed the occurrence of a global issue that may increase the percentage of (not set) values, mainly in Google Ads and DV360 campaign reports.

    Scope of issues currently being addressed by Google:

    • Increased percentage of (not set) and “Unassigned” in campaign reports.
    • Increased percentage of attributed share for the direct channel.
    • Incorrect classifications in channel attribution based on GCLID/DCLID values.

    So, if you have encountered a similar problem in your campaign or channel group reports recently and have ruled out the configuration errors described in the article, your account is likely also affected by a global bug.

    You can check the extent to which this issue affects your account in selected reports.

    Below is an example of a report showing to which channel group the google/cpc revenues were attributed (and the scale of it):

    Google Analytics - (not set)

    Another report will show us to what extent the (not set) values for the Google Ads campaign parameter have deepened over certain periods of time:

    Google Analytics - (not set)

    We are following the topic closely. We will return with another update.

    In the meantime…

    Case Analysis

    Let’s move on to a case analysis and consider what situations most often cause missing dimension data. Below are examples of the most common cases encountered in practice for the most popular reports. If you identify with a particular case, verify whether the gaps in the reports are caused by the examples given:

    • (not set) in session traffic reports – source/medium

      • Incorrect implementation of Measurement Protocol (incorrectly sending session_id – the parameter must contain the session value that has already been tracked by GA4 on the website (client-side). If the developer randomly generates session_id, source/medium will be labeled as (not set)).
      • Missing session_start event – usually a very small percentage of sessions, mainly occurs with server-side tagging (SGTM).
      • Missing/incorrectly set UTM parameters – (not set) at the session – source/medium level or at the campaign level (to avoid errors in UTM, we recommend using dedicated tools, such as Campaign URL Builder: https://bit.ly/3RFhiTG according to best practices, as discussed here).
      • Incorrect data transfer between domains (cross-domain tracking) – missing/incorrect session and source information.
      • Privacy settings in browsers – some browsers may block data transfer due to privacy settings, such as blocking cookies or other tracking technologies.
    • (not set) for Google Ads campaigns

      • Missing/incorrect connection of GA4 with Google Ads.
      • Auto-tagging not enabled in Google Ads (recommended).
      • Missing/incorrectly set UTM parameters (when auto-tagging is turned off – not recommended).
      • Simultaneous use of manual and automatic tagging.
      • Invalid clicks (https://bit.ly/4eMIJoF)
    • (not set) in the landing page dimension

      • Starting a session with an event other than page_view (the session is treated as a session with an undefined entry page, and the landing page equals (not set)).

        Examples include:

        • A user leaves the computer, keeps the page open, and returns after the session has automatically ended. They perform an action, such as scrolling or clicking, and start a new session where page_view is not the first event.
        • Integrations like Calendly, which generate sessions but do not generate page views.
    • (not set) for the page_location dimension

      • Usually a GA4 bug.
      • May occur when URLs on the page exceed 500 characters (more about data limits in GA4: https://bit.ly/45TCR8Q)
    • (not set) in the page_title parameter

      • Missing <title> on HTML pages.
      • GA4 codes executing before the <title> section loads in HTML.
    • (not set) for the content group dimension

      • Missing/incorrect content_group parameter configuration.

        • Inconsistent with documentation (case-sensitive).
        • Sending an empty value to the parameter (e.g., from a DOM element).
        • Incorrect (usually too late) triggering of the code containing the page_type parameter.
      • No ability to measure content_group for first_visit events.
    • (not set) for the language value

      • language parameter not sent for all events when implementing Measurement Protocol.
      • Hiding/modifying browser language by the user (e.g., through extensions/plugins).
      • Removing the ul (user language) parameter when using server-side tagging.
    • (not set) for the country dimension (and other geographic dimensions)

      • Measurement Protocol unable to track parameter data.
      • IP anonymization – lack of accuracy in identifying user location.
      • Removing/overwriting IP addresses when using server-side tagging.
      • VPN-type firewalls.
    • (not set) for the event report/product data

      • Inconsistent e-commerce tracking implementation – not recording the same parameters at each stage of the user journey.
      • Incorrect parameter values – inconsistent with the implemented dataLayer.
      • Not registering custom dimensions in GA4 despite collecting them in GTM (custom dimensions do not work retroactively).
      • GTM configuration errors – incorrect tag firing or missing triggers.
      • Audience triggers (events set from GA4 audiences) – these events are often not assigned to any session.
    • (not set) limited to the user

      • Incorrect/missing User-ID configuration – (not set) values in reports related to logged-in users.
      • Often a GA4 bug
        • It is worth setting user properties not only in the configuration tag but also in all event tags.
        • It is worth setting an event-limited custom dimension (for all tags).
    • (not set) for the technology report (browser and operating system)

      • If the number of unique users with the (not set) value exceeds 5-10%, it is worth verifying further whether the traffic is coming from bots (useful reports include sources, hostname combined with bounce rates).

    How to deal with (not set)?

    To minimize the percentage of (not set) values in GA4 reports, carefully analyze your implementation and ensure that all parameters are correctly sent. Debugging with tools such as Explorations in GA4 can help locate problems and find solutions.

    It is also important to monitor all changes to your website or application to quickly respond to any data transfer issues to GA4. Using GA4 documentation and other training materials will help you better understand the platform’s operation and avoid potential pitfalls.

    Completely eliminating (not set) values in GA4 reports is not possible, but it is crucial to understand the scale of the problem, the reasons for their occurrence, and systematically take steps to reduce them. A high percentage of (not set) values unfortunately indicates low data quality, leading to inadequate conclusions and poor decision-making.

    Do you need help with (not set)
    in your GA4?

    Contact us