Data Quality

Solving the low bounce rate problem in Google Analytics

Have you ever observed pages on your website with a 0% or very low bounce rate? If so, then chances are that you have a faulty Analytics setup. Well, of course it’s possible to have a website or a landing page that is just so amazing, that all of your users interact and stay on your website!

But, every time I’ve seen a close to zero percent bounce rate, it’s been caused by an error in the Google Analytics implementation. I’ll explain the most common of those in this post.

So what should you do if you observe a landing page, frontpage or an entire website with a bounce rate that is simply too low? We’ll get into that, but first of all, it’s necessary to understand what a bounce is:

A bounce is defined as a single-page session – i.e. sessions in which a user enters your website at a page, and leaves again without interacting with that page or without visiting any other pages

…the operative keyword being ‘interacting’. An interaction – in Google Analytics – is not limited to pageviews, but can also be an event or a transaction or any type of hit that is send to Google Analytics.

With that in mind, these are the most common causes for a too low bounce rate:

#1 Event tracking is fired automatically

This has to be *the* most common cause for 0% bounce rates. Basically, an event (using the Google Analytics event tracking feature) is sent to Google Analytics immediately after the pageview hit has been sent. Some sites will load the Google Analytics library, send a pageview, and then send an event.

The stupidest weirdest funniest strangest use of this I’ve seen was an event that fired when the page finished loading. The event simply sent an event to Analytics with the information that the page had loaded.

Well, there may be reasons where you want to send an event on page load. But as a rule of thumb: Never send default events to Analytics unless they are triggered by the user.

If you need to send events that are not triggered by users (e.g. to measure page load manually, measure if certain elements have been loaded in the viewport etc.) then use the non-interaction setting for those events.

Usually, you’ll send three parameters (category, action and label) – but with non-interaction events, you’ll be setting a fourth parameter indicating to Analytics that this specific event doesn’t count as an interaction. And in doing so, your bounce rate will remain unaffected!

#2 You’re using iframes!

Remember the definition of a bounce? A session is counted as a bounce if the user only views one page. So if you use iframes on your website and the documents in those iframes have the Analytics tracking code installed, then you’ve instantly created a non-bouncer.

Example: User enters your frontpage and a pageview is sent to Analytics. The frontpage then starts loading an iframe. The document in that iframe also sends a pageview, and bam! Two pageviews within a single ‘interaction’. So this not only results in a 0% bounce rate, but also results in two pageviews being counted, which screws up your pageviews per session metric.

So if you absolutely must use iframes, then please make sure that you won’t be counting double pageviews.

#3 You’re double loading Google Analytics

This actually happens for a lot of websites. Specially WordPress. If you for some reason happen to load Google Analytics twice on one page, then you’ll experience the same issue as with Reason #2.

Users enter your site, and a pageview is sent to Analytics. But if you’re loading the Google Analytics Tracking Code an additional time, you’ll be sending an additional pageview hit as well, effectively creating an instant non-bouncer and an extra pageview.

This often happens in self managed CMS installations like WordPress. I’ve seen installations where a custom theme has a hardcoded Analytics tracking code in the header file as done by the theme author/developer. But then a CMS user has installed a plugin or extension made for implementing Google Analytics as well.

So if using a CMS and you experience a too low bounce rate, then make sure to check your HTML source code to see if Google Analytics is being loaded multiple times.

Low Bounce Rate Summary

All three causes for a low bounce rate are closely related. It all comes down to the number of hits or interactions being sent to Google Analytics upon loading a page in a browser.

Remember that a bounce occurs whenever a session has only one interaction of the pageview type – and nothing else. A bounce can’t occur the moment a second interaction of either pageview or event type occurs within the same session.

Google has developed an extension for the Chrome browser called Tag Assistant. This extension lets you record all the interactions that are sent to Google Analytics within a session (only on your own computer though :) and as such let’s you debug your installation pretty easily.

Once you’ve fixed your low bounce rate, you can begin your analysis. Is it good to have a low bounce rate? Or high? Well, it depends – read the bounce rate guide for analyzing content to get started.

