Google Analytics Bounce Rate Flawed

Yes that’s right google analytics is flawed, at least in terms of bounce rate. Have you checked your stats lately?

Now before reading this I want to experiment with something, I would like you to time how long it takes you to read all of the text on this page. You will find out why further down. I recently checked my google analytics stats yesterday and realised that my bounce rate had remained consistently high.

But first what are bounce rates?

Bounce rates are Googles way of measuring someones engagement on your site, typically it means that someone exits on the page they landed on, or exited before the page loaded. Google says:

“Bounce rate” in Google Analytics is one of the key metrics that helps to evaluate the quality of your traffic. “Bounce” happens when the visitor exited the website right from the landing page, without going to any other page. This is a great indication on how relevant the content was for the user and how engaged they were with your website.

So I guess is just means that people are not interested right?

Well not really, my average visit time to date is 5 minutes with an average page view of 3, so what could be causing such a high bounce rate of 65%?

The answer lies in the tracking script that google gives you to measure your site which looks like this:

 <script type="text/javascript">

  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-XXXXXXX-1']);
  _gaq.push(['_trackPageview']);

  (function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
  })();

</script>

The default google analytics tracking script only measures an engagement if someone clicks on another page. For many sites people typically land on a page get the information they needed, perhaps leave a comment subscribe and exit on the same page. But even though that person engaged with your site, google will still register a bounce. For many blogs it is possible now to do everything on one page.

As we just said, you can read the information, subscribe, leave a comment all on one page. If that’s not engagement then I don’t know what is.

How can we fix this?

First let’s make it clear, Google themselves recognise this problem and here is what they said.

While working perfect for most websites, there are categories of sites where this metric is not enough.

Imagine you’re promoting a blog post that describes all the benefits of your company. The visitor might read the whole post and remember your company and products really well – they might even go to search for your product on one of the search engines straight away. However, since the visitor only looked at 1 page (exactly where the blog post is) they will be recorded as bounced visitor.

So the solution is to set a timeout, this will ensure that engaged users are not registered as a bounce. Replace your Google analytics script with this one:

 <script type="text/javascript">

  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-XXXXXXX-1']);
  _gaq.push(['_trackPageview']);
  setTimeout("_gaq.push(['_trackEvent', '15_seconds', 'read'])",15000);

  (function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
  })();

</script>

Remember to include your own tracking code replacing this

UA-XXXXXXX-1

With the ID Google provided you with.

So what makes this script different. Take a close look you will notice there is an extra line called setTimeout.

setTimeout("_gaq.push(['_trackEvent', '15_seconds', 'read'])",15000);

What this line does is say that after 15 seconds, google will register you as an engaged user.

So this brings me back to my original question

How long did it take you to read this article?

Now we don’t want to fake or manipulate our bounce rates by setting the timeout to 1 because it would not benefit you at all, you need to know if users are bouncing or not, so you can improve.

Let us know below. We will make the changes and publish a follow up, we would like to know your results.

Word Count = 718

Meet the Author

Matthew Horne

Matthew Horne is web developer who specializes in optimized development. He also builds custom solutions instead of reverting to plugins. Matthew Has a strong understanding of PHP, JavaScript, jQuery.

