Measuring content performance in GA: enhanced engagement metrics

*This article is about Universal Analytics which will sunset on 1 July 2023 and be replaced with Google Analytics 4. You can find our GA4 content here.

In the last article I wrote in this series I explored the many challenges faced when using out-of-the-box engagement metrics in Google Analytics to measure content performance.

In this, the second instalment of three, I will run through some smart ways to overcome these challenges by expanding your measurement approaches using GTM. These new tracking techniques don’t require you to be an expert in Analytics, nor do they require you to be a front-end developer!

Bounce rate

As touched on in part one, bounce rate reflects the proportion of one-hit sessions. To improve the relevance of bounce rate tracking, therefore, you need to ensure that sessions counted as bounces genuinely didn’t involve any interaction with your site.

The solution here is to send more data to Google Analytics. By default, the only interactions tracked by Google Analytics are pageviews, so no matter how ‘engaged’ a user was with a piece of content – like signing up for a newsletter or adding a comment – if the user left without viewing any other pages it will still be reported as a bounce.

To avoid this, you need to map out all the meaningful interactions users can perform on your site. Obviously, not all interactions can (or should) be tracked, so focus here on interactions that contribute to the success of the business. This is a fundamental part of meaningful measurement planning.

For instance, you might have a pop-up on your site to encourage users to sign up for your newsletter. Firing a normal event hit when the pop-up appears – as is default behaviour with certain such plugins – would typically not be advisable, because doing so would cause all those sessions to not be counted as bounces. However, firing  an event when a user actually signs up would provide a very relevant and meaningful data point, as well as allowing you to analyse which content is driving subscriptions, it would ensure single-page sessions ending in newsletter sign-up would not be counted as bounces.

It’s worth noting that Google Analytics gives us control over whether events contribute to the bounce calculations or not. By default, events are classed as interactive, meaning that if the event fires the session is no longer counted as a bounce but rather a multi-hit session. However, if your event doesn’t constitute any kind of meaningful interaction, you can mark it as such to prevent it from impacting bounce rate calculations.

Tracking events in GTM

To reduce reliance on arbitrary naming conventions in your front end (ID, classes, and so forth) I generally recommend implementing custom events to use as triggers in GTM.

Scroll tracking

This is a metric I frequently recommend implementing. The Universal Analytics syntax (which was until very recently the latest version and is still by far the most widely used) does not track scroll behaviour by default. Doing so enables us to understand how far users are getting down the page.

Scroll tracking allows us to analyse whether a user who’s bounced was either a positive or negative engagement for the site. If a user bounced on your article page but read the entirety of the content before leaving it’s a good indication they were engaged – scroll tracking can indicate this.

Scroll tracking can be fully customised to your website, letting you decide the granularity needed based on your audience and site. Scroll depth triggers have been available in GTM for almost 2 years now, making the set-up more convenient than ever before requiring fewer scripts to be deployed to the site.

How can this be implemented?

If you haven’t already, enable the scroll tracking variables within GTM.  These can be found within Variable > Built-in Variables:

Next, create the trigger using the scroll depth type and select “Vertical Scroll Depths”.

At this point, you’ll need to decide on the percentages you want events to fire at. It’s worth setting up the initial scroll percentages to be very granular and then identifying what works best for your website – or even your various content types – using preview mode.

Once you’ve chosen your desired percentages to track, it’s onwards to the tag.

Create a Google Analytics tag, choosing ‘Event’ and populating your event with the variables enabled earlier to send the different scroll depth percentages by using ‘Scroll Depth Threshold’ and ‘Scroll Depth Units’ (if you wish to show the percentage).

In the above example, I have chosen to set the non-interactive hit flag to ‘True’ (as discussed in the section on bounce rate).

Test this in preview mode and once you’re happy, go ahead and push it live, giving it a very detailed version name and description.


Keeping in mind the collection limitations , which process up to 500 hits per session, you want to be careful with the level of granularity you choose. For instance, if you have a high average number of pages per session and you’re tracking very granular percentages as a user scrolls through each page, you’re at risk of losing valuable information about the session.

It’s also worth bearing in mind that Google Analytics caps the free tier at 10 million hits per month, so if your site is bigger and sending masses of additional hits you may be in danger of going over the mark. Similarly, if you start sending too many hits using 360, you may need to move up a tier package.

Taking this into consideration, I’d recommend thinking very carefully about the scroll thresholds and page types you wish to track.

Time on page

Where your users spend their time is key when it comes to analysing content performance. Given that exit pages and pages with a high bounce rate (i.e. pages that are frequently the last in a session) report a far less reliable ‘Avg. Time on Page’ metric – and because this metric cannot be married to a simple higher-is-better scale – we should be aiming to do better.

To ensure we’re measuring engaged time rather than idle time on site, Simo Ahava himself has created a script that we can use in GTM to measure interactions such as mouse movement and scroll. Each time one of these actions is taken, five seconds is added to the timer. If you’re interested in understanding the logic behind this and how to implement the timer, have a read of this article.

Implementation of this metric will not only help you understand engagement time, but also help resolve any issues associated with inaccurate Time on Page for exit pages. Unfortunately, when Google Analytics calculates Avg. Time on Page it removes pages users exited on so for you to be able to measure this, you would need to create a new calculated metric “Avg. Time on Page (w/o Exits)”.

With all the new areas tracked, you can start analysing your content accurately and in more detail than ever before. You’re probably asking yourself, what do I do with all of it? How can I make the most of it? How can I get the team starting to use it? In the next part of the series, I’ll be covering these questions and more by relaying the types of analysis sourcing this data unlocks plus the best ways to visualise and present these back to your business.

Comments are closed.

Join the Inner Circle

Industry leading insights direct to your inbox every month.