Oct 14 2008
What’s wrong with bounce rate?
I was re-reading a section of Web Analytics an Hour a Day this past weekend. I was reading over the standard reports section – the part about bounce rate.
It brings up a great point that I think should be re-visited … or visited, I guess.
In most all web analytics packages, by default, a visitor *bounces* when the visitor enters a website and leaves from the page they entered, without ever going further within the website. Technically bounce rate is defined as single page views divided by entry pages.
Is this the best way to measure bounce rate, though?
Re-thinking bounce rate. In his book, Avinash suggests that bounce rate be measured by time on site and not number of pages. With blogs and rss, it’s becoming obvious that bounce rate measured by number of pages may not mean anything anymore. If you have subscribed to my blog via rss, you click on the feed, taking you directly to my post. Odds are, you read the post (and maybe comment!) and leave my blog. Technically, you bounced. But did you? You read my post. I don’t want to count you as a bounce!
So why don’t we just measure bounces by time on site? Let’s say, if you’re on my site for less than X number of seconds, we count that as a bounce.
How time on site is calculated. Nothing can be that easy, right? Most analytics packages count a single page visit (no matter how long you stayed on that page) as spending 0 seconds on the site. For an in-depth explanation of how most web analytics packages measure time on site, you can read this post on Occam’s Razor. I’ll give you the Readers Digest version here, though.
Time on site is usually calculated by the difference between the time of the 1st page, the 2nd page, the 3rd page, etc.
So, if you landed on a website at 5:00, then viewed the 2nd page at 5:02, then viewed the 3rd page at 5:05, then viewed page 4 for 10 minutes before exiting the site, your time on page and site would look like this:
- Time on page 1: 2 minutes
- Time on page 2: 3 minutes
- Time on page 3: 0 minutes
- Time on site: 5 minutes
What? Why 0 minutes on the last page? You spent 10 minutes on that page!
Since analytics packages measure the difference between the two pages to calculate the time on page and there is no “next page” after your last page, it calculates the time on the last page as 0 minutes – no matter how long you spend on that page.
Now you’re beginning to see the issue with measuring bounce rate as time on site. If there is no “next page,” no matter how long you spent on that page, your time on site would be 0 minutes. Still a bounce. Problem not solved.
You can implement an on-load event with javascript that can measure the point at which the user exits the website, but that doesn’t solve the issue with users just leaving the browser open for an extended period of time.
Questions for the experts. Here are some questions of which I don’t know the answers. I’m hoping someone out there can answer them!
- For calculation purposes, can you limit the time on page by idleness, like is done with a visitor? For instance, if a user views a page, but is idle for more than X minutes, it’s counted as an exit?
- Can’t someone a lot smarter than us figure this out and implement it, by default, in a web analytics package?
Of course there are always exceptions, but counting the last page as 0 minutes by default seems like just being lazy to me, especially if there are known work-arounds out there.
Back where we started. So, unless there is a time-on-site/page workaround, measuring bounce rate by time doesn’t make sense.
Are analytics vendors thinking about this for their next versions? Measuring bounce rate by number of pages might be bad practice in the near future. It’s probably bad practice right now on sites that rely heavily on rss to bring users to their site (blogs, news sites?, etc.).
Let’s not overreact. This is another reason to talk about trending data and (usually) not raw numbers. Remember that your analytics data is never perfect, but using trends is accurate.
Calling all analtyics vendors. Let’s add these as wish list items for next versions:
- Find a workaround that measures time-on-site/page more accurately. With all the exceptions, it’s impossible to measure it perfectly, but giving the last page a 0 minute measurement always is just not good.
- Give the analytics user the choice of how bounce rate is measured (pages vs. time).
Any thoughts?
It can be done, but remember to hire a novelist to re-write your web site’s privacy statement. The analytics packages that work off your web server’s log files can’t do that sort of thing. It’s only when you do something that requires that makes the browser request a new file (web page, image, whatever) that something gets recorded.
But javascript-based analytics can in theory capture anything that you do – scroll the page, move the mouse, whatever. There are clever add-ons to Google Analytics that can tell you where someone’s mouse was when they left the page; that tells you whether they clicked on an ad even when the recipient of that click doesn’t share that information with you.
The problem with that is not that it’s not possible, it’s that you have a moral and sometimes a legal duty to let your visitors know that their every move of the mouse is being watched. Some may consider it an invasion of their privacy. You can get good data at the expense of bad PR.
@M. Laplante – thanks for bringing up the privacy statement. That gives me an idea of another post topic.
Yes, as far as any javascript-based analytics package, you can pretty much do anything, but what I’m talking about is doing it out-of-the-box. It’s interesting that with Google Analytics segmentation features they just released, it makes their segmentation functionality more robust than Omniture SiteCatalyst out-of-the-box. If you want to really segment traffic with Omniture you have to buy their Discover tool (which is great, by the way, but why should we have to buy another tool to segment traffic?).
I know I’m way off the bounce rate and time-on-page topic here, but my point is that these tools should come with this functionality out-of-the-box.
Simple segmentation (new vs. returning user behavior, etc.) and correctly calculating time-on-page doesn’t seem to be asking for much.
Ok, I’ll stop being bitter now.
As far as the moral aspect of it, I’m not quite sure I agree with that as long as you’re explicit on your privacy statement about how information is used. None of this information should be personally identifiable.
[...] given my thoughts on bounce rate before (depending upon the type of site, counting bounce rate by time might make more sense), but [...]
[...] Time on site has downfalls as well because of the way analytics tools calculate time on site. [...]