Understanding & Troubleshooting Low Bounce Rates in Google Analytics

Reading Time:

Sounds like an oxymoron right?! Digital marketers long for a low bounce rate, so why would anyone be concerned about a low bounce rate. In fact, this metric is normally a key website KPIs for most organizations. Let’s begin by understanding what are bounce rates.

As defined by Google’s support center, “A bounce is a single-page session on your site. In Analytics, a bounce is calculated specifically as a session that triggers only a single request to the Analytics server, such as when a user opens a single page on your site and then exits without triggering any other requests to the Analytics server during that session.

If you have a high website bounce rate, it suggests people are finding your site but leaving without taking any action. This generally stems from numerous reasons, such as long page load times, overwhelming/intrusive ads and popups, non-user friendly design (non-skimmable content), and for most irrelevant site content.

High bounce rates don’t always signify a problem, however, the goal for most marketers and website owners is to analyze their bounce rates to identify areas for improvement. Understanding your bounce rate will help you better understand the level of engagement on your site and best tailor your content and (macro/micro) goals to align with you and your site visitors.

What Are Low Bounce Rates?

A low bounce rate is a marker for high quality, engaging and relevant content. However, sometimes a bounce rate seems simply too good to be true. The average tends to be somewhere between 41% and 55% with anything between 26% and 40% being exceptionally good. That said, anything over 56% is not necessarily cause for alarm as it depends on the website and industry. I think it is fair to say that anything hitting more than 70% is quite disappointing as you are losing the traffic that has taken time to earn.

What about when you have a bounce rate less than 25%? Is it time to get the champagne out and celebrate? Possibly. Unless you have the most incredible landing page known to man, having a bounce rate this low in a mobile heavy world is quite unlikely and it may point towards something being wrong in the configuration.

Considerations for Low Bounce Rates

Even if you think you have the best content ever and your bounce rate seems to validate, here are some parts of Google Analytics configuration you should audit to double-check everything is ok.

Event Tracking is Fired Automatically

If you ever check Google Analytics and find that one of your pages has a 0% bounce rate, this tends to be the most common reason.

The cause is where an event is sent to Google Analytics at the exact same time a pageview hit has been sent. This means that Analytics interprets two separate interactions when there has only been one. For example, you may have accidentally told your tracking code to send Analytics a message when the page finished loading. There could have been a logical reason for this but in general, only events that are triggered by the user should be sent to Google Analytics.

If there are non-user triggered events required, there are options for setting them upon a non-interaction basis so that they don’t count towards the bounce rate.

Event tracking is the first thing to check, especially if you have pages showing a 0% bounce.

Double Loading Google Analytics

This one has been reported as an issue with self-build (no code) sites like WordPress in the past. It is similar to the event tracking problem but happens when Google Analytics is loaded twice on one page. For example, if you load the Google Analytics tracking code an additional time, it sends a second pageview hit and creates an automatic non-bounce.

The reason it happens in CMS installations like WordPress is where the tracking code is added to the HTML header as per the selected theme but then also in a plugin or extension once it has been installed. Often it is not the fault of the website developed but more the plugins they install.

To resolve this, check the HTML code and see where the event might be happening twice in the source of your website.

In Enhanced E-Commerce

The enhanced e-commerce feature of Google Analytics can often be the cause of multiple hits. This feature is designed for marketers and analysts to analyze an entire funnel e.g. from viewing a product all the way through to purchasing it. With that in mind, some events i.e. a view might be triggered with the loading of a page. This means two hits are seen and a 0% bounce rate.

There are various steps within enhanced e-commerce like product impression, product click, add to cart, purchase and refund but not all of those should necessarily be treated as its own interaction. For example, a product impression is not an interaction but may be tracked as one if not explicitly negated.

Each step has its own property where you can make it into a non-interaction. For steps like a product impression, such logic should be applied.

Non-Interaction Hit Google Analytics

Using this property, the event will still be registered but not classed as an interaction and therefore, has no bearing on the bounce rate.

If you have enhanced e-commerce enabled, the first thing to check is that they all have the properties set correctly and any that are triggered on a page loading should have interactions switched off.

12 Key E-Commerce Metrics To Track To Drive Growth

Using iframes

