Web analytics9 min readVisitTrack Team

What Is a Good Bounce Rate for SaaS? An Honest Answer

A good SaaS bounce rate depends on page type and on how your tool defines a bounce. How to read it per page, what inflates it, and how to set your own baseline.

There is no single good bounce rate for a SaaS website: it depends on the type of page and on how your analytics tool defines a bounce. Under the classic definition (a session with only one pageview), most visitors to a blog post or a docs page leave after one page and that is often fine; on a pricing page or a paid-traffic landing page, a high bounce rate is a real problem. Judge bounce rate per page type, against your own history, and next to time on page, scroll depth and conversions.

This post explains why published benchmarks rarely transfer, how the same visit produces very different numbers in different tools, what a high bounce rate does and doesn't mean on each kind of SaaS page, and how to build a baseline that is actually useful.

Key takeaways

  • Classic bounce rate is the share of sessions with exactly one pageview; GA4's bounce rate is the share of sessions that were not engaged.
  • In GA4, a session counts as engaged if it lasts longer than 10 seconds, has a key event, or has two or more page or screen views, so GA4 bounce rates usually run far lower than classic ones.
  • A high bounce rate on a blog post or docs page is normal when people get their answer; on pricing or a paid landing page it signals a problem.
  • Bots, broken single-page-app tracking and duplicate script tags distort bounce rate more than any page design does.
  • The useful benchmark is your own median per page type over the last 90 days, with sudden changes treated as possible tracking issues first.

What is bounce rate, and why do tools disagree?

“Bounce rate” names at least two different metrics. Universal Analytics, many privacy-focused tools and VisitTrack use the classic definition: a bounce is a session with exactly one pageview. GA4 redefined it as the inverse of engagement rate. Neither is wrong, but they are not comparable.

Tool or definitionA bounce is…Effect on a long article read in one visit
Classic (Universal Analytics, most privacy-first tools)A session with exactly one pageviewCounts as a bounce, however long the visitor read
GA4A session that was not engaged: under 10 seconds, no key event, one page or screen viewNot a bounce if they stayed 10 seconds or more
VisitTrackA session with exactly one pageview (classic), shown next to active time on page and scroll depthCounts as a bounce, but the Pages tab shows the reading time and scroll depth

We publish our exact formula, including why single-page sessions report zero session duration, in how we calculate bounce rate and session duration. The short definitions are in the glossary under bounce rate and engagement rate.

How can the same visits produce a 70% and a 30% bounce rate?

A worked example. A blog post gets 1,000 sessions in a week. 700 of them view only that page. Of those 700, 400 stay longer than 10 seconds and 300 leave sooner. None trigger a key event.

MetricCalculationResult
Classic bounce rate700 single-page sessions ÷ 1,00070%
GA4 engaged sessions300 multi-page + 400 single-page over 10 seconds700
GA4 engagement rate700 ÷ 1,00070%
GA4 bounce rate300 unengaged ÷ 1,00030%
Illustrative. Same visitors, same behavior, two very different “bounce rates”.

This is why switching tools so often produces a panicked “our bounce rate doubled” or a celebrated “our bounce rate halved.” Nothing changed except the definition. Before comparing any bounce rate to a benchmark or another tool, find out which definition produced it.

Why don't published bounce rate benchmarks transfer to SaaS?

Industry benchmark figures are usually aggregated across many sites, mix the classic and GA4 definitions (or predate GA4 entirely), blend page types, and rarely say how bots were filtered. A SaaS site whose traffic is 60% blog content will have a very different blended bounce rate from one whose traffic is mostly a homepage and pricing, even if both are doing well. A benchmark that doesn't state its definition, its page mix and its bot filtering is not something to set targets against.

What does transfer is the pattern by page type. The table below describes what a high classic bounce rate typically means on each kind of SaaS page, and what to look at instead of, or next to, the bounce rate.

Page typeIs a high bounce rate a problem?Look at instead
Blog post or guideUsually not; people read and leaveActive time on page, scroll depth, signups that started on this page
Docs pageUsually not; often existing users finding one answerTime on page, search exits, support tickets on the topic
Free tool or calculatorNot if the tool was usedA custom event for “tool used”, then CTA clicks
HomepageDepends; many visitors are heading for loginClicks on the main CTA, login clicks, next page
Pricing pageYes, if visitors arrived to evaluateCTA click rate, scroll depth to the plan table, signup rate
Paid or campaign landing pageYes; the page has one jobConversion rate by campaign, form starts vs completions
Signup or checkoutYes, alwaysCompletion rate per step

What does a healthy bounce rate profile look like?

Here is an illustrative 90-day profile for a developer-focused SaaS, measured with the classic definition and bots excluded. It is one plausible site, not a benchmark, and it is useful mainly for showing how much page types differ.

Page typeShare of entriesClassic bounce rateMedian active timeReached 75% scroll
Blog posts48%82%2m 10s34%
Docs17%64%1m 25s41%
Free tools12%71%1m 50sn/a
Homepage14%46%0m 40s22%
Pricing6%38%0m 55s51%
Comparison pages3%58%1m 35s47%
Illustrative numbers. The blended bounce rate for this site would be about 69%, which says nothing useful about any page.

