Google Analytics (GA) is an excellent tool to measure website behaviours, however, it is not perfect and sometimes requires certain advanced implementations in order to track users’ activity more accurately. This post outlines how we gained advanced metrics by implementing ‘Time Listeners’ and ‘Time Events’ for a client of ours.

Problem: Time on site metric is not accurate in Google Analytics without a second interaction

The way that GA calculates time spent on a given page is by measuring the difference between the timestamp of a pageview and the timestamp of the subsequent engagement hit (usually a second pageview).

However, when a user enters a site, visits a single page and exits without a second ‘Engagement Hit’, the session duration will be 0 seconds and the visit will be counted as a ‘Bounce’.

The problem is that a user may have spent a few minutes on the page reading the content and had no reason to progress to a second page. But, GA doesn’t have a second ‘Engagement Hit’ to measure against, so by default, that session duration is recorded as taking 0 seconds.

The other consequence of how GA currently calculates Average Session Duration is ‘Bounce Rate’. A ‘Bounce’ is what GA calls a user who enters a website, but does not interact with the site in a way that will trigger a second ‘Engagement Hit’ to be recorded by the GA tracking code.

This means that users who spend time on a site getting the information they require without a second ‘Engagement Hit’ are counted as a ‘Bounce’ and are recorded as spending 0 seconds on the site. However, the visitors may well have got what they were after and may have had a positive experience.

Solution: Applying a Time Listener and Time Events

Time Listeners and Time Events allow you to trigger tags to fire at specified intervals and send events (engagement hits) to GA that can measure metrics for time on page, session duration and bounce rate more accurately.

By implementing these additional codes we were able to pass extra information to Google – in this case we instructed the site to pass information to Google 20, 30, 40, 50 and 60 seconds after the site entry. As a result, we were able to see time bands in GA that capture how long users were actually on site for:

O-19 seconds (Bounce) / 20+ / 30+ / 40+ / 50+ / 60+

It is important to note that this is not a “General Fix” as there are implications on reporting, especially where Events have been set up. It should only be used where appropriate, based on the purpose of each site.

If you’d like to discuss how we could help you improve your analytics and get a better view of what is actually happening on your website, email us at

GSL Promotus is proud to be a Google AdWords and Google Analytics certified Premier Partner.