This ties into the two potential problems we’ve already mentioned. If you have an iframe on your page and those documents contain the Google Analytics tracking code, you instantly have a non-bounce. As well as a 0% bounce rate, you will get two pageviews. Check any iframes that you have on your pages as it is probably worth removing any tracking code if viable.

Debugging double interactions

Before we move on to other potential causes of a low bounce rate, here’s a quick overview as to how you would debug Google Analytics for double event/interaction type problems.

1.Using Tag Assistant

Google Tag Assistant is a Chrome Extension that helps you validate the tracking code on your website. Once enabled, refresh the page you are debugging and the number in the extension’s icon will change and look something like below, flagging that a property ID is being tracked twice in your code.

Google Tag Assistant

If the pageview tags are controlled via Google Tag Manager, you should be able to log in and remove one. If the tracking codes are implemented directly into the source of your website, you may need some assistance from a developer. Usually you can see this by right-clicking and checking the source code of the web page.

2. Use Google Analytics Real-Time Dashboard

Another method for debugging is to use a Sandbox version of Google Analytics that is only set up for your own IP Address.

Once that is setup you can navigate to the real-time view and check how many people are browsing from your IP Address. If you are the only one there but it shows as two pageviews, clearly there is something not quite right with how data is being collated.

If there are more people that are currently browsing the website from your IP (e.g. co-workers), an easy trick would be to add a bogus query parameter to the URL of your website just to identify your data from other visitors’.

If your web site’s URL is https://www.myawesomewebsite.com, change it to https://www.myawesomewebsite.com?param=just_me_testing and hit enter.

Quickly switch back to the real-time reports. Click the destination address that contains your bogus parameter.

If you see more than one page appearing in the chart, you need to get rid of one of the tracking codes or tags in Google Tag Manager.

3. dataLayer Inspector+

Analytics Pros – dataLayer Inspector+ chrome plugin detects duplicate hits that were sent over to Google Analytics. When refreshing the browser, if you get a warning like the example below it tells you that there is a duplicate hit which needs eliminating.

dataLayer Inspector

This is probably the easiest way to debug your tracking code of the three solutions.

Additional Considerations for Low Bounce Rates

Poor Migration and Google Tag Manager

Without going into technical detail, bugs can often occur when migrating from hardcoded Google Analytics tracking to Universal Analytics tags within the Google Tag Manager container. The issue occurs when hardcoded tags remain as well as those that exist within Google Tag Manager.

If the migration happened recently and you have very low bounce rate, this will be the most likely cause. You can follow the steps that we talked about for debugging duplicate events and finding the unnecessary coding element.

Virtual Pageviews

If you have a single-page application or website, they do not refresh as a visitor navigates through them. Therefore, some configuration is required to see how a visitor actually interacts. Often there are a limited number of clicks as users just scroll through content.

The way these pages are coded means that a pageview is triggered based on the state of one page rather than when they click through to another page.

For example, as they scroll to the About section, the URL fragment would be:


One common problem is that when a page is loaded, a page view trigger fires the Google Analytics page view tag. The visitor will continue browsing and the state changes will trigger a subsequent page view. However, when this trigger occurs on page load, you get a 0% bounce rate e.g. the state is set as the visitor lands on the site.

To resolve this, it’s simply a matter of removing pageview triggers from the GA tag and only keep the ones related to the state change or user interaction.

Setup Virtual Pageviews In Google Tag Manager

Scroll Tracking

A user scrolling through a website should not be treated as an interaction and when it is, you get an artificially low bounce rate. This could be somebody landing on your site, scrolling down halfway for 5 seconds and then leaving again.

In the Google Tag Manager container, you should open the Google Analytics Event Tag that tracks scrolling. Change the non-interaction hit to true and then save the tag. That should resolve the bounce rate issue.


We all love to see a low bounce rate as it’s a great way of showing that the work we are doing is valuable to our customers. However, sometimes, it is just so unbelievably low that it is vital you check out the potential issues listed in this post. A bounce rate should be reflective of no interactions and those that are artificially generated can easily skew the numbers and cause you to make incorrect decisions.

Related Articles
The Beginners Guide to Conversion Rate Optimization

Resource Guide

The Beginner's Guide To Conversion Rate Optimization

The eCommerce Playbook for a Winning Google Ads Strategy

Resource Guide

The eCommerce Playbook For A Winning Gooogle Ads Strategy