30 comments… add one
  • Jean Morgan Sep 5, 2012, 1:30 pm

    It took me 2 mins 18 seconds to read including like on facebook.

    I spent a further 6 mins updating my GA code with your new version.

    I too have a high bounce rate. People come to my page to read about the product and (hopefully) leave via a payment link. A few continue to read more info. I have 42% repeat visitors and a lot of them only come to make a further purchase as they don’t need to spend time reading, they just want fresh supplies of product.

    • Matthew Horne Sep 5, 2012, 1:33 pm

      Excellent, this information is really valuable in order to make the right call in terms of what is considered engaged on my site. I discovered this yesterday after seeing that things didn’t add up, example, clicky was showing a bounce rate of around 20%. So i investigated it and found that google recognized it as a problem for some sites, sites like mine, sites that sell products, give direct information ect.

      • Jean Morgan Sep 5, 2012, 1:40 pm

        I just checked my GA account and for my front page which has information,social links and sells my product my bounce rate is 65.77% and average time in site is 2mins 20secs.
        Some will be new and will read but some just hop on find the payment buttons and buy (I like this action) which is probably a few seconds. Exit rate is 61.47. I wish I knew how to see where they go. i.e. what percentage go to payment and what % just close the page in their browser.

        • Matthew Horne Sep 5, 2012, 1:42 pm

          Yes, so in your case, if their buying something then they are clearly engaged on your site. Which means google is incorrectly registering a bounce.

          • Jean Morgan Sep 9, 2012, 12:30 pm

            I decided to check the bounce rate for the front page of my blog..
            From 1st to 4th Sept the rate is 64.55%
            From 6th to 8th Sept the rate is 28.12%

            *5th not included as I made the chane part way through the day.

            What a difference making that change you recommended has made! This works and works bloody well.

          • Matthew Horne Sep 9, 2012, 12:55 pm

            Excellent, im glad this has helped. Mine has dropped to around 3 – 4% which is much more realistic.

  • Thita Sep 5, 2012, 1:25 pm

    Matt, nice trick! Would this also help with your Google ranking – in otherwords will Google acknowledge your improved bounce-rate – or is this only for personal tracking purposes?

    • Matthew Horne Sep 5, 2012, 1:28 pm

      It should improve your rankings also, as high bounce rates can impact your rankings, making them more accurate and lower should increase your rankings, Google acknowledges that this is a problem for certain sites, such as tech sites, or sites that give tips and direct information all on one page, the code isn’t a cheat unless you set it to say 1 second, you need to research and decide what is considered engaged and that can vary per site.

      • Black Book Operations Jan 3, 2013, 4:44 pm

        What I don’t understand is why google doesn’t explicitly states this “bug” in the tracking code. I mean, sure one could “abuse” this knowledge, but it gives me a nasty google aftertaste…

  • M Scott (CRM Guy) Sep 5, 2012, 8:16 pm

    Matthew –

    Thanks for the tip. I too have been looking at my stats and scratching my head about the bounce rate when compared to the other numbers.

    I have tweaked my tracking code and hope to see more accurate reflection of visitors behavior as compared to google’s track.

  • Clare @ Help Pay Bills Sep 14, 2012, 9:04 pm

    Hey Matt,

    Took me 1min 52 seconds to get to the start of the comments. And then longer to read the comments but stopped timing then!

    So if I changed that google analytics script the GOOGLE will also recognise the change??

    Why wouldn’t they just change their analytics script already to be what you have put there??

    Great tip though, will change… Clare 🙂

    • Matthew Horne Sep 15, 2012, 12:34 am

      The modification to the script is for cetain types of sites. Example, a site that sells something, people might have quick access to that link say via rss or bookmark, so they come to your site then click on buy now, if that then takes you to paypal then its an external site and therefore it would be considered a bounce by google, but the user engaged with the site.

      So this timeout simply fixes that issue by letting you decide what you consider engaged.

      I wouldn’t just set it to 1 second because that would be lying and would only make your google analtics data inaccurate and therefore you wouldn’t know where to improve in terms of site engagement and bounce rates.

  • Clare @ Help Pay Bills Sep 14, 2012, 9:25 pm

    Hey just another thought, or rather let me explain myself better!

    If I change that script, will GOOGLE rank me higher as in their eyes my bounce rate will have decreased?

    I don’t mean to cheat google, I just mean that surely making that change would, for the most part, REALLY decrease the bounce rate which would mean the way google thinks of any site would be higher wich means we would rank higher??

    Is that the case?? Can they tell we have modified this code or do they just look at the new results??

    Cheers, Clare x

    • Matthew Horne Sep 15, 2012, 12:36 am

      As long as you are not cheating the script, and set the timeout to a suitable level for your site then it can contribute to improving the view in which google percieves your site.

  • Clare Sep 15, 2012, 11:17 am

    Hi Matt,

    Yeah, thanks, I wasn’t meaning I’d set it to something tiny, 15 or 20 seconds seems reasonable, and yes, I want results that mean something for me, not to just cheat them…

    I just meant that surely the fact that we *can* change it to whatever we want – does google take the results from it, no matter what we set it to, or does it know that we have changed it and so ignore it?

    That’s what I was getting at…? Because surely the black hat people will change it to 1 second to ttry to rank higher and if google DOES take the bounce rate from this script, modified or not, as gospel, then people can SERIOUSLY modify their rankings, no?

    Please can you explain?!

    Cheers, Clare x

    • Matthew Horne Sep 15, 2012, 1:45 pm

      Hi, the modification is approved by google it was burried in the documents so I brought it in to the real world where people can make good use of it. Information site often have high bounce rates, because people can google something and land directly on the page with the information they need, they can then subscribe, tweet ect all on one page and then leave. So this modification executed googles script to say that the person is engaged wth your site.

      You could also use it as a benchmark, how long would you like people to be on your site before you consider them engaged?

      That way you can set a benchmark to help improve your site.

      Time on site in general is factored in by google, what this script does is reduce bounce rates for sites where evrything can be done on 1 page. It would be difficult to fool google, and honestly you would only be doing damage to yourself in terms of the stats you recieve, you want accurate stats to help you improve your site. Google still measures time on site, just says they were engaged after x ammount of time.

  • Clare Sep 15, 2012, 4:42 pm

    Brilliant! Thanks so much Matt, and for sharing and explaining! Have a great weekend! Sent you an email about more work possibly – hope you can get back when you get time. Cheers, Clare 🙂

    • Matthew Horne Sep 15, 2012, 11:43 pm

      Will do and you have a great weekend too, I will read the email you send tomorrow, its been a busy weekend as usuall. Lol whoever said running your own business was easy.

  • Jason Mathes Oct 5, 2012, 6:07 pm

    So, would it be wise to maybe set that timeout just a bit higher say 30 seconds? If people leave an article sooner than that? Then they were possibly not interested and you would end up with a better reading no?

    Thanks for this. Unfortunately I let my CDN manage my tracking rather than have it load in the site. It has helped me with overall tracking but Google Analytics is still not perfect.

    • Matthew Horne Oct 5, 2012, 6:12 pm

      You can set the timeout to whatever you feel is considered engaged in the site and that all depends on what the site is about. Tech sites have problems with this because people land on the page they searched for then read the content, share it and exit on the same page. I know this happens because I do the same thing. They could of been on the page for 10 minutes, but google would still count that as a bounce. This was my problem and this lead me to look for a solution. Eventually I found it on GA’s blog.

  • gkastros Oct 21, 2012, 12:51 pm

    create a blank page… add google tracking code inside.
    include this page in all other pages…
    every users opens 2 pages–>pageview = actual*2
    Bounce rate is 0%

    • Matthew Horne Oct 21, 2012, 1:00 pm

      True, but the idea is not to cheat yourself, we need the information in order to make calculated changes.

  • Google Analytics Dec 31, 2012, 1:11 pm

    Yes, I agree. It is a must thing to do that you must learn how to evaluate your website through knowing the bounce rate. It is because the bounce rate can tell you complete details on you web metrics and traffic that you have during the campaign.

  • Black Book Operations Jan 3, 2013, 4:42 pm

    And I find another article on this blog about a thing I never heard about, actually altering the script of google analytics. Just great stuff! 😉 thanks again, makes me look different at certain algorithms.

  • Aam Coetzee May 17, 2013, 10:06 am

    This works fantastic. I run a very active blog and my bounce rate came down from 70% to 4%. Thank you very much.

    • Matthew Horne May 17, 2013, 10:34 am

      No Problem man, I found it in the google docs so it is obviously something they are aware of, and nobody wants to see sky rocket bounce rates when you know for sure your site is active.

  • Jim Jun 1, 2014, 12:05 am

    Hey Matt,
    I used this to get better data when I was running Thesis 1.8.5. I see Google has since changed their code. How do we implement this with the new GA code? Specifically for Thesis 2.
    cheers!

    • Matthew Horne Jun 6, 2014, 12:59 pm

      You can add custom tracking scripts to the Thesis via Thesis > site > tracking scripts.

Leave a Comment