Google Analytics 3 | Google Analytics 4 |
Application of a session-based measurement model. | Application of an Event-Based Measurement Model. |
A session is a collection of hits that are tracked for a user over a specific amount of time. | A session is a collection of activities that occur for a user over a predetermined amount of time. |
The period of time a user is actively engaged with your website or app. There is no automatic user activity detection. | The time a user spends actively using your website or app actively. Automatic user activity detection. |
Depending on the session timeout settings, a session will end after more than 30 minutes of inactivity. | Depending on the session timeout settings, a session will end after more than 30 minutes of inactivity. |
A new session will begin if the user is still logged in at midnight. | At midnight, the session won’t be restarted. Even though a session starts at 11:55 p.m. and ends at 12:05 a.m., it is still counted as one session even though it crosses the day boundary. |
A new session will be initiated if a user selects a different campaign source while still on the website. | If a user chooses a different campaign source while still on the website, their session won’t be restarted. |
The session does not begin to time out when a website or application goes to the background. | The session expires when a website or application goes into the background. |
The duration of the session is calculated as the time elapsed between the first and last hit of the session. | The duration of the session is calculated as the time elapsed between the first and last event of the session. |
A session timeout cannot be less than 1 minute or more than 4 hours. | A session timeout cannot be less than 5 minutes or more than 7 hours and 55 minutes. |
Sessions are counted by counting session metrics. | Sessions are counted by counting session_start events. |
Each time a user initiates a session, a session counter is incremented for that user. | When a session starts, Google automatically collects a session_start event and generates a session ID (ga_session_id) and session number (ga_session_number) via the session_start event. |
Session’s count based only on observed data | Session’s count depends on the “modeled data vs. observed data” settings |
When you implement a consent banner for your website or app, there will be no data and no sessions in GA3 reports about users who decline consent. | Behavioral modeling for consent mode uses machine learning to model the behavior of users and their sessions who decline analytics cookies based on the behavior of similar users who accept analytics cookies. |
You can export sessions and hit data from a Google Analytics 360 account to BigQuery. Daily tables have the format „ga_sessions_YYYYMMDD“. You can query your session counts using SQL-like syntax. BigQuery calculates the number of sessions with greater accuracy than GA3. Only the paid Google Analytics 360 version offers BigQuery Export. | You can export your event data from GA4 to BigQuery. Daily tables have the format events_YYYYMMDD. You can use SQL-like syntax to query your session counts. BigQuery determines the precise number of sessions and does not utilize the HyperLogLog++ algorithm, an effective calculation technique, for session metrics in GA4. |