Also, keep in mind that this problem is just one of many potential errors in your Google Analytics configuration. So make sure to go through the entire Google Analytics audit checklist. Because, what good is your data if you can’t trust it?


23 thoughts on “Solving the low bounce rate problem in Google Analytics

  1. Hey, thanks for this. I am definitly having this problem and this was really easy to understand. I think I know what my problem is now. I own a Blog at It’s about Blogger’s education and personal finance and Analytics are important. I want to get mine right so I know just what’s going on. My bounce rate is almost zero and I know something’s up. Thanks again.

  2. Hi my bounce rate is 6.53% now that seems petty low ? Do you think it has anything to do with putting my universal tracking snippet code in the header an footer code ? Im with zoho website builder and in the setting you have Google tools & bing webmaster tools which you put in the GA tracking ID for Google etc. But I have also gone in to the header an put the universal tracking snippet code, but I don’t know if I should remove it or just leave it there ? I thought the site would be ok with just the GA tracking ID but someone told me I had to have the universal code as well, so I’m confused as what to do next and why my bounce rate is so low.

    My website

    1. Hi Scott,

      If you’ve put your tracking snippet in the header AND footer code, then yes. That will definitely result in a low bounce rate, and you will double count pageviews too.

      If you’re inserting the tracking ID into your settings field for Google Webmaster Tools/Search Console, that won’t work. That’s not related to Analytics at all.

      So, first make sure that you only have the tracking code once. Either in the header or in the footer (header will be more precise).

  3. Sure enough, it was step 3. But, the second load came from a plugin. Just as a heads up, if anyone can’t find where they manually inserted the code a second time, look through your stats/seo/analytics plugins.

  4. Wow, great article! Too bad it’s way over my head!

    I’ve been struggling with a bounce rate that has dropped over the past two years. It was about 25% and now it’s dropped to 6%. I am fortunate that folks spend lots of time on my site but my traffic has TANKED the past two months and I don’t know why.

    I’m trying to make my site ( as perfect as possible to increase traffic.

    Thanks in advance for any insight…
    Teena from beautiful NH!

    1. Hi Teena,

      Thanks for the feedback. You definitely have a bounce rate problem on your website and it’s related to problem #3.

      You are in fact loading Google Analytics twice. I can’t tell you exactly how you’re managing to do it, but a common issue is that you’re loading Google Analytics via a setting AND a plugin in your CMS, or via a setting/plugin AND by hardcoding the GA tracking code into your website theme.

      Looking at the source code of your frontpage, you’re loading GA on line 1627+1628 as well as on line 1817+1818.
      One of those code blocks should be removed.

      1. Thanks so much for responding to my question Phillip!!

        I have the GA code in my header four times because when I switched to https in March, the instructions told me to add code for https://www, https://fourseasonslodge, http://www, and

        I don’t pay that much attention to the bounce rate but hope it’s not causing a problem anywhere else by having four times!

        The thing I’m really unhappy about is that my index status on GSC dropped from 154 to 42 when I added https. YIKES!!! I am clueless how to fix that.

        Happy Wednesday,

        1. I think you’re confusing Google Analytics and Google Search Console. The four identical codes you have placed on your site are for Search Console – you only need one. This code verifies your ownership of your website and in turn allows you to access Search Console to see impressions, clicks and so on for natural searches on Google. The number of indexed pages will usually be lower when setting up a https site until Google has re-indexed all your pages. You can speed up that process somewhat by implementing 301 redirects from all http pages to their https counterparts. But this may affect your rankings negatively if you have a lot of high quality referring links to your http pages.

          Google Analytics is where you measure traffic, organic included and where you count pageviews, users, sessions – and bounce rate. GA works by having the Google Analytics Tracking Code on your website. You have two identical tracking codes, which explains your very low bounce rate. Having the code twice also double counts all your pageviews, it makes your Exit Pages report pretty much unusable, and it also affects your Time on Page and Session Duration metrics. They become inflated and provide an incorrect picture.

          Summing up, your meta tags from Search Console should only be there once. And your GA Tracking Code should also only be there once.

          PS: Your place looks awesome – I have to go there sometime! :)

          1. There’s nothing wrong with having multiple GA instances in a page. The problem arises if multiple hits are sent to the *same* GA property on page load.

  5. Hi Phillip,

    I’ve noticed our bounce rate has reduced from an average of 50% to 033%. I know there is definitely something wrong but can’t figure out what it could be. I noticed this change since I added the coding in the CMS for google tag manager. Do you think it could be related to this?


    1. Hi Rakhee,

      Yes, that is often an issue. Let’s say you a website with a working Google Analytics configuration where GA has been added to the website by hardcoding the tracking code into the theme/template of the website. If you then add GTM and setup GA inside GTM while still having the hardcoded tracking code, then you will be double counting your pages and will get a low bounce rate.

  6. My Bounce rate is crazy low like .03% I know something is way off. I was using a UA code that someone gave me to “help with ghosting and spam” after reading your article I’ve switched back to just the google given UA code. I’ve noticed that my Adsense pageviews are 3x the number my google analytics is showing. could your #3 suggestion be the cause of my weird number differences?

    1. I think it’s more likely that you’re double tagging. You have the Google Analytics tracking code installed along side Google Tag Manager. So you probably have to remove a plugin for one of those.

  7. Thanks for the article! I had a problem with the double loading. I managed to find the code and now its ok. It’s only monitoring one.

    I would like to please to ask whether the addition of my account in the google tag manager is necessary? I have added my account and I posted the 2 codes in header and body. Now the result tag analysis of my website, shows as green 1. my website google analytics tracking code an 2. the google tag manager with another code ( the one from the following site) Is this necessary or shall I delete it?

    In addition, my tag analysis shows as red and green 3 more other tags that do not know where they are. :( One of them, the blue one has a different web id but in the page, view requests it’s my site again.

    Can you please advice?

    1. Hi Penelopi,

      Your Google Analytics seem to be working fine at first glance. The reason you’re given an error for Google Tag Manager is that the GTM javascript code is placed incorrectly. It should be placed immediately after the <body> tag and not inside another HTML tag. Another reason for your GTM error is that your GTM container is empty. I don’t why you have installed GTM, but if you’re not inserting any tags in GTM, it’s not necessary to use it. Your current Google Analytics is not installed through GTM, but directly in the site HTML (which is fine).

      If you require further assistance, please get in touch here.

  8. Facing the same issue with my bounce rate, but only for selected ad campaigns. I’ve ad served my ads and the traffic registered a low single digit bounce rate, which doesn’t seem very reasonable.

    I do have two GA tags on my website but both are inserted within a GTM container, so don’t think it’s caused by double hit from the GA pageview.

    Any thoughts on this?

    p/s: the website fyi

    1. Hi. You’re having a low bounce rate problem because you have a regular pageview tag AND an event tag that fires on page load.
      The event tag is – as I can see – sending enhanced ecommerce data for the product impression. But you should set it to a non-interaction tag.

  9. I’ve read several articles about low bounce rates, but they’ve been over my head. Yours is the first that is written so that a non-techie can follow. I know there is something wrong since my bounce rate today is .54%. Over the last month, it was 2.29%. I’ve tried the things you’ve suggested in the article and the comments, but I can’t figure out what is causing it.

    1. Hi Andrea, thanks for the feedback. You have two identical Google Analytics tracking codes in your source code – so you’re double loading Google Analytics.
      One of the codes is loaded with a WordPress plugin. It looks like it’s called “GADWP” or “Google Analytics Dashboard for WordPress”.
      I can’t see if the other code is loaded with a plugin or if it’s “hardcoded” onto the site. I can’t tell which one of them to remove without looking closer at it.
      But feel free to contact me if you need further support.

  10. This was actually helpful! Thanks for a detailed guide here. I was a culprit of both: firing automatic events and having two instances of GA running! Worse, my tech team was trying to convince me – my site is so awesome that I am getting 1% bounce rates!! LOL!

Leave a Reply

Your email address will not be published. Required fields are marked *