Adjusted Bounce Rate in Google Analytics – One Step Closer to Actual Bounce Rate

Adjusted Bounce Rate in Google Analytics

I’ve written extensively in the past about Bounce Rate both here on my blog and on Search Engine Journal.  Bounce Rate is an incredibly powerful metric, and can help marketers better understand the quality of their traffic, and the quality of their content.  If you’re not familiar with Bounce Rate, it’s the percentage of visits that view only one page on your site.  They find your site, view one page, and leave.  As you can guess, that’s usually not a good thing.

Traffic-wise, high bounce rates can raise red flags about the quality of traffic from a given source, campaign, or keyword.  For example, imagine spending $1500 in AdWords driving visitors to your site for a certain category of keywords and seeing a 92% bounce rate.  That should raise a red flag that either the visitor quality is poor or that your landing page is not providing what people are looking for. For example, maybe visitors are looking for A, B, and C, but are getting X, Y, and Z from your landing page.  That could very well cause a bounce.

But, that’s not the full story for bounce rate.  And I find many people don’t understand how analytics packages calculate the metric.  Here’s a scenario that shows a serious flaw.  What if someone visits your site, spends 15 minutes reading a blog post, and then leaves?  If there’s that much engagement with your content, it probably shouldn’t be a bounce, right?  But it is.  Since the user viewed just one page, Google Analytics has no way to determine user engagement.  Therefore, it’s counted as a bounce.  Yes, it’s a huge problem, and could be tricking webmasters into making changes when they really don’t need to.

The Problem with Standard Bounce Rate

Actual Bounce Rate
Over the years, there’s been a lot of talk about how Google and Bing use bounce rate as a ranking factor.  For example, if the engines saw a page with a very high bounce rate, maybe they would use that against the page (which could result in lower rankings).  Add the Panda update, which targets low quality content, and you can see why SEO’s became extremely concerned with bounce rate.

In August of last year, I wrote a post on Search Engine Journal about Actual Bounce Rate.  The post explains some of the mechanisms that Google can use to determine actual bounce rate, and not just the standard bounce rate that Google Analytics provides.  For example, dwell time, toolbar data, Chrome data, etc.  The core point of the post is that Google has access to much more data than you think.  Therefore, don’t focus solely on the standard bounce rate presented in Google Analytics, since the actual bounce rate is what Google could be using to impact rankings.

Actual Bounce Rate Factors

Google Introduces “Adjusted Bounce Rate”
So, given what I just explained, is there a way to gain a better view of actual bounce rate in Google Analytics?  Until recently, the answer was no.  But, I’m happy to announce that Google Analytics released an update in July that enables you to view “Adjusted Bounce Rate”.  It’s not perfect, but it’s definitely a step closer to understanding actual bounce rate.

The Definition of Adjusted Bounce Rate
By adding a new line of code to your Google Analytics snippet, you can trigger an event when users stay for a minimum amount of time.  That amount of time is determined by you, based on your specific site and content.  So, adjusted bounce rate will provide the percentage of visits that view only one page on your site and that stay on that page for less than your target timeframe.  For example, you can set the required time to 20 seconds, and that time would be used to calculate the bounce rate numbers used in your reporting.  If users stayed less than 20 seconds, then it’s a bounce.  If they stayed longer than 20 seconds, it’s not a bounce (even if they visited just one page).

Changes Needed
As I mentioned above, you need to add one line of code to your Google Analytics snippet.  Here is the revised snippet (from the Google Analytics blog post about adjusted bounce rate):

Google Analytics Snippet for Adjusted Bounce Rate

Note, that new line needs to be added to your Google Analytics snippet on every page of your site.  Also, the piece of code that includes 15000 represents the time in milliseconds.  15000 equals 15 seconds.  You can adjust that based on your own site and content.  For some sites, you might set that to 30 seconds, 1 minute, or more.  The minimum is 10 seconds.

Impact, and a Real Example
You might be wondering how this actually impacts your reporting.  Does changing that line of code really impact your bounce rate numbers?  Well, it does, and it can radically change your bounce rate numbers.  And that’s a good thing, since it will give you a closer look at actual bounce rate since time on page is now factored in.  Remember my example above about a user spending 15 minutes on a post and it’s counted as a bounce?  Well that wouldn’t be a bounce if you added this code.  Let’s take a look at an example that demonstrates adjusted bounce rate.

