Google Analytics 4 Sessions Do Not Restart at Midnight

Cody Schneider8 min read

If you come from the world of Universal Analytics (UA), you probably got used to one simple rule: sessions always reset at midnight. That behavior is completely gone in Google Analytics 4. A user can start browsing your website at 11:50 PM and continue well past midnight, and GA4 will still count it as a single session. This article will break down how GA4 sessions really work, why the midnight reset is a thing of the past, and what this change means for your data analysis.

GraphedGraphed

Still Building Reports Manually?

Watch how growth teams are getting answers in seconds — not days.

Watch Graphed demo video

What is a "Session" in Google Analytics 4?

In Google Analytics 4, a session is a lot simpler than its predecessor. It's essentially a group of events that a user triggers on your website or app within a specific time frame. Think of it as a container for all the actions one person takes in a single visit.

Each session kicks off with a special event called session_start. This is one of the events that GA4 collects automatically for you. When a user first lands on your site, GA4 checks to see if they have an active session. If they don’t, it fires a session_start event and associates a unique session ID with that user's activity. Every subsequent event from that user - like a page_view, scroll, or click - gets tagged with that same session ID until the session ends.

Unlike Universal Analytics, GA4 sessions don't end just because the source/medium changes (e.g., a user clicks a referral link, leaves, then comes back via Google search a few minutes later) or because there's a certain "hit" limit. The only thing that ends a session is user inactivity - more on that next.

This streamlined approach provides a more realistic picture of user behavior. It’s less about arbitrary breaks in data collection and more about measuring a continuous period of user engagement.

GraphedGraphed

Still Building Reports Manually?

Watch how growth teams are getting answers in seconds — not days.

Watch Graphed demo video

Forget Midnight: When a GA4 Session Actually Ends

Here’s the biggest mindset shift you need to make with GA4: sessions are no longer bound by the clock. The primary way a session ends in GA4 is through a timeout based on user inactivity.

By default, GA4 sets this session timeout to 30 minutes. This means if a user is inactive on your site (no clicks, scrolls, or other events triggered) for 30 minutes, their session automatically closes. If that same user returns after the 30-minute window has passed, GA4 will start a new session for them.

Most importantly, sessions do not restart at midnight. This is a huge departure from Universal Analytics and one that causes a lot of confusion.

The Midnight Myth, Debunked

This is a critical point for anyone analyzing daily performance. In Universal Analytics, a customer browsing your e-commerce store at 11:55 PM on Tuesday who completed a purchase at 12:05 AM on Wednesday would be recorded as having two separate sessions - one for Tuesday and one for Wednesday. This often inflated session counts and made mapping a single user journey difficult.

GA4 corrects this. In the same scenario, this would be counted as one continuous session. Because the user was never inactive for more than 30 minutes, their session simply continued across the midnight hour. What's more, GA4 attributes the entire session to the date it started. So, that full user journey - from landing on the site to making a purchase - would be counted as a single session that occurred on Tuesday.

This user-centric approach provides much more accurate data, especially for attributing conversions that happen during these late-night browsing periods.

GraphedGraphed

Still Building Reports Manually?

Watch how growth teams are getting answers in seconds — not days.

Watch Graphed demo video

How to Change Your Session Timeout Settings

The default 30-minute timeout works for many websites, but it’s not always the right fit. For example, if you publish long articles, tutorials, or have videos that take over 30 minutes to watch, you might want to extend the timeout period to avoid artificially splitting sessions of highly engaged users.

Adjusting this setting in GA4 is straightforward. Follow these steps:

  1. Log in to your Google Analytics 4 property and click on Admin (the gear icon) in the bottom-left corner.
  2. In the Property column, click on Data Streams.
  3. Select the appropriate web data stream for your website.
  4. Scroll down and click on Configure tag settings under the "Google tag" section.
  5. Under the Settings header, click Show more if needed, and then select Adjust session timeout.

