top of page

How Google Analytics 4 Calculates Sessions?

Updated: Jun 2, 2023

It is important to understand what a session, how it is created and how Google Analytics sessions are different than Universal Analytics.

A session is initiated when an app is opened in the foreground or when a web page is opened. But we did have an issue with Universal Analytics which seems a technical limitation of the old platform. Google is fixing this problem with Google Analytics 4. Universal Analytics used to create a new session when the campaign source changed in the mid session, but with new Google Analytics 4 we don't have that issue anymore. Because of this reason Universal Analytic data do not count sessions properly at the moment. It just does not make sense to think a new campaign click a new session , in the middle of an existing visit. That's why you need to switch to Google Analytics 4 as the new platform fixes some of the issues with the old platform. Due to this fix you might see lower session count under Google Analytics 4 compared to Universal Analytics.

Session definition is still same, unless a user inactive for 30 minutes, we count it as 1 session. 1 session can last 24 hours if the user keep using the site and never become inactive over 30 minutes. 30-minutes default timeout is standard default Google is set. Not every business and company is same so the length of a session depends on your site, app and business. You need to pause here and think what is session for you, and adjust it accordingly if you are using session data significantly. Some companies never use sessions, only focus on users, but again this changes depending on the business and even depends on the business issue you are trying to resolve.

Some sites automatically signs a user out after being inactive for a certain amount of time that is defined by technical team due to many different reasons, and if this is the case, you should set the Google Analytics session timeout to match your business length of time.

Session time also depends on your expectations. Session like with any other metrics should be used to test or measure your expectations or hypotheses. If you have a lot of content on your site and if you expect your users to engage with this content long time LENGTHEN the session time. If you have less or fast content, session time should be SHORTENED. Think it this way: If you are online food company, 30 minutes is very long time for a session in this case. Users should be able to order their food under 10 minutes, because hungry people will not spend time to order food. And usually many online food order users order their food in couple minutes. For this business 30 minute session time will not reveal true insight about the business.

Don't forget your implementation and tracking might be true and perfect, but it does not mean that your data will reveal true insights. True data and true insights are not always the same thing.

In order to change 30 minutes rule, go to Admin follow instructions below.

  1. From the property column, click Tracking Info then Session Settings.

  2. Under Timeout Handling, use the controls to set Session timeout and Campaign timeout.

  3. Click Apply.

How Sessions Are Calculated in Mobile Apps in Google Analytics 4?

App sessions are little bit tricky. In Google Analytics as an default an app session begins to time out when an app is moved to the background. I think this is also wrong reflection of user behavior. Good example to my argument above. Your data might be correct but this correct data is not correct insight about user behavior. If you think about your mobile app usage, sometimes we use couple applications at the same time. Since we did not turn off the app, our session is still going on. On web, session does not time out when we move from one tab to another and also from one browser to another or from one browser to other apps on the computer. If you compare web and app it this way, you can see that expiring session when an app is sent to background does not make sense many times with exceptions.

You have the option to extend that session by logging the extend_session parameter (with a value of 1) on events logged while the app is in the background. You can override the default timeout of 30 minutes for an app session by using the setSessionTimeoutDuration method.

Which Google Analytics 4 Variables Calculates and Measures Sessions?

It is always good to know the variables that reports data especially if you want to understand technical sides of analytics. Knowing variables well can also make you to understand raw data and use raw data in more creative ways than your software vendor suggests. This is must-know information, If you are storing raw Google Analytics data in your own database.

Google Analytics uses 2 variables to record sessions "ga_session_id" and "ga_session_number".

  • ga_session_id is a unique session identifier associated with each event that occurs within a session. So each time Google Analytics records an event, it records it with its own session ID.

  • ga_session_number: a parameter associated with each event that occurs within a session that identifies the ordinal position of a session as it relates to a user, e.g., a user's 1st or 5th session. This is a big part of session measurement because it can show us which visit would convert specific type of audience. This is an important data we use in our optimization efforts.

Google Analytics 4 Session Metrics

Google Analytics 4 have 3 session related reports. These definitions are from Google, I will explain them more in other articles.

  • Sessions: The number of sessions that began on your site or app (the session_start event was triggered).

  • Engaged sessions: The number of sessions that lasted 10 seconds or longer, or had 1 or more conversion events or 2 or more page views.

  • Engaged sessions per user: The number of engaged sessions / the number of users

You can see those metrics in the following reports:

  • Acquisition overview

  • User acquisition

  • Traffic acquisition

  • Engagement overview

  • Demographic details

  • Tech details

What is Campaign Timeout under Session Settings?

While we are working under session settings, let's see what is "campaign timeout" is. Campaign timeout will modify Google Analytics' very very long default campaign duration. Another easy default for Google. If you don't change your campaign duration, your campaigns will not expire for 6 months which is a way too long for a campaign to get credit. As an example let's say a somebody clicked your New Years' Ad on December,25. If this person came back to your site or app directly in May, 13 Google Analytics will give credit to New Years Ad campaign, but you know that campaign have ended and there is no way this visit is related to 6-month-old campaign. This visit is actually a direct visit.

Campaign duration is something your business needs to decide. Campaign duration will even differ depending on campaign type. There are macro campaigns like Google Ads brand campaigns and then there are micro-campaigns that might promote an event or product for a few days.

Just get together with related parties and see how to adjust your session and campaign timeouts. It can actually change your reports and insights significantly.

If you want to get most out of your Adobe Analytics or Google Analytics implementation you can contact me on Linkedin for consulting or training. I both provide implementation services and business analysis and training services. I have 14 years experience to implement and use Adobe Analytics and digital analytics with big brands like Expedia, American Airlines, Best Western International, ING Bank, Vodafone, Buhler Group. Unfortunately many Adobe Analytics experts out there only tool analysts, they do not have significant product development experience. I have been developing digital products since 1999. Adobe Analytics has become my biggest support for an insight and that's why I learned it very well. I am certified Adobe Analytics architect.

You can also view my company website:

My other passion is food, visit my site to see all my recipes:)

Recent Posts

See All



sibel flowers.JPG

You can reach me through Linkedin  If you want to start a conversation.

Subscribe to the site to get informed about new articles

Sibel Akcekaya

Thanks for submitting!

bottom of page