How to Track Short Clicks and Long

As I have discussed before, a bounce (or the un-bounce) is a vague indication of whether or not a user got whatMouseClick they want from search.   You certainly can’t tell how much time a user spent reading your page based on how Google Analytics functions (at least by its default settings).    Did the visitor spend 90 seconds carefully digesting your content?   Or did they treat your page like a bad bathroom stall and do a quick about face back to Google , a short click.  Google Analytics  has no  knowledge of time to bounce which is what you need to calculate a short click.

The visit duration report is no better because Google Analytics assumes zero time for a bounce.

But you can know!

And it’s easy.

You have to do this to get better visibility into your the user experience.

There are a few different methods circulating on how to improve bounce rate.  One is to simply call an event at at a specific time after page load (say 15 seconds) without the non-interacation flag set.  This will redefine  your bounce as a visit of less than 15 seconds.  Another method which I have not tried yet is to capture scrolling I trigger the-unbounce on the scroll.

I want more detailed information.  I want to know drop-offs at at 10 second intervals.  I believe I originally found this code on Brian Cray’s Blog.  I will certainly capture a scroll event in the future  (but not sure yet whether I will use it to un-bounce the visit).

This is the code I am placing on my sites to get very explicit data.   If you do this you will know exactly how many users make it 10 seconds on a page, 20 seconds, etc. (I cut it off at 2 minutes). You may have heard of the “Short Click” and the “Long Click”. A short click is a quick return to Google and a clear indication of a bad visit.  Who knows exactly what number Google uses, but 10 seconds are most certainly bad visits.   Twenty seconds is probably less negative  (still not good) – and so on.

(function (tos) {
window.total_time = 0;
window.setInterval(function () {
total_time += 10;
tos = (function (t) {
return t[0] == 50 ? (parseInt(t[1]) + 1) + ‘:00′ : (t[1] || ‘0’) + ‘:’ + (parseInt(t[0]) + 10);
if (window.total_time <= 120) {
to_log = ‘OS ‘ + tos;
window.pageTracker ? pageTracker._trackEvent(‘Time’, ‘Log’, to_log, undefined, true) : _gaq.push([‘_trackEvent’, ‘Time’, ‘Log’, to_log, undefined, true]);
}, 10000);


(Note: you will need a different script when you go to Universal – I’ll post that when I start to switch over).

Don’t forget to set the true flag to indicate a non-interaction event  in the call to Page Tracker.  Otherwise, you will un-bounce every visit that has the tag, essentially redefining your bounce as a 10 second visit..    However, if you don’t set the non-interaction event, your visit duration will improve in accuracy. It’s up to you to decide what you value more (better time on site vs. losing bounce data).   I”m still keeping my bounce data as a single interaction visit but I am still undecided for the long term.

The free version of Google analytics also limits you to 10 million ‘hits’ a month at which point they may start dropping events.  I only track time  up to 2 minutes so I don’t run into the limit of 10 million hits.  If you are on a site that exceeds that number, you may need to enable sampling.  You do that by setting the sample rate with set_sample_rate. 

At that point, if you pull up your event report – you will get something that looks like this (segmented by organic search visits in this case):


I pay the most attention to the unique events.   This tells me how many unique visitors made it to  each of the 10 second thresholds.   By dividing by unique visits I know the percentage.  I now have a metric specifically measuring short clicks (and longer).   And of course, I can do a change analysis after a page change.  In this case I ran a test of a new design.


You can see that I did really improve on my short clicks, but as I move towards the long click, most of the benefit dropped off (but not all).  Still, a very successful test.  This can  be charted out to make it more apparent.



There you have it.  Short Click tracking.   Easy to implement and much improved metrics from out-of-the-box Google Analytics.


Mark Munroe

I have been deep into technical SEO for over 10 years. We created SEORadar to catch all the mishaps an avoidable problems that happen so regularly!

Jimmy - July 26, 2013


I cannot get this script to work. Are you sure it’s OK? The time event in GA totally stopped.

Shouldn’t total_time += 10; be windows.total_time += 10;


    Mark Munroe - August 6, 2013

    This is exactly the code I have from my page – copied and pasted into my post. So I know it’s working. Hope you get it to work.

Comments are closed