Why Visitors Leave — and What Actually Reduces Bounce Rate
The metric changed in 2023 and most advice about it didn't. What it measures now, what it can't tell you, and the handful of fixes that reliably help.
Bounce rate is the metric people most often try to improve without checking what it measures — and most advice about it was written for a version of Google Analytics that no longer exists.
What changed in 2023
Universal Analytics stopped processing data in July 2023. It's worth being specific about this, because it invalidates a great deal of still-circulating advice, including the earlier version of this article.
In Universal Analytics, a bounce was a session with exactly one interaction hit. If someone landed, read for twenty minutes, and left without clicking anything, that counted as a bounce identical to someone who left in two seconds. The metric couldn't tell the two apart.
GA4 replaced it with engaged sessions. A session counts as engaged if it lasts longer than about ten seconds, or includes a key event (what GA4 called a conversion until the 2024 rename), or includes at least two page views. Bounce rate in GA4 is simply the inverse: the percentage of sessions that were not engaged.
Because the definitions differ, GA4 bounce rate and UA bounce rate are not comparable. A drop or spike when a site migrated between them is a measurement artefact, not a change in behaviour. Any target number you were given before 2023 was calibrated against a metric that no longer exists.
What the number actually measures
Even in its improved form, it's a blunt instrument. It tells you a visitor arrived and left without meeting a low bar for engagement. It does not tell you why — and the reasons are wildly different in what they imply:
- The page wasn't what they were looking for.
- It was exactly what they were looking for, and they got the answer immediately.
- It took too long to load and they gave up.
- Something interrupted them before they started.
Two of those are problems. One is a success. One is a technical failure. Treat the number as a prompt to investigate, not a score to optimise.
Why benchmarks are mostly useless
Published "average bounce rate by industry" tables are worth very little. They aggregate wildly different site types, traffic sources and analytics configurations, and — since 2023 — often mix two incompatible definitions of the metric.
The only comparison that reliably means something is your own page against itself over time, or two of your own pages against each other where traffic source and intent are similar. If a page's rate jumps after a change you made, that's signal. If it's higher than a number in someone's blog post, that's noise.
Cause one: the page isn't what they wanted
This is the most common and the least technical. Someone searched a question, your page appeared, the title suggested an answer, the page delivered something else.
The fix is editorial, not technical: make the title and opening honestly describe what the page contains, and put the answer near the top. A page that promises a comparison and opens with six paragraphs of preamble will lose people who came for the comparison — reasonably.
Check which queries actually bring people to a page (Search Console shows this), and read the page as if you'd arrived from each one.
Cause two: it took too long
People leave pages that don't respond. This is measurable, and the useful measurements today are the Core Web Vitals:
- LCP (Largest Contentful Paint) — when the main content becomes visible. Under 2.5 seconds is the "good" threshold.
- INP (Interaction to Next Paint) — how quickly the page responds when someone interacts. Under 200 ms is "good". This replaced FID in March 2024.
- CLS (Cumulative Layout Shift) — how much content jumps around while loading. Under 0.1.
CLS is the one most often overlooked and most directly infuriating: if a button moves as an image finishes loading and the visitor taps the wrong thing, that's a self-inflicted bounce. Reserving space for images and embeds fixes it.
The usual heavy costs are unoptimised images and unnecessary JavaScript — see What Actually Makes a Web Page Interactive for when script weight is genuinely earning its place.
Cause three: it's unpleasant to read
Structural, not stylistic. Things that reliably help: a readable line length, adequate line height, real headings that let someone skim to the part they want, and enough contrast to read comfortably on a phone in daylight.
Things that reliably hurt: walls of unbroken text, low-contrast grey-on-white body copy, and text that requires horizontal scrolling on a narrow screen.
Most visitors are on a phone. If a page hasn't been read on one, it hasn't really been checked.
Cause four: something got in the way
A newsletter modal before the first paragraph. A cookie banner covering the content. A chat widget over the primary action. Autoplaying video.
Each is added deliberately, usually to improve a different metric, and each gives some proportion of visitors a reason to leave before reading anything. If an interruption is genuinely necessary, delaying it until someone has actually engaged with the page costs nothing and annoys far fewer people.
When leaving quickly is fine
Worth stating plainly, because it's the part most advice omits: for some pages, a visitor arriving, getting what they came for, and leaving is a complete success.
Reference pages, definitions, opening hours, a phone number, a single command someone forgot — these should be fast to leave. Adding friction to keep people longer would make them worse. Trying to reduce bounce rate on a page whose job is to answer instantly is optimising against your own reader.
The question worth asking is never "is this number too high?" It's "did this page do what the visitor needed?" Sometimes the honest answer is yes, in nine seconds.
Launching a website? Use the Website Launch Checker →