
Revenue per channel in GA4
Not sure where to look when you want to see revenue by channel? Find out the different approaches here.
Let’s talk about the absolute basics.
You can have the most sophisticated conversion tracking in the world, but if you don’t understand the fundamental building blocks of your data—specifically Sessions—your analysis is going to be on shaky ground.
So, how exactly does GA4 handle sessions, and more importantly, how can you configure them to suit your specific business needs?
Let’s explore.
In simple terms, a session initiates when a user interacts with your website or app (opening it in the foreground or viewing a page) and no session is currently active.
So, like, when someone is on your website, and wasn’t previously.
By default, a session times out after 30 minutes of user inactivity.
There is no limit to how long a session can actually last, provided the user keeps interacting.
When a session starts, Google automatically fires a session_start event.
This is the heartbeat of your session data.
At this moment, GA4 generates two key pieces of data associated with that user via gtag.js:
Session ID (ga_session_id): This identifies the specific session.
Session Number (ga_session_number): This counts how many sessions that specific user has had.
GA4 then calculates the total number of sessions on your site by estimating the number of unique Session IDs.
Seeing no session_start data?
Here’s a great overview from Julius Fedorovicius on what could be occuring.
If you’ve been in the industry a while, you’ll remember the quirks of Universal Analytics. GA4 has smoothed out some of these rough edges, but it means your data will look different.
Here are the three major changes you need to be aware of:
1. The Midnight crossover
In the old UA model, if a user was browsing your site at 11:55 PM and kept reading until 12:05 AM, a new session would force-start at midnight. In GA4: The session continues smoothly into the next day. No artificial inflation of session counts just because the clock struck 12.
2. Campaign interruptions
Previously, if a user clicked a link from one campaign, and then mid-session clicked a link from a different campaign, the original session would break, and a new one would start. In GA4: The session continues. It doesn’t matter if they open a new tab via a new campaign link; if the timeout hasn’t hit, it’s still the same session.
3. No page view required
This is a subtle one. GA4 can start a session without a page view event, whereas UA generally relied on that page view to get things going.
The standard 30-minute timeout works for most, but it’s not a one-size-fits-all rule.
If you run a site with long-form content—say, huge whitepapers or 45-minute video tutorials—a user might be “inactive” (not clicking anything) for longer than 30 minutes while they consume your content.
In the default setup, their session would time out. When they finally click “Next,” a second session starts. This splits your data and makes engagement look lower than it is.
Fortunately, you can change this. You can extend the session timeout up to 7 hours and 55 minutes—almost a full day at the office.
How to adjust it:
It’s also within this section you can adjust the timer for an engaged session – a crucial element for engagement rate.
You’re likely asking, “If sessions don’t break when a new campaign is clicked, how does attribution work?”
The session_start event carries the information that determines attribution (like your GCLID for Google Ads or UTM parameters).
However, the attribution model for sessions remains the non-direct last click model.
Also, keep in mind that the “Key Event Lookback Window” (formerly conversion window) is determined by your “All other conversion events” settings, which defaults to 90 days.
GA4 introduces new metrics that give us a better view of user quality, not just quantity. You should get familiar with:
You can find these in the standard Acquisition (User and Traffic) reports, as well as Engagement and Monetisation reports.
Pro Tip: Don’t settle for the default reports. Go into the “Library” section and customise your reports to bring Engaged Sessions and Engagement Rate front and centre if they aren’t there already.
Understanding sessions is the first step to trusting your data again.
While the shift from UA to GA4 has been a headache for many, the new session logic is arguably more accurate to how humans actually behave online—ignoring arbitrary midnight cut-offs and handling campaign switching more intelligently.
Take five minutes today to check your timeout settings. Does 30 minutes make sense for your content?
If not, adjust it. It’s a small tweak that could make a significant difference to your engagement numbers.
How long does a GA4 session last?
By default, a session ends after 30 minutes of user inactivity. However, there is no limit to the total duration of a session as long as the user remains active. You can adjust the timeout setting up to 7 hours and 55 minutes.
Does a new session start at midnight in GA4?
No. Unlike Universal Analytics, GA4 sessions do not restart at midnight. If a user is active across the day boundary, it is counted as a single session.
What is the difference between Session ID and Session Number?
The ga_session_id is a unique timestamp generated when a session starts to identify that specific visit. The ga_session_number is a count of how many sessions that specific user has initiated up to that point (e.g., their 3rd or 4th session).

Not sure where to look when you want to see revenue by channel? Find out the different approaches here.

Learn to use the GA4 Pages and Screens report to analyse engagement, filter content, and measure specific page performance.


Learn how to route GA4 and GTM alerts directly to Slack for immediate team visibility.
Author
Hello, I'm Kyle Rushton McGregor!
I’m an experienced GA4 Specialist with a demonstrated history of working with Google Tag Manager and Looker Studio. I’m an international speaker who has trained 1000s of people on all things analytics.