Main Image

Google Tag Manager 101 Part 6 - Real Bounce Rate

I claimed that the last part was the 5th and final part. However this is the 6th and final part of the Google Tag Manager 101 Series (and I reserve the right to extend it further) and covers setting up a GTM timer and calculating the "real bounce rate" for your content.

The Google Tag Manager 101 Series

  1. The Basics - setting up Google Tag Manager

  2. How to create a trigger and a tag

  3. Tracking links

  4. Social media tags

  5. Forms

  6. Timers and the real bounce rate

  7. The Datalayer

  8. CSS Selector

  9. YouTube Video Tracking

  10. Scroll Tracking

  11. Trigger Groups

  12. Non-Interaction Events

Have you ever written a great blog article which attracts traffic from multiple sources, social media shares and comments but the bounce rate for the article is 70%? You compare it to another blog article which you know is far inferior and doesn't attract any engagement - but it also has a bounce rate of 70%. So how do you measure which of the articles is actually being read?

This is another simple use of Google Tag Manager in order to track if your content is keeping visitors on the page to read.

The imaginary scenario for this article is this

1. A website has many items of content which rank well in search engines and receive many visits.
2. The pages are informational and self-contained. Click-throughs are desired but are rare for most content.
3. The purpose of the content is to promote the brand so it is important that users value the content and do not leave the website immediately.

The client finds that the bounce rate for visits to these pages from search engines is typically around 70% and can find no pattern of a lower bounce rate for the better pages. 70% is not an unusual bounce rate for this type of content and for those who only judge the value of a website by metrics such as bounce rate, pages per session and time per session the content does not appear to be working. Remember that a Google Analytics bounce is always recorded as zero time for the session because the time is measured on the second page view.

The client has no way of knowing if the bounces were immediate because of the quality of the page or after the user had read through the page. The client decided on a minimum time on the page which could be set as the time when we know that a user has been engaged in the article.

Note - If a user is on your page for over 5 minutes, they may be really interested in the content - or they have just left the browser tab open and forgotten about it. There are more complex setups for Google Tag Manager to track a user's scrolling down the page but often a user may only be interested in a small part of the content and be engaged without scrolling to the end of the page. Here is an article on using Google Tag Manager to track page scrolling, it requires some Javascript knowledge. 


Firstly create the trigger to fire after 1 minute. For the total, we use 60000 millseconds which is 60 seconds. You can restrict the range of pages on which the timer runs - in this case it is only firing on pages that start with "/blog". It is important to set a Limit for the timer to fire, it is a very bad idea to not limit it at all - as a page could potentially fire events for days. Leaving the Limit field blank is the way to create an infinite timer.

Google Tag Manager 101


Next, create the tag to send the event to Google Analytics. 

Important: Set Non-Interaction Hit to True otherwise sending the timer event will cause the session to be recorded as a non-bounce session. 

Google Tag Manager 101

Use Google Tag Manager Preview to test your new tag - you will have to wait a minute to see the tag sent.


You can create the event as a Google Analytics goal as shown below.

Google Tag Manager 101

Once you have your tag in place, it will send an event every time a user stays over a minute on your blog page. So how do you work out the real bounce rate?

Real Bounce Rate

The total of real bounces for a page is

Real Bounces = Total Visits (1) - Non-bounces (1-2) - Bounces that last 1 minute (3)

The screenshot from Google Analytics below shows an example. 260 visits start on a particular blog page and 171 are recorded as bounces in analytics. Of the 171 bounced sessions, 112 triggered the 1 minute timer.

Real Bounces = 260 - 89 - 112 = 59

Real bounce rate = 59/260 = 22.7% (compared to the analytics bounce rate of 65.8%)

To determine how many bounced sessions triggered the 1 minute timer, add the Google Analytics segment Bounced Sessions as shown in the image below. The numbers in red on the image refer to the numbers in brackets in the calculation above.

Google Tag Manager 101

For our scenario, 1 minute is the time chosen as the measure of when the user has engaged with the article. To keep it simple, we are only going to send a single tag when a minute elapses - you can use the same principles to send more than one tag, either sending the 1 minute tag repeatedly or possibly creating a separate 3 minute timer that sends an event.

If you want to comment on this or add further information from your own experiences, please do so below. I'm also keen to know of more simple uses for Google Tag Manager.