image visualizing bounce rate

Demystifying Bounce Rate

If you want to optimize the performance of your website it is essential to understand all the aspects aggregated in the diverse web analytic metrics. One of the most popular but usually misunderstood metrics is the Bounce Rate.

Why care about your Bounce Rate?

When measured accurate – it is a good indicator for the quality of your website: a high percentage of people repelled from your website are a strong signal for you to optimize your content.

How is the Bounce Rate measured?

In the beginning a quote from Google Analytics online help:

Bounce Rate is the percentage of single-page sessions (i.e. sessions in which the person left your website from the entrance page without interacting with the page).

Following this definition, the Bounce Rate is calculated as follows:

bounce rate formula
The bounce Rate Formula

Important in this definition is the emphasized part: “without interacting”! Most web analytics solutions tracking by default only the Page Views and no other website interactions. So an user leaving an page instantaneously (bouncing of that page) and an user viewing it for a longer time before leaving, will be aggregated together in a overall (to high) Bounce Rate.

What counts all toward the Bounce Rate?

  • clicking the “back” button of the web browser

  • closing the tab with a website

  • closing the window with a tab where the website is opened

  • typing an new URL in the address bar of the browser window

  • choosing an bookmark to open in the tab with a website

  • “session timeout” – triggered by the web analytics itself: here the website is opened the user is not interacting with it for a longer time (depending on the “session timeout time”, configured in the web tracking solution)

  • the special case “outklick”: klicking an outgoing – external link (when the web analytics is not tracking it as form of interaction and / or it is not counted as such)

How to track an more accurate Bounce Rate?

To measure an accurate Bounce Rate web analytics has to solve the difficult problem to track a user not much interacting with a website on a technical level. Basically the web tracking solution has to be “somehow” informed about an user not doing so much beside scrolling a page in a browser window.

There are several ways to reach that objective, depending on your tracking technology. The goal is to measure interactions other than Page Requests or at least how long an user stays on a page. Yandex Metrica for example has an option to set “Accurate Bounce Rate” to count Page Views which last longer than 15 seconds NOT as bounce. Other solutions involving the setting of conversion goals in your web analytics which could be reached for example by an user scrolling to the end of the page (“reading it to the end”).

If your web analytics is based on processing of server access logs you could basically use the same methods: one solution would be the regular pinging of your server via AJAX in the background. The other solution would be an user interaction based requesting of resources from your server. An example for this would be the implementation of lazy-load (where an image is only loaded when it could be seen by an scrolling user, which by the way optimizes your page load speed). Also an hidden request fired on the onUnload-event of the Browser would be a possible solution (but there are some browser compatibility issues with that and it wont work always if the window is closed completely).

To sum this up: a user just reading an single page is not leaving much information for an web analytic software to distinguish him from an user doing nothing ore an user quickly leaving that page.

There are in principle three main methods to solve this problem: measuring interactions when scrolling, pinging in fix time intervals and firing an tracking event on page unload. (Of cause, this methods could be combined.)


The following types of Single Page Sessions are called Hard-Bounce:

  • Sessions within an defined engagement time interval to short to assume any (meaningful) interaction with that page (e.g. 15 seconds in the Yandex example)

  • Sessions without any measurable further interaction with other site elements like mouse-over- or scroll-events


Singe Page Sessions where user interacting with some page elements or Sessions longer than the chosen time interval are then called Soft-Bounce.

How to gain an even more accurate Bounce Rate?

To distinguish between Soft-Bounces and Hard-Bounces there has a time interval to be defined within which an user could not really consume the content of a page.

But what would be an good time interval? In the web tracking literature one could find times between 5 and 10 seconds. Yandex has chosen a rather conservative time interval with 15 seconds. But chosing the optimal time is even more complicated when taking the differences in website layouts and content lengths into account. An elegant solution would it be to choose the average loading time of that page ore the average over all pages of that website.

This would give an new definition of the Hard-Bounce-Rate:

The Hard Bounce Rate is percentage of “users visiting only one page for a time shorter than the average page loading time” of all the “total users viewing only one page”.

Unfortunately it is also not so simple to measure an accurate page loading time, because it is dependent of the server performance (which is also dependent from the visitor numbers which are further dependent of variables like the day time) and the average connection capacity of the users, their geographic location and many more.

The page speed is an Google ranking criterion of its own, and you should optimize this regardless of your Bounce Rate. Because of this Google is reporting an average page loading time via its Webmaster Tools. You could also get this even more accurate via specialized monitoring providers.

How about SEO? Is the Bounce Rate an Google Ranking-Signal?

There is the ever lasting SEO Myth Google would use the Bounce Rate as an Ranking signal for websites. But does that make sense?

The Bounce-Rate of a Website is probably not an ranking signal. Google would have the same problems to calculate an accurate BR like every web analytics software. Additionally they had not complete access to all the necessary data and they could to that on theory only at websites which install some Google services like Google Analytics. Further on that, Google could not calculate an comparable Bounce Rate for every website what would make it an bad ranking signal.

What Google is probably measuring is something connected with the Hard-Bounce-Rate. On could call it the SERP-Return-Rate. (A SERP is an “Search-Engine-Result-Page”.) My own definition of that would be as follows:

The SERP-Return-Rate is the Percentage of users which RETURN to a Search Result Page after clicking on a result within a certain time frame to short to assume an meaningful interaction with that clicked result.

The Visual of this Post is made by Dieter Hoffmann