1

For one of my larger clients, we're seeing a discrepancy between the sessions (and users) reported for each traffic source, and the total sessions reported in GA4. This occurs whether we are using default channel groups or source/medium as the dimension. The GA4 property in question applies to a website and is connected to the website via a standard GTM implementation.

Screenshot of users and sessions by default channel group in GA4

As this screenshot shows, total sessions is reported as 44,722, whereas the sum of the values for each channel totals 44,478. While the difference is less than 1%, we (and our client) are concerned that this makes the data unreliable.

I have investigated for reasons why this may be the case:

  • There is no thresholding being applied to this report (as per GA4's own declaration that this is an unsampled report).
  • There are no comparisons or filters being used.
  • There are no rows of data not shown in this report.
  • I have deliberately chosen data for last month, which means there should be no issue with "recent data" unreliability.
  • The data feed for this Analytics property doesn't have internal traffic defined.
  • All of the settings for the data stream and tag have been left as default.

I could understand why the sum of sessions from different channels might be higher than the reported total (for example, that a user returned to the website through a different channel before the session timeout window expired). But the total reported number of sessions is higher than the sum of the channels.

My only conclusion is that this discrepancy is a consequence of how GA4 carries out basic arithmetic, but explaining that to my client will hardly fill them with confidence.

I've searched online for this problem, and although I have found instances of people reporting it, I can't find any official explanation (or even sensible third party explanations).

Is there an official reason why the total doesn't equal the sum of the values by dimension? Or, if not, is there a logical explanation based on what we know of how GA4 works?

2 Answers 2

1

I don't think that the 2% difference between Total and the sum of each Dimension is the chief concern with this screenshot. If you look under the total Sessions and total Users column headers, it indicates that the chart you are referencing includes around 25% of the total sessions/users. Something must be applied to the reports that you're referencing like a report filter, or internal traffic/developer traffic filter(s) were incorrectly applied. Even with thresholding, that should say 100% of traffic.

If you recreate the same report as an Exploration, does it display the same data there as well? Or within Looker Studio?

enter image description here

2
  • Ah. The specific screenshot was when I was using a comparison to only show traffic from India (as that's what the client was looking at when we first noticed the problem). Running the same check without that comparison in place had the same result of a difference between the sum of the channels and the reported total. Commented Jun 22, 2023 at 10:38
  • I've revised the screenshot (and reported figures) with the unfiltered originals. Commented Jun 22, 2023 at 10:48
0

it's not a problem of counting neither servers. It's a different way to think.

If a user comes on Monday and Tuesday, then you'll have a user for each day on GA4. But on the global period, you'll have only 1. That explains the difference between the total and the sum, which makes the sum greater than the total.

There are also cases when the sum is inferior than the total. This is usually caused by thresholding and Google Signals.

1
  • I'm talking about the number of sessions, not the number of users. Funnily enough, the number of users adds up perfectly from each dimension. But sessions don't. Commented Jun 28, 2023 at 17:32

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.