Wednesday, January 16, 2013

The confusion with Google Analytics bounce rate

Bounce rate at its fundamental level means someone entered your site at that particular page then left without visiting other pages. Avinash Kaushik calls it one of the sexiest metrics ever because its in pretty much all analytics tools, is actionable and measures customer behavior.

Is an increase in bounce rate bad?

I was recently in a conversation with another person at work and we were discussing our Google analytics. We were congratulating each other about some big increases in page visits but I pointed out that our bounce rate has increased quite a bit. His excuse about the bounce rate was that this was a good thing. It meant that people where finding the information they needed and did not need to dig around our website to find what they were looking for.

This sounded like a plausible argument but contrasted with what Vainest Kaushik says in his book Web Analytics 2.0 that “If you make an excuse I’ll push back because I don’t fundamentally believe for any site for-profit or nonprofit that success is a one-page-view.” But as Claudiu Murariu points out Kaushik himself defined bounce rate as being the percent of traffic that stayed on your website fewer than 10 seconds.

I began digging into this question of could a high bounce rate be good and what does our bounce rate in Google analytics really mean. Some claim bounce rate is always bad while others say a high bounce rate can be good. Who is right and what can we make of our analytics data to reflect a tighter definition of bounce rate tied to time on page.

Good Bounce Rate versus Bad Bounce Rate

If you tie dwell time into the bounce rate then you can start to see where a high bounce rate might be ok. For example lets say visitor A looks at your page for 2 minutes. They obviously are finding the page to be of interest based on what they are looking for versus visitor B who hits the page and in less then 5 seconds they leave.

A very short dwell time is obviously bad where a long dwell time could be a good thing and meshes with my coworkers argument that the increase in bounce rate could be good thing.
But where do you draw the line on dwell time and how do I put this into my analytics.
For our website visitors (University of Utah Health Care) we have found that many people are simply coming to the website to look-up a phone number or address. We made it a priority to make our phone numbers and addresses big and prominent. This may have led to our increase in bounce rate. It doesn’t take long to find the phone number or the address so our target dwell time might be a little shorter then most people.

Take for example this page. http://healthcare.utah.edu/cardiovascular/cardiology/general.php
We have about a 70% bounce rate on this page. People can find the contact number to call and make an appointment, they can see a list of the doctors and see there phone numbers and since our goal is to get them to make an appointment then this page may be delivering and driving people to make appointments rather then stumble around multiple pages trying to figure out how to find a location or contact a doctor.

It’s important to take bounce rate into context with the content of the page.
Kayden Kelly on http://www.blastam.com/blog/index.php/2012/02/what-is-bounce-rate/ simply puts it this way. A high bounce rate is acceptable when the visitor has a positive experience.

The shortcoming with Google Analytics Dwell Time

The other confusing part of the issue is that Google measures the time on a page based on the time a visitor enters a page to the time they go to another page within the same site. If the visitor does not visit another page on the site then the time is not measured in Google analytics and would list 0:00 seconds for time on page and a bounce rate of 100%. Paul McCarthy gives some great diagrams and examples on this site http://imimpact.com/google-analytics-bounce-rates/ although it appears there is an error in example 3.

As seen in Paul’s erroneous example bounce rate can be a little confusing in how it it’s calculated.
On Google’s Support Site they describes how bounce rate percentages are calculated with this example,
“Your site has pages A through C, and only one session per day exists, with the following page view order:
  • Monday: Page A > Page B > Page C
  • Tuesday: Page B > Page A > Page C
  • Wednesday: Page A > exit
The content report for Page A would show 3 pageviews and a 50% bounce rate.  You might have guessed that the bounce rate would be 33%, but the Tuesday pageview granted to Page A is not considered in its bounce rate calculation.
People may be visiting Page A and then going to other pages but this does not reduce your bounce rate unless they actually entered your site at Page A. Additionally they may start at Page B then go to Page A then leave but this will not count as a bounce because they viewed more then one page and they did not start at Page A.

What Can We Do?

Now seeing how bounce rate may not be calculated as you would have expected and that time on page is not accurately reflected its easy to see how bounce rate even when tied to time on page could be misunderstood.

An article written b Claudiu Murariu gives us a great hack to better report what we feel should be recorded as bad bounces. By adding a line of javascript code we can track the dwell time on a page and then if the visitor stays for a specific time on that page before leaving we can have Google analytics not count this as a bounce. http://padicode.com/blog/analytics/the-real-bounce-rate/

Asynchronous Code (newer Google analytics snippet)

“In case you have decided to already update to the new GoogleAnalytics Asynchronous Tracking code here is how the hack would be applied (place it as the last _gaq.push declaration)
setTimeout('_gaq.push([\'_trackEvent\', \'NoBounce\', \'Over 10 seconds\'])',10000);
10000 refers to the number of milliseconds after which you want to fire up the above code. If you want to do it after 15 seconds than you need to place there 15000.The hack will not alter your data in any way. It will just record in the Events section all the non-bouncers.”

Synchronous Code (older Google analytics code)

“What you need to do is to fire up an event each time a user spends more than 10 seconds (or you can define your own standard) on the website. Just add the following line under the page Tracker._trackPageview(); line:
setTimeout('pageTracker._trackEvent(\'NoBounce\', \'NoBounce\', \'Over 10 seconds\')',10000);”

Resources and References