TL;DR, Quick Answer
7 min readGoogle Analytics 4 defines bounce rate as the percentage of sessions that were not engaged, so it always equals 100% minus engagement rate. A session counts as engaged when it lasts longer than 10 seconds, has a key event, or has 2 or more page or screen views, and the 10-second timer can be changed in the Google tag settings. Universal Analytics counted a bounce as a single-page session with one hit, which is why GA4 numbers come out lower. Most GA4 reports leave the metric out, so an Editor or Administrator adds it with Customize report.
What is GA4 bounce rate?
Google Analytics 4 reports GA4 bounce rate as the percentage of sessions that were not engaged, which makes it the exact mirror of engagement rate. Google's help article on the two metrics puts it in two sentences: "The bounce rate is the opposite of the engagement rate. The bounce rate is the percentage of sessions that were not engaged." Add the two numbers for any date range and you get 100%.
That one rule explains everything else on this page. GA4 does not count bounces at all. It counts engaged sessions, and bounce rate is whatever is left over. So the useful question is never "why did people bounce?" in the abstract. It is "which of the three engagement conditions did these sessions fail?"
What makes a session engaged in GA4?
A GA4 session is engaged when it meets any one of three conditions, and Google's help article lists them exactly:
- "Lasts longer than 10 seconds"
- "Has a key event"
- "Has 2 or more screen or page views"
Hitting one is enough. A visitor who reads a single article for two minutes passes on time alone. A visitor who clicks through two pages in four seconds passes on page views. A visitor who lands, waits eight seconds and closes the tab fails all three and becomes a bounce.
Two details from the same article trip people up. Google notes that "Events such as first_visit, first_open, and session_start are excluded from the calculation of your engaged sessions even if it is marked as a key event," so marking session_start as a key event does not turn every session into an engaged one. Google also says the is_engaged_session_event parameter "has been added to all events to improve the accuracy" of both metrics. The full mechanics of the engagement side sit in our page on engagement rate; this page stays on the bounce side.

Can you change the 10-second engaged-session timer?
Yes. The timer lives in the Google tag settings, not in a report, and Google's tag settings article states that "The default threshold for engagement time is 10 seconds but can be adjusted here." Change it like this:
- In Google Analytics, open Admin.
- Under Data Streams, click your web stream.
- Open the Google tag settings and click Show all.
- Select Adjust session timeout.
- Under Adjust timer for engaged sessions, pick the number of seconds.
- Click Save.
Raising the timer raises bounce rate on identical traffic, because every single-page session between 10 seconds and the new value that fires no key event moves into the not-engaged bucket. Google's article says nothing about rewriting sessions collected before the change. Treat the edit date as a break in the series, and write the current timer into any dashboard that shows bounce rate so nobody compares two different definitions under one name.
How is GA4 bounce rate different from Universal Analytics bounce rate?
Universal Analytics counted a bounce as a session with a single hit, while GA4 counts a bounce as a session that failed every engagement condition. Google's legacy Universal Analytics article defines it as "a single-page session on your site," calculated as "a session that triggers only a single request to the Analytics server." Time on page played no part. A visitor who read one page for five minutes and left was a bounce in Universal Analytics, because no second hit reached the server.
| Session | Universal Analytics | GA4 (10-second timer) |
|---|---|---|
| One page, 3 minutes reading, no events | Bounce | Engaged, not a bounce |
| One page, 6 seconds, then leaves | Bounce | Bounce |
| Two pages in 5 seconds | Not a bounce | Engaged, not a bounce |
| One page, 6 seconds, one key event | Not a bounce if the event sent an interaction hit | Engaged, not a bounce |
| One page, 6 seconds, a scroll event that is not a key event | Not a bounce if the event sent an interaction hit | Bounce |
The first row is where most of the difference comes from. Blogs, docs pages and landing pages with one long read produce exactly those sessions, and GA4 moves all of them out of the bounce count. Our Universal Analytics vs GA4 breakdown covers the rest of the data model change.
Why is GA4 bounce rate lower than my old number?
GA4 bounce rate comes out lower because the 10-second condition rescues every single-page session where the visitor stayed past the timer, and Universal Analytics counted all of those as bounces. Nothing about your site changed. The metric did.
This is why an old benchmark cannot judge a GA4 number. A figure built on the single-hit rule and a figure built on the engaged-session rule share a name and nothing else. If you want ranges to compare against, what counts as a good bounce rate groups them by page type and spells out which definition each one assumes. Better still, compare a page against its own trailing months in the same GA4 property with the same timer.
Where do you find bounce rate in GA4 reports?
Most GA4 reports leave bounce rate out, and an Editor or Administrator has to add it to a detail report with Customize report. Google's help article states that "By default, most reports in Google Analytics do not include the engagement rate and bounce rate metrics." The steps:
- Sign in to Google Analytics and select Reports.
- Open a detail report, such as Pages and screens.
- Click Customize report in the upper-right corner. Google notes that if you don't see the button, you don't have an Editor or Administrator role.
- In Report data, click Metrics. If you only see Add Cards, you are in an overview report, and Google only allows metrics on detail reports.
- Click Add metric, type "Bounce rate", and add "Engagement rate" too.
- Click Apply, then save the changes to the report.
Google says the two metrics appear "as the last two columns in the table," so scroll right if the table is wide. Viewers without an Editor role cannot do this themselves. Ask whoever administers the property to add the columns once, for everyone.