Below, I’ve included the metrics for a page that was showing an 76.7% bounce rate.  Clearly, that’s not a great bounce rate, and it could be driving the webmaster to make changes to the content.  But, check out the bounce rate after we started calculating adjusted bounce rate.  Yes, you are seeing that correctly.  It’s now only 28.5%.  That means 71.5% of users are either visiting other pages on the site or staying on the page for longer than 20 seconds (which is the time the company is using to calculate adjusted bounce rate).  And by the way, the new bounce rate is 62.8% lower than the original bounce rate percentage.  That’s a huge swing.

An example of adjusted bounce rate in Google Analytics

What This Means to You & How This Could Be Better
As a marketer, bounce rate is an extremely important metric.  But, you need an accurate number to rely on if you plan to make changes.  That’s why I wrote about actual bounce rate last summer.  Adjusted bounce rate enables you to add another ingredient to the standard bounce rates calculated by Google Analytics.  By understanding the minimum time spent on the page, you can gain intelligence about how users are engaging with your content.  Are they hitting your page and immediately leaving, or are they at least spending 20 or 30 seconds reading the content?  There’s a big difference between the two (especially for SEO).

Understanding adjusted bounce rate can help you:

  • Refine the right pages on your site, and not just ones that show a high standard bounce rates.
  • Better understand the quality of your top landing pages from organic search. Do you have a quality problem, or are users spending a good amount of time with that content?  Adjusted bounce rate can help you understand that.
  • Better understand the quality of campaign traffic.  Seeing a 95% bounce rate is a lot different than 25%.  Sure, you want conversions from campaign traffic, but engagement is important to understand as well.
  • Troubleshoot SEO problems related to Panda.  When a Panda update stomps on your site, you should analyze your content to determine what’s deemed “low quality”.  Adjusted bounce rate is a much stronger metric than standard bounce rate for doing this.

How Adjusted Bounce Rate Could Be Improved – Revealing Dwell Time
I would love to see dwell time added to Google Analytics somehow.  Dwell time is the amount of time someone spends on your page before hitting the back button to the search results.  Duane Forrester from Bing explained that they use dwell time to understand low and high quality content.  As an SEO, imagine you could understand which pages have high dwell time.  That would be incredible intelligence to use when trying to enhance the content on your site.

