Discrepancies in the New vs Returning Users Behavior Report
You might have looked at your Behavior > New vs Returning users report in Google Analytics (GA) at some point and noticed some odd discrepancies in the numbers (see visual below).
Some immediate questions come to mind here:
- Why don’t the total number of New Visitors and Returning Visitors add up to overall Users?
- Why are there different terms for New Visitors and New Users?
- Why is the number of New Visitors different from the number of New Users?
Users vs Visitors
First thing to clarify is a Visitor vs a User:
Users (#1): Unique count of the total number of people that came to your site.*
Visitors (#3 & #4): User-level label that is applied to the person that came to your site. Any returning visitor was also a new visitor and does not lose the “new visitor” label just because the “returning visitor” one was added.
New and returning visitors are not mutually exclusive numbers, meaning that there is overlap between the two groups. If you came in as a new user during the time period being looked at, and later came back as a returning user in that same time period, then you’d appear in both the New Visitor and Returning Visitor counts. Therefore, when you sum up #3 and #4 in our visual, they don’t equal #1. That #1 is showing overall Users, with no duplicative statuses - so truly the unique count of users that came to your site during that time period.
New Users vs New Visitors
New User: The session-level status of a user who has never visited the site before. You can appear as a new user twice over the course of two sessions.
New Visitor: The user-level status of a user who has never visited the site before. You can only appear as a new visitor once.
A New User, meaning #2 and #5 in our visual, is the number of times a session was started with a user who had never visited the site before. But the question remains, why is the number of New Visitors (#3) different from the number of New Users (#2 and #5)?
This relates to the fact that GA automatically breaks and restarts sessions at midnight.
The breaking of sessions at midnight is a debatable choice by Google, but it exists nonetheless. If a new user is on the site at 11:50 PM, GA assigns a unique client ID cookie to them (ID: 123). This user is recognized in GA as a new visitor and a new user. 10 minutes later, the session breaks at midnight, and a new session is started on Day 2.
GA sees the same client ID (ID: 123) and knows this is the same new user from before, despite a new session being force-started.
GA attributes this post-midnight session as having a new user again since they technically aren’t a returning visitor, meaning we now have 2 sessions and 2 new user counts - one of each for both days.
However, they only count as one new visitor since “visitor” references the user-level status of the visitor, while “new user” relates to the session-level. So our Day 2 new user, no matter what site actions they take, is a new visitor and can only be counted once as such - i.e., if a user comes back as a new user multiple times (which seems illogical but is what happens in the case we’re discussing), they only are counted as a new visitor once, and if they come back as a returning user multiple times (this at least makes sense), they are only counted as a returning visitor once.
This tells us that New User, despite the name, is actually session-scoped, while New Visitor is user-scoped. Read more about what scope is and why it’s super important in GA.
Knowing that new users actually relates to the session count, we understand why #2 in our visual is equal to #6 with the total count of new user sessions.
The new and returning user sessions, #6 and #7, total up to the overall number of sessions, #8, as expected (so #6 + #7 = #8).
How to Accurately Calculate New vs Returning Users
Now that we know all of this, how do you actually calculate the number of new vs returning users? You can do this by using the following formulas:
- Returning Users = Returning Visitors
- New Users = Overall Users - Returning Visitors
OR if you refer to our visual:
- Returning Users = #4
- New Users = #1 - #4