Flowsery
Start Your 14-Day Free Trial
Real-time dashboard
Goal tracking
Cookie-free tracking
How should you read a GA4 bounce rate?
Read GA4 bounce rate per page and per channel, then check which engagement condition the bounced sessions failed. Google's own advice for a weak engagement rate is to check "whether it's uniformly low or whether it's the result of certain channels, source/medium pairs, pages or screens, or something else."
Three checks cover most cases:
- A single page stands out. Compare what the ad or link promised with what the page delivers, and look for a clear next step.
- A single channel stands out. Google's example is display traffic bouncing because the ads do not match the site content.
- Everything is high at once. Look at the tag before the content. Google points to pages that are not tagged, or tagged incorrectly.
Watch what counts as a key event, too. Marking a minor event as a key event lowers bounce rate without any visitor doing anything new, and key events in GA4 explains why that list deserves care. A bounce rate that drops the day someone edits key events is a configuration change, not an improvement.
How does Flowsery report bounce rate?
Flowsery shows Bounce rate in the stats row at the top of its dashboard, next to Visitors, Revenue, Conversion rate and Session time. Its Overview API endpoint, /api/v1/overview, returns bounceRate as a percentage together with avgSessionDuration and avgEngagedTime in seconds, and its filters cut every figure by page, entry page, referrer, channel, campaign, country or device. Flowsery's docs do not publish a bounce formula in the form Google publishes its engaged-session rule, so treat a Flowsery bounce rate and a GA4 bounce rate as two different measurements and compare each tool only with itself over time. The web analytics dashboard page shows traffic, sources, top pages, goals, funnels and revenue in that same view.
Frequently asked questions
Is GA4 bounce rate the same as 100% minus engagement rate?
Yes. Google defines bounce rate as the percentage of sessions that were not engaged and calls it the opposite of engagement rate. A 62% engagement rate is a 38% bounce rate on the same date range and filters.
Does a long visit to one page count as a bounce in GA4?
No. A session that lasts longer than 10 seconds counts as engaged, so a long single-page read is not a bounce. In Universal Analytics, the same visit was a bounce unless it sent a second hit.
Can I change what GA4 counts as a bounce?
You can change the time condition. In Admin, open your data stream, go to the Google tag settings, select Adjust session timeout and set the timer for engaged sessions. The key event and 2-page-view conditions stay fixed, though you control which events are key events.
Why can't I see bounce rate in my GA4 reports?
Most GA4 reports do not include it by default. An Editor or Administrator adds it with Customize report, under Report data, then Metrics, then Add metric. Google only allows this on detail reports, not overview reports.
Why did my bounce rate drop when I moved to GA4?
GA4 counts single-page sessions longer than 10 seconds as engaged, while Universal Analytics counted any single-hit session as a bounce. Long single-page reads moved out of the bounce count. The drop comes from the definition, not from visitors.
Does marking more key events lower GA4 bounce rate?
Yes. A session with a key event counts as engaged, so every new key event can move sessions out of the bounce count. Google excludes first_visit, first_open and session_start from that rule even when they are marked as key events.
What is a good bounce rate in GA4?
There is no single number. GA4 and Universal Analytics measure different things, so an old benchmark does not carry over. Ranges also differ by page type, so check which definition a range assumes before you compare. The safest benchmark is the same page's own trailing months in the same property with the same timer.
Does GA4 calculate bounce rate per session or per user?
Per session. Google defines bounce rate as the percentage of sessions that were not engaged, so each visit is judged on its own against the three engagement conditions.
Does changing the engaged session timer rewrite my old bounce rate data?
Google's article says nothing about rewriting sessions collected before the change. Treat the edit date as a break in the series. Write the current timer into any dashboard that shows bounce rate so nobody compares two definitions under one name.
Is Flowsery bounce rate the same as GA4 bounce rate?
Not necessarily. Flowsery's docs do not publish a bounce formula in the form Google publishes its engaged-session rule. Treat the two as different measurements and compare each tool only with itself over time.
Was This Article Helpful?
Let us know what you think!
See us more often in Google
One click marks Flowsery as a preferred source, so our articles sit higher in your Top Stories, AI Mode, and AI Overviews.
Before you go...
Flowsery
Revenue-first analytics for your website
Track every visitor, source, and conversion in real time. Simple, powerful, and cookie-free.
Real-time dashboard
Goal tracking
Cookie-free tracking
Related Glossary Terms


How GA4 Decides Which Visits Are Engaged Sessions
GA4 counts engaged sessions as visits that pass 10 seconds, fire a key event, or record two page views. How each trigger fires and where the count misleads.


Reading Engagement Rate in Google Analytics 4
GA4 reports engagement rate as engaged sessions divided by total sessions. A session counts as engaged at 10 seconds, one key event, or two page views.


What the GA4 Landing Page Report Counts and Where It Goes Blank
Google's GA4 landing page report lists the first page of every session. Where to find it, its default metrics, why (not set) rows appear and how to add source.


How GA4 Site Search Tracking Records What Visitors Type
Set up GA4 site search with enhanced measurement, add your own query parameters, find the Search term dimension and track searches without a URL.


Setting GA4 User Properties and Reporting on Them
Set GA4 user properties with gtag or Tag Manager, register them as user-scoped custom dimensions and stay inside the 25-property limit.


How to Link Search Console to GA4 and Publish Its Reports
Learn how to link Search Console to GA4 in Admin, which roles you need, how to publish the two reports in Library and what the data can't join.
Related Articles


How to Build GA4 Calculated Metrics Inside a Five-Slot Quota
Google caps GA4 calculated metrics at 5 per standard property. Learn the formula syntax, the units, where they appear and what a formula can't use.


Setting Up GA4 Content Grouping With One Parameter
Set up GA4 content grouping with the content_group parameter in gtag or Tag Manager, read the Content group dimension and keep (not set) rows out.


How to Add Google Analytics Annotations in GA4 and Keep a Change Log
In GA4, Google Analytics annotations pin a dated note to line graphs. Who can add them, the 60 and 150 character limits, the 1,000 cap, and change log use.