On this screen, you’ll find two important options:

  • Session timeout: Here, you can change the duration of inactivity that will cause a new session to begin. You can set this as low as 5 minutes or as high as 7 hours and 55 minutes. Adjust this based on how users typically consume your content.
  • Engaged session timer: This setting determines how long a user must remain active for their session to be classified as "engaged." The default is 10 seconds, but you can adjust it up to 60 seconds. This is tied to the concept of Bounce Rate vs. Engagement Rate in GA4.

Consider the content on your site. For a blog with 45-minute reads, a 1-hour timeout might be more appropriate. For a simple landing page or a tool where interactions are quick, the 30-minute default is likely perfect.

Why Did Google Get Rid of the Midnight Reset?

This change wasn't random, it reflects Google's shift toward a more sophisticated, user-centric model of measurement. Ridding the system of the arbitrary midnight deadline offers several key benefits:

  • More Realistic User Journeys: A user doesn’t stop their journey and start a new one just because the clock strikes 12:00 AM. By allowing sessions to continue, GA4 provides a more holistic view of how a user truly interacts with your business over time.
  • No More Inflated Session Metrics: In UA, a single user browsing from 11:45 PM to 12:15 AM created two sessions. GA4 records this as one, giving you a cleaner, less inflated session count that more accurately reflects actual user visits.
  • Better App and Web Data Integration: The session timeout model is better suited for mobile apps, where the concept of a "daily" session isn't as relevant. Since GA4 is designed to track users across both web and apps, this unification makes cross-platform analysis much smoother.
  • Improved Attribution: A conversion that finalizes just after midnight can now be correctly attributed to the campaign, ad, or keyword that brought the user to your site minutes earlier. In UA, that attribution was often lost, with the second session being incorrectly labeled as (direct) / (none).

What This All Means for Your Marketing Reports

Understanding this change is crucial because it directly influences your key metrics and reporting workflows.

Your Session Count Might Look Lower

If you're comparing GA4 data to a similar period in Universal Analytics, don't be alarmed if your session count in GA4 seems lower. This isn't a sign of less traffic, it's an indicator of more accurate tracking. You're simply eliminating the artificially inflated sessions that UA used to create for users browsing over midnight.

GraphedGraphed

Still Building Reports Manually?

Watch how growth teams are getting answers in seconds — not days.

Watch Graphed demo video

Improved Accuracy for Google Ads

If you import GA4 conversions into Google Ads for auction-time bidding, this new session logic is a significant advantage. An ad click that leads to a session starting at 11:55 PM which converts at 12:10 AM will be counted as a single, successful session. The conversion credit goes directly to the ad click, giving you a clearer picture of your campaign ROI and helping you make smarter budget decisions.

How to Think About 'Daily' Time-of-Day Reporting

Remember that GA4 attributes sessions to the date and time they start. A session that begins at 11:30 PM on Monday and ends at 12:30 AM on Tuesday will appear in all of Monday's reports. This is important to keep in mind when analyzing user behavior at the edges of the day.

Final Thoughts

Google Analytics 4's approach to sessions - eliminating the midnight reset in favor of an inactivity timeout - is a major step forward for marketers and analysts. It brings a more accurate, user-focused model that helps you better understand how people genuinely engage with your brand without arbitrary technical limitations.

Of course, becoming an expert on every detail of GA4, not to mention your other marketing and sales platforms, takes time. Staying on top of which campaigns are driving sales or why traffic dropped requires hours of digging through different analytics dashboards. We built Graphed to cut through that complexity. It connects to all your data sources so you can ask plain-English questions like, "Which campaigns drove the most new engaged sessions last month?" and instantly get real-time dashboards and answers without all the manual report-building.

Related Articles

How to Enable Data Analysis in Excel

Enable Excel's hidden data analysis tools with our step-by-step guide. Uncover trends, make forecasts, and turn raw numbers into actionable insights today!