Summary – Adjusted is Closer to Actual
Again, I believe this is a great addition by the Google Analytics team.  Adjusted bounce rate can absolutely help you better understand the quality of content on your site, and the quality of traffic you are driving to your site.  I recommend adding the line of code to your Google Analytics snippet today, and then analyze how your bounce rates change.  I have a feeling you’ll be surprised.



  • Kevin Spence

    This is awesome. I have a site with a really high bounce rate (75%+), but there’s nothing wrong with the site. The bounce rate is just a reflection of people for searching for specific solutions to specific problems. Of course they’re going to bounce. From what I can tell looking at real time analytics, people do seem to dwell awhile, which is what I care about in this case.

    I just added the Analytics modification to the site (with a dwell goal of 1 minute for now). Can’t wait to see what happens.

    • Glenn Gabe

      Thanks Kevin. And you’re exactly right. You might find that your adjusted bounce rate is much lower. That’s what I’ve been finding across clients.

      There are definitely certain types of content that won’t yield multiple hops, but have high engagement. That’s where adjusted bounce rate will come in very handy. Let me know what you see after the numbers come in!

      • Jennifer Wong

        Thanks for sharing this information, Glenn!

        Our bounce rate trend is what Kevin is describing. When we launched our new website, we had a huge difference in bounce rate because our core messaging changed to be speak to a more specific audience and highlighted a more specific solution.

        Since the initial launch our bounce rate has returned to normal but it will be interesting to see additional engagement data separated out from the bounce rate percentage with the code modification


        • Glenn Gabe

          Thanks for your comment Jennifer. Yes, it would be great to see what the adjusted bounce rate would be. You just need to determine what the right time value would be for your content.

          Also, if you have developer resources, you can tailor that value by content-type. Let me know how it ends up for you. Thanks again.

      • Kevin Spence

        The adjusted bounce rate has come in at 25%. I decided to start at 15 seconds rather than a minute. I’m going to do some testing for awhile and adjust the time every couple of days to learn more about how long visitors are staying on my site. This is really useful!

        • Glenn Gabe

          That’s awesome! Great to hear you saw a big change. That’s exactly the type of situation where adjusted bounce rate can give you a clearer view.

          75%+ to 25%. What a huge swing. :)

  • sathya shankara

    What is the default time set by google to calculate analytics code ?

    • Glenn Gabe

      Without adding the snippet for adjusted bounce rate, there is none. A user needs to visit another page for GA to understand it wasn’t a bounce. You can easily adjust the number of seconds when adding the code listed above.

      • sathya shankara

        Thank you very much Glenn:-)

  • Andrei

    Thanks for this article, it really answered everything I wanted to know. Except one thing: what is my website is a one page website? Does Google know that? My bounce rate is big because of that ~80%. How is this affecting my ranking?

    • Glenn Gabe

      Andrei, have you implemented adjusted bounce rate yet? That could give you a more accurate view of actual bounces (taking engagement into account). Also, it’s important to know the type of website you have. There are certain queries that demand a quick answer.

      • Andrei

        I implemented the code today and I’m waiting to see the changes. We are an indie game development studio from UK

        • Glenn Gabe

          Andrei, I think you’ll see a big difference in BR once the data comes in. That said, I’m looking at the structure of your site now, and you are definitely inhibiting your search efforts with your current setup.

          • Andrei

            Hey Glenn, can you be more specific? Can you please contact me by email? I would like to pay you for your consultancy services regarding Analytics code improvements :)

          • Glenn Gabe

            Sure, I just sent you an email.

  • Mubi Rana

    Thanks For Explaining Why Bounce Rate is Important.
    I Just adde Snippet Code 2 Days ago…and My Site’s Bounce Rate Was near 60.% Yesterday It Was 32% and today when i open Google Analytics i was shocked today when i see 0.00% Bounce Rate :D
    My Website Is About Downloading Pictures/Wallpaper So i Set Time to 15 Secnds aand now i actually can determine how much visits are bounce or not.It’s Really Helpfull.
    This Should Be implemented By Every Website Owner.

    • Glenn Gabe

      Excellent, glad to hear you are seeing a big impact immediately. Implementing adjusted bounce rate is ultra-important for understanding actual bounce rate (which takes into account engagement). Glad you found my post. :)

  • Paul Kragthorpe

    It looks like this is a trackEvent script. Do I have to look at the events in order to determine adjusted bounce rate? Or will there be a new metric added to Google Analytics? Or will this just be new the bounce rate number? Confused on that. Thanks!

    • Glenn Gabe

      Adjusted bounce rate will become your new bounce rate metric. You should include an annotation in GA to mark the date. You can also see the events being triggered, but there is no extra work in order to track ABR. Hope that helps.

      • Paul Kragthorpe

        Thanks for the quick reply, Glenn. I already made an annotation =)

      • Clio

        Hi Glenn, do you know if there is a way to
        create ABR as a new metric instead of replacing the standard bounce rate?

        • Glenn Gabe

          I don’t believe you can do that (unfortunately). That would be awesome, though. I would love to see standard bounce rate vs. abr right in the reporting.

          • Clio

            That’s too bad. Thanks for the quick answer anyway :)

            Edit: would it be worth it to create another view/property to track ABR there, do you think? Just an idea, I am not that familiar with Google Analytics

  • Francesca Fourwinds

    Thank you for this terrific article. I am new to SEO and google analytics… I just did a blog and was thinking omg! 60% bounce rate and immediately thought of adjusting my pages but i’m going to see if I can get the adjusted bounce rate…. thank you

    • Glenn Gabe

      Excellent, I’m glad you found my post before making any changes. Definitely implement adjusted bounce rate and check those posts again. I have a feeling the numbers will be much different. :)

  • Putri Arisnawati

    good article, very help me

  • Beth Browning

    How did I miss this? I can’t wait to test it out!

    • Glenn Gabe

      Excellent, and I can’t wait to hear how it impacts your reporting. Again, ABR will give you a much stronger view of actual bounce rate. :) Keep me posted.

  • Bertil Hansen

    I tried to implement this code yesterday but not seeing any changes today.
    Could it be that the code does not work well with the new async GAnalytics code…?

    • Glenn Gabe

      No, it should definitely work. I would recheck your code to ensure it’s set up properly. Also, you can use real-time reporting to see if the event is firing (via GA). I hope that helps!

  • Tom Crandall

    Where would the set timeout go in the new Google Analytics code? I guess this Google has changed things a little since you wrote the article

    (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),

    ga(‘create’, ‘xxxxxxxxxxxxx’, ‘’);
    ga(‘send’, ‘pageview’);

  • David Jones

    Glen this is an awesome post, I have quite a few questions though:

    – is the only way to set this up to manually add it to *every page* on the site? I work with blogs with hundreds and thousands of pages so I guess this is not a realistic option for me, or will it be added automatically to every other page once I change the code in the header file of the blog?

    – does it change your bounce rate in the eyes of Google or just the % thats reported to you in GA?

    – how do you know what number of seconds to set it at?

    • Glenn Gabe

      Thanks David. I’m glad my post was helpful. If you add the code to your template, then it will automatically be on every page. But you should adjust timing by type of page to get the most useful data.

      Google already has a number of mechanisms for determining user engagement, so this is simply helping you identify problematic pages.

      Regarding timing, you need to estimate timing based on your own content. For example, a coupon site will have a much lower threshold than a site providing longer-form content.

      I hope that helps.

  • Michael Palmer

    Glen, this is an interesting and useful feature. Our agency tried it on a test case and set the time at 20 seconds. We inserted the code exactly as described in your post above. On the day we inserted the code, we saw a drastic number of drops in visits recorded in Google Analytics. When comparing the number of visits recorded by GA with the number of organic clicks recorded by Google Webmaster Tools, we see that the numbers are very skewed. Is this because the code also only records visits that last longer than 20 seconds?
    Thanks for your help

    • Glenn Gabe

      Hi Michael. Glad to hear you implemented ABR. Doing so should not impact the number of sessions recorded. That said, there are inherent limits in GA for hits (and an event is a hit). You can read more here -> GA premium does not have the limits mentioned above.

      How much traffic does the site typical get per day and month?

  • Solid Website Design

    Fantastic article, with some great insight. I hadn’t heard about that function, and will definitely be trying it out, to see more realistic figures for bounces. I’ve been using Yoast Google Analytics, but that does not give you the option to add this line of code. May do it manually now :) BTW, something to bear in mind, via Google Analytics blog… One thing website owners should be vary of, though, that not
    only the function may slow down the users’ experience, even
    insignificantly, but will also increase the volume of hits your site
    sends to Google Analytics, which might bring your usage over the limit
    (currently set at 10 mln hits per month). As such, this fix should only
    be applied when necessary and justified by the concept of the website
    and the landing pages.

    • Glenn Gabe

      Thanks, and I’m glad you found my post helpful. For most websites, the hit limit is not a factor (but you’re right about being aware of that issue.)

      Also, you don’t have to implement ABR on all pages. You can isolate sections or specific pages if you want. Let me know how it works out for you.

      • Solid Website Design

        I will do for sure Glen! I just realised my biggest traffic site, by far, is a plain html job and Im going to implement that now. Will try to remember to pop back and share results. And tnx for tip on not having to implement it site-wide. That’s very handy to know! All the best from Dublin, Damien

      • Solid Website Design

        Hi again Glen. The results were remarkable! Old site of mine, mostly reference, not active for a couple of years, most content 3-4 years old, and with ABR implemented it dropped from 84% to 24% in its first full 24hr period! It gets 16-18k monthly, so a nice enough sample size. I used 15 secs, trying out now for 30secs to see how that turns out :) I wrote a simple guide to bounce rate for potential clients, and provided more info about my example in this blog post: I also included a link back to this blog post for others too :) Tnx again!

        • Glenn Gabe

          Hey, that’s awesome to hear! Glad you were able to implement ABR so fast and see big changes. Now it’s time to focus on the high ABR pages. You should be able to pick them out relatively quickly.

          And I’ll check out your post soon.Thanks for providing an update!

  • ketul

    Really good article about bounce rate and how to reduce it.

  • mike


    Thank you for the great article. This is very helpful. I love the simplicity of adding just one line to the GA code to get the true bounce rate, mine dropped from a whopping 78% to 14%. I implemented the following on my site

    setTimeout(“ga(‘send’,’event’,’Profitable Engagement’,’time on page more than 20 seconds’)”,20000);

    Now it doesn’t count as a bounce when someone visits one page and leaves after staying on it for more than 20 seconds, but it still counts as zero time spent. Is there another simple code I can add that will show how much time they spent on each page? It will be great if I can add an end time as well. For example, if someone gets to an article on my site and spends more than 20 seconds, I want to count that as zero bounce and add towards the time they spend at the site. But if they stay on the same page for more than 15 minutes, I want to stop counting the time otherwise it will distort the average time for the overall site. Example: Someone lands on a page and walks away from their computer to do something elase, leaving the page open for hours. I think on average 15 minutes is long enough for most people to read through most of my pages.



  • Glenn Gabe

    Yes, the code still works for ABR. And if you are using Google Tag Manager (which I highly recommend), then you can implement ABR there too. Here’s a tutorial I wrote ->