Why is my Average Time on Page so Low in Google Analytics?
I was egotistically checking analytics on my own blog posts yesterday and I was getting a little bummed, because I appear to have a low time on page. A low time on page would make me think that people aren’t actually reading my blog posts.
See? Only 25 seconds! My blog posts are kind of long-winded, so it seems unlikely that you could read the whole thing in 25 seconds, especially on average. Some people are slow readers, after all.
So then I was trying to diagnose it and I broke it down by city. I noticed when I did this that there are a lot of them that have zero seconds! I couldn’t believe my writing is so horrible that users would want to leave immediately…
But then I remembered something I learned a while ago about how Google Analytics measures time. Google Analytics makes a time stamp every time you load the page. So when you first enter the site, it makes a timestamp of 00:00:00 seconds. When you navigate to the next page, Google Analytics makes another timestamp.
So if I land on a blog entry about an awesome paid search infographic, I start with a timestamp of 00:00:00. After oohing and aahing over the images for 21 seconds, I then click on a link to another blog entry on the same site, and get another timestamp when that next page loads of 00:00:21.
However, if I landed on the blog entry, oohed and aahed for 21 seconds, and then left the site – which is perfectly normal to do with blog entries or any kind of purely informational content – Google Analytics doesn’t have a second timestamp for me, so it doesn’t know how long I’ve been on the site. So my highlighted zeroes in the screenshot above could be ten minutes for all I know.
So let’s look at an example:
In the above example, GA sees page B as having a time on page of 20 seconds, because it can subtract the timestamp on page B’s page load (00:00:32) from the third page load timestamp (00:00:52).
However, for Page A, it doesn’t fully know how long the visitor viewed that page. It knows that the first time the user saw Page A, they were on there for 32 seconds. GA knows this because of the timestamp from the next page load of 00:00:32. But on the last visit to Page A, because they exited the site from this page, there is no additional timestamp to help determine the time on page.
So, what you’re saying is this number isn’t reliable at all? Sort of. When Google Analytics calculates average time on page, they do attempt to account for pages with no secondary timestamp by subtracting the number of exits. So the calculation for average time on page is literally:
Average Time on Page = Total Time on Page ÷ (Pageviews – Exits)
But even accounting for exits, if you have a lot of pages that have bounces (someone lands on the blog entry, reads it, and leaves without clicking to any other page) you will be missing out on a huge percentage of your total time on page. For a blog, this is fairly common behavior. Even if users click on an icon to Facebook, which is a desired action for many blog entries, it looks like a bounce.
Edit from February 25, 2013: I realized that in the above paragraph I didn’t clarify that the number of exits would include the number of bounces. So what I mean is that if you have a lot of bounces on your pages (which blog entries naturally do) this will greatly reduce the sample size of pageviews that you get as a result of the (Pageviews – Exits) piece of the equation. While your page may have hundreds of pageviews, if it is a blog entry and has a lot of bounces as well, your average time on site may be calculated by a sample of only tens of pageviews. Hope that clarification helps!
So if you’re going to use metrics like Average Time on Page and Average Visit Duration (which works the same way as time on page), just please use them with a grain of salt, especially when doing analysis for content like blogs and infographics.