An 82% bounce rate on blog posts with a median of over two minutes of active reading is a content program doing its job. A 38% bounce rate on pricing is not automatically good either: if pricing visitors click through to the signup page and then abandon the form, the problem is just one step further on. Bounce rate tells you where people stopped navigating, not whether the page worked.

When is a high bounce rate actually a problem?

  • High bounce rate plus very low active time on a page meant to be read. People are leaving before they read, which points at a mismatch between the search result or link and the page, or at a slow first render.
  • High bounce rate on pages whose only job is to move people forward: pricing, campaign landing pages, signup steps.
  • A sudden change on a page you didn't touch. That is more often a tracking or traffic-mix change than a behavior change (see the next section).
  • A big gap between sources on the same page. If search visitors bounce at 60% and visitors from a sponsorship bounce at 95%, the sponsorship's audience or message doesn't match the page.

For pages that are supposed to convert, bounce rate is a weak proxy. Measure the conversion directly; our guide to increasing SaaS landing page conversion rate covers the diagnostics that tell you which step leaks.

What distorts bounce rate besides visitor behavior?

CauseEffect on bounce rateHow to spot it
Bots and uptime monitors that run JavaScriptInflates: one-page sessions with no interactionSpikes from data-center networks or one country; see bot filtering
Single-page app that doesn't report route changesInflates: every session looks like one pageNear-100% bounce on an app with obvious navigation
Script installed twice, or a second pageview fired on loadDeflates toward 0%Bounce rate suddenly under 10% after a deploy
Redirect after landing (locale, login)Deflates or splits the sessionMany sessions with two pageviews a second apart
Cross-domain journey without shared visitor idInflates on the first domainHigh bounce on pages that link to the other domain
Consent banner blocking the script until opt-inChanges which sessions are recorded at allLarge gap between server logs and analytics

Bot filtering deserves the first look on any small site; bot traffic in analytics shows how to check. VisitTrack's tracker records client-side route changes in single-page apps automatically, and the script configuration docs explain the cross-domain setup that keeps one visitor across two of your domains.

What should you track alongside bounce rate?

  • Active time on page: time with the tab visible, measured per pageview, so single-page visits still show how long people read.
  • Scroll depth: the furthest point reached, as a share of page height. It separates people who read from people who glanced.
  • A meaningful event on the page: tool used, code copied, video played, CTA clicked. Send it as a custom event and the session is no longer just a single pageview.
  • Next-page and exit data: where people go from the page, and how often they leave the site from it.
  • Downstream conversions by entry page: how many signups, trials and payments started on each page.

If you want an engagement-rate style metric in a classic-definition tool, define it explicitly: for example, sessions with two or more pageviews, or a single pageview with at least 30 seconds of active time, or any custom event. Write the definition down and keep it fixed, so it can be compared over time.

How do you build your own bounce rate benchmark?

  1. 1.Group pages into types (blog, docs, tools, homepage, pricing, comparison, landing pages) using URL prefixes.
  2. 2.Pull classic bounce rate, active time and scroll depth per page for the last 90 days, humans only.
  3. 3.Compute the median per page type, ignoring pages with fewer than about 100 entries.
  4. 4.Flag pages more than 15 percentage points above their type's median, and pages whose rate moved more than 10 points month over month.
  5. 5.For each flagged page, rule out tracking causes first (bots, redirects, script changes), then look at the source mix, then at the page.
  6. 6.Re-run the same query each month. Your own medians are the benchmark.

Look at bounce rate per entry page, not per page view in general: a page's bounce rate only includes sessions that started there, so it measures how well the page works as a first impression.

What is a good bounce rate for a SaaS website?

It depends on page type and definition. Under the classic one-pageview definition, high bounce rates on blog posts and docs are normal, while pricing and campaign landing pages should keep visitors moving. Compare each page type against your own 90-day median rather than an industry average.

Is a 70% bounce rate bad?

Not necessarily. On a blog post where visitors spend minutes reading, 70% under the classic definition is typical. On a pricing page or a paid landing page, 70% deserves investigation, starting with tracking issues and traffic mix.

What is the difference between bounce rate and engagement rate?

In GA4, engagement rate is the share of sessions that lasted longer than 10 seconds, had a key event or had two or more page views, and bounce rate is the remainder. Classic bounce rate is simply the share of single-pageview sessions, so the two are not directly comparable.

Why did my bounce rate change when I switched from Google Analytics?

Most likely because the definition changed. GA4 counts engaged single-page sessions as non-bounces, while classic tools count every single-page session as a bounce. The same traffic can show 30% in one and 70% in the other.

Why is my bounce rate suddenly near 0%?

Usually a tracking problem: the script is installed twice, or something fires a second pageview on load, so every session has at least two pageviews. Check recent deploys and tag manager changes.

Should I try to lower my blog's bounce rate?

Only if visitors leave without reading. If active time and scroll depth are healthy, focus on converting readers instead, with relevant calls to action and links to product pages, rather than on making them click to a second page.

Keep reading

See which channels actually bring paying customers

VisitTrack is cookie-free analytics with revenue attribution built in. One script tag, no consent banner, live in two minutes. 14 days free, no card required.

14-day free trial · No card required · Cookie-free · Cancel anytime

Or explore the live demo first →