When a Bounce isn’t a Bounce and Why Google Analytics is Misleading
One of the New Rules of SEO is that Google now has a user engagement feedback loop that helps them understand if the user is getting what they expect to see for any given query.
While we can’t be certain exactly what these signals are, it is widely suspected that bounce rate is an important ranking factor. In this post I’ll define exactly what bounce rates are and describe when a bounce isn’t actually a bounce.
Plus, you’ll discover why the bounce rate data shown in Google Analytics is mostly useless and see what you can do to fix this problem.
What is the Bounce Rate?
Here is Google’s official definition of bounce rate:
Bounce rate is the percentage of single-page visits (i.e. visits in which the person left your site from the entrance page. Bounce rate is a measure of visit quality and a high bounce rate generally indicates that site entrance (landing) pages aren’t relevant to your visitors. You can minimize Bounce Rates by tailoring landing pages to each keyword and ad that you run. Landing pages should provide the information and services that were promised in the ad copy.
So, effectively – if someone visits a page on your site and then leaves without visiting any other pages on your site (either by hitting the back button on their browser, by visiting another site, closing the browser, or by entering a new domain into the address bar) then that’s classified as a bounce.
When is a Bounce not really a Bounce?
Here’s where it gets slightly more confusing…Consider the following two scenarios:-
By definition, both visitor A and visitor B have bounced, however when used in conjunction with the time on site metric you can see that while visitor A probably didn’t find anything useful on the landing page (having spent only 5 seconds on site), visitor B has stuck around for over 5 minutes, probably found the answer the he/she was looking for and then bounced.
In the search engine industry, this time on site metric is called “dwell time” and dwell time has a very high positive correlation with user engagement.
Consider the example that we used in the “New Rules of SEO” webinar: If a user types in “USD to GBP conversion”, it’s likely that the user will land on a page with a calculator and bounce away when he/she finds the answer that they’re looking for. In this example, the landing page catered exactly to the needs of the user, but the user still bounced (by definition).
However, when bounce rate and dwell time are used in conjunction with one another, a more reliable insight is gained into how engaged a particular user is with a piece of content.
There is significant evidence to suggest that search engines are looking very closely at dwell time and using it as a signal:
While it may feel like you’ve poured your heart and soul into creating the content on the website, quality is in the eye of the visitor, and short page dwell times can indicate the content is not capturing the visitor’s interest. Something about the content is not grabbing their attention.
- Duane Forrester - Public Outreach, Bing Search Engine
So, what we really should be doing as webmasters is paying attention to bounce rates in conjunction with dwell times. If we find content that has a high bounce rate and low dwell time, then that is a good signal that the content is not giving the users what they expect.
Here in lies the problem….
Bounce Rates and Google Analytics
The most obvious way to track down content that is under performing in these key metrics is to use Google analytics and apply a filter across all your content.
However, Google analytics only tracks bounce rate and time on site metrics through pageviews. This is really important to understand – if you don’t then you may start hacking out content from your site that you think is performing badly, but in reality may not be.
For example, if a visitor lands on one of your pages, stays for 8 minutes and 12 seconds before “bouncing” back to the search engines then two things will happen:-
- The search engines themselves will see this as a positive signal because of the extended dwell time (high dwell time = good user engagement)
- Your Google Analytics tool will show “100% bounce rate” and “0:00:00” time on site which most webmasters will interpret as a bad signal! To reiterate: Even though the visitor has stayed for 8 minutes before leaving, it will be shown as “0:00:00” time on site because the visitor hasn’t loaded another page on your site.
As you can see, there is a huge disconnect between what’s really happening and what’s being reported in Google Analytics. The disconnect is so vast that less knowledgeable webmasters may end up removing content from their site that’s actually performing well!
Here are some more examples of the disconnect between what actually happens and what’s reported in Google Analytics:-
And here is the quote from Google Analytics themselves to confirm that this is what happens:-
When a page is the last page in a session, there is no way to calculate the time spent on it because there is no subsequent pageview. For this reason, when Page A is the last page in the visitor’s session, its time calculation is not counted for that view. In addition, when that page is the only page viewed in the session, no time on page is calculated.
Here’s something else that matters: Google does not use any data from your Google Analytics account to calculate rankings. Sometimes, you have to take what Matt Cutts says with a pinch of salt due to the obvious conflict of interest that someone in his role is faced with – but on this occasion I’m very confident that Google don’t use Analytics data.
I can guarantee that the bounce rate and time on site stats you see in your Analytics accounts are not the same metrics that the Google Rankings Team use to determine the best results for any given query. The rankings team need far more accurate data than Analytics can provide.
What This Actually Means for Us
When you notice in your Analytics tool that a page has 100% bounce rate and a “0:00:00” time on site, this doesn’t mean that the page is necessarily not performing well. It could be that all visitors to that page stick around for more than 5 minutes before leaving, effectively sending a positive “dwell time” signal to the search engine. In other words: we have no way of using Google Analytics to reliably determine the worst performing content on our site.
We need a better way of identifying poorly performing content pages. A way that enables us to make decisions and understand what content is being appreciated and what content is holding our rankings back.
How do we Fix this in Google Analytics?
What we’d really like to know is:- “For each page on my site, what percentage of visitors stick around for longer than x seconds?”. The value of x is up for negotiation. Shane and I have agreed that for this site we think a suitable benchmark is 30 seconds.
If someone lands on a page and bounces within the first 30 seconds, that’s a pretty sure sign that they haven’t really found what they’re looking on an information site like ImImpact. On the other hand, if someone stays for longer than that, then they’re at least somewhat engaged (started reading or watching a video).
Thankfully by using a feature called “Event Tracking”, we can set this up relatively painlessly simply by adding a line of code to our Google Analytics snippet:-
Synchronous Analytics Code (Old Version)
If you’re using the original Analytics tracking code (not the asynchronous version), then this is the code you need:-
Just add the following line under the pageTracker._trackPageview(); line:
setTimeout('pageTracker._trackEvent(\'NoBounce\',\'NoBounce\',\'Over 30 seconds\')',30000);
Synchronous Analytics Code (New Version)
If you’re using the new version of Google Analytics tracking code (the asynchronous version), then this is the code you need:-
Just add the following as the last _gaq.push declaration in the script:
setTimeout('_gaq.push([\'_trackEvent\', \'NoBounce\', \'Over 30 seconds\'])',30000);
Thanks to padicode for these Analytics snippets
How Does this Work?
This script will countdown 30 seconds from when the page loads and then will “push” an event to Google Analytics. Once the event is triggered, Analytics will no longer count this user as a “bounce” even if he/she doesn’t load any other pages on your site. The net result is that you should see a decrease in the bounce rate on your site.
Here is a screenshot showing the bounce rates before and after the script is applied:-
The Best Way to Find Underperforming Content
Now we have set a bounce to only be recorded if a visitor stays for less than 30 seconds we have a much more reliable set of data that we can use to identify the pages that perhaps aren’t giving the end user what they expect.
To find these pages, I recommend navigating to content -> site content -> pages, clicking on “Bounce Rate” to sort from highest to lowest and changing the sort type to “weighted”. This will give you a list of pages with the highest bounce rates to the lowest weighted by pageviews:-
With this view you can then sort through the pages to identify those with the highest bounce rates and the lowest average time on page.
Alternatives to Google Analytics
Of course, there are alternative solutions to Google Analytics. Both Woopra and Clicky have a more accurate way of measuring both bounce rates and time on site through a process called “pinging”. Shane will be updating his Alternatives to Google Analytics post very shortly with more information about this and other new features.
This is a mighty long post, so I wanted to write a very quick executive summary for you:-
- If someone visits a page on your site and then exits that page without visiting any other page on your site then that is a bounce
- Search engines use a metric called dwell time to determine whether a bounce is a “good” bounce (ie. the user found what they were looking for) or a “bad” bounce (ie. the visitor leaves within 10 seconds because your page sucks)
- Google Analytics calculates bounce rates and time on site through pageviews. This means that if someone “bounces” off your page then it’s always reported as 0:00:00 time on site no matter how long the visitor stays for.
- Event tracking can be used to manipulate the bounce rate metric so that bounces are only recorded if a visitor leaves after less than 30 seconds (example script above)
- Clicky, for example, is a great alternative to Google Analytics for more accurate time-on-site data.
We think that Google Analytics should do a better job of providing accurate time on site and bounce rate metrics because lesser versed webmaster may be misled into removing content that appears bad but is actually performing well.
What are your thoughts on this? Leave a comment and tell us what you think!