How to Implement Adjusted Bounce Rate (ABR) via Google Tag Manager [Tutorial]

Google Tag Manager Adjusted Bounce Rate

Managing analytics tagging can be a tough situation for some companies.

Sure, if you're a business with a small and simple website, then slapping a tracking tag on each page is relatively easy to do. But what if you have a large and complex site that requires a number of different tracking tags? Managing them can easily get out of control, and could inhibit the accurate tracking of data across the site.

For situations like this, a tag management system can be a lifesaver. Enter Google Tag Manager, a free tag management system from Google.

Google Tag Manager (GTM) enables you to centrally manage tagging, while also enabling you to quickly deploy new tags to your production website. And when I say quickly, I'm not kidding.

You can push out updates in mere seconds versus hours, days, or weeks (if you have a larger site). I've been helping more clients migrate to Google Tag Manager recently, and the experience has been extremely positive. Once you see how powerful and efficient GTM can be, it's hard to think of reverting back to your old tagging ways.

Simply having the ability to implement new tags quickly and efficiently is worth completing the GTM migration process. But that's not all Google Tag Manager can do.

Beyond just deploying tags, you can centrally set up complex tracking scenarios via Google Tag Manager (based on setting up rules and macros).

In addition, you don't have to bug IT to push out changes once GTM is installed. And if you've ever had to quickly get new tags up and running, then that last line probably got your attention. You can quickly deploy those new tags yourself, without involving other departments.

Deploy fast

If you haven't looked into Google Tag Manager yet, and you're interested in migrating, just be aware that there's definitely a learning curve.

Many marketers mistakenly believe they will upgrade to GTM in minutes by just adding a container script to their site's template. That's not the case for many websites, especially if there are unique tracking requirements.

You will need to spend some time learning the ins and outs of Google Tag Manager to effectively implement your tracking setup. For example, you'll need to learn how to set up tags, rules, and macros to track what's required on your website. But don't worry, once you get the hang of it, you'll never look back.

Now let's turn our attention to bounce rate.

The Problem With Standard Bounce Rate and the Importance of Adjusted Bounce Rate

Many people look to the almightily bounce rate as a strong signal for engagement. Unfortunately, too many marketers don't understand that it's a flawed metric. Standard bounce rate doesn't take time on page into account, which can give you a much stronger feel for user engagement (and actual bounce rate).

We know that the major search engines calculate dwell time, and that low dwell time can be a strong signal that the content at hand didn't meet user expectations. If you're not familiar with dwell time, it's the time in between a user clicking through a listing in the SERPs, visiting that page, and then bouncing back to the search results. If the engines see a very low dwell time (which is variable based on the niche at hand), it can be a strong signal that the content didn't satisfy the user's needs.

As you can guess, time on page is critically important for understanding a "bad" bounce rate or "low" dwell time. Standard bounce rate doesn't give you that view.

For example, if someone visits your page from Google, spends 10 minutes reading an article and heads back to the search results, then it's a bounce. But is that really a bounce? Would Google view that as a signal that your content didn't meet user expectations? No, it wouldn't. And that's the trouble with the bounce rate percentage you are staring at in Google Analytics right now. It's flawed.

The Problem with Standard Bounce Rate

That's where adjusted bounce rate (ABR) comes in handy. Google Analytics (GA) announced adjusted bounce rate in July of 2012, and it was a fantastic addition. By adding one line of code to your Google Analytics snippet, you could fire off an event to GA after a certain amount of time elapsed.

For example, you could set the ABR threshold to 15 seconds, 30 seconds, 1 minute, or whatever fits your specific content. And if an event is triggered and captured via Google Analytics, then the visit won't count as a bounce. Voila, you now have a much stronger metric to view when trying to determine low dwell time and actual bounce rate.

By the way, you would be surprised at how much your bounce rate percentages can drop for specific pieces of content when implementing ABR. I've seen some clients have their bounce rates drop from 80+ percent to 20-25 percent. That's a huge drop and can help those clients better understand which content is "low quality" or not meeting user expectations.

Bounce Rate Drop

Adjusted Bounce Rate and Google Tag Manager

So, when you migrate to Google Tag Manager and you've been using adjusted bounce rate since 2012, you will probably look to implement ABR as soon as possible. But, Google Tag Manager unfortunately doesn't have a preset way to track ABR. You have to set it up via rules and tags.

If you've migrated to Google Tag Manager, or if you're ready to, then this post is for you.

Don't settle for standard bounce rate just because you migrate to GTM. I'm going to show you how to implement adjusted bounce rate via Google Tag Manager by implementing two new tags. And for those of you who are new to Google Tag Manager, you'll get a feel for how to implement tags and rules in general.

Again, there's definitely a learning curve, so don't get frustrated. The ease and speed of GTM is worth the training you'll need to put in. Trust me.

Note: this post won't cover the basic setup of Google Tag Manager, how to migrate to GTM, set up your account, containers, etc. You can check out the Google Tag Manager Help Center to read those instructions. You can also check out helpful tutorials by Justin Cutroni and Daniel Waisberg for how to set up GTM. This tutorial will focus on the process for implementing adjusted bounce rate once you're up and running with Google Tag Manager.

Let's manage some tags.

Implementing ABR via Google Tag Manager – Step by Step Tutorial

Again, in order to proceed, you need to already have set up your Google Tag Manager account, set up a container for your website, and already implemented the basic Google Analytics tag in GTM. If not, you should check out the tutorials listed above to learn how to set up your account and implement your first tags.

Once you complete the setup process, you can return to this tutorial to begin the process of implementing adjusted bounce rate.

1. Add An Event Listener

The first thing we need to do is to add an event listener based on time. Google Tag Manager has several "tag types" you can choose from when creating a new tag for your site.

Let's add a new tag using the tag type named "Timer Listener". That enables us to set up a certain time threshold for each page the tag is added to.

Access the container for your website and click "New" in the upper right corner and then "Tag" to create a new tag in your GTM container. Name the tag "ABR Time Fire".

Add New Tag

2. Select "Timer Listener"

For Tag Type, select "Event Listener", and then "Timer Listener" from the dropdown.

Add Event Listener

3. Set Up Your Timer Listener

The event name will be pre-populated with "gtm.timer" which is the default event when using the timer listener. Leave that event name in place.

For "Interval", enter the time in milliseconds that you want to wait until firing the event. 1 second = 1000 milliseconds. So, if you wanted to wait 30 seconds, then enter 30000 in the text field.

For "Limit", enter 1 since we don't want the event to continually fire. You simply want to know that the user stayed on the page for 30 seconds or more.

Don't click "Save" just yet. We need to set up a firing rule.

Timer Listener Interval

4. Create Firing Rule

Now we need to set up a firing rule, which enables you to determine when the tag should fire. For our example, we want the tag to fire on every page of the website (so we can track if users are spending more than 30 seconds when visiting each page on the site).

Click the "Add" button in the "Firing Rules" section in the upper right corner of the screen. Select the "All Pages" rule, which is one of the default rules in Google Tag Manager. It uses a regular expression to match all pages on the site (.*).

Now you can click "Save" at the bottom of the window to save this tag.

Add Firing Rule

5. Add New GA Tag To Track The Event

Next, we need to create a new Google Analytics tag that will track the event once the time threshold fires. The first tag we created took care of the timer, which will fire based on the amount of time a user spends on the page. Now we need a tracking tag to communicate with Google Analytics so the event can be captured in our reporting.

Click "New", and then "Tag" to create a new Google Analytics tag. Name this tag "ABR Track" and choose "Google Analytics" for tag type.

This tag will send tracking data to GA so it can be calculated in your reports. Without this GA tag, your reporting will never see the event data. Enter your web property ID (UA-XXXXX-X).

Select "Event" as the track type. Remember, we want to fire an event that can be tracked in GA if a user spends a certain amount of time on the site. For our example, it's 30 seconds.

Add Google Analytics Tracking Tag

6. Set Up The Event Tracking Parameters

Now populate the event tracking parameters, which should be familiar if you've previously used event tracking in Google Analytics. Enter a category, action, and label (label is optional).

For our example, use "Time" as the category, "30 seconds" as the action, and "User remained on site for 30 seconds" as the label.

You can leave "Value" empty.

You can leave "Non-interaction" as (not set) since we want to make sure the event actually affects our bounce rate percentages.

And don't click the "Save" button yet. We still need to add firing rules.

Event Parameters

7. Add Firing Rules

Now we need to set rules for when this event will actually fire. As of now, the tag doesn't know when to fire the event, so we'll need to add a rule via the "Firing Rules" section of the tag window (in the upper right corner of the screen).

Next to "Firing Rules", click the +Add button to bring up the "Add Rules" window. Then click the radio button labeled "Create a new rule". You can name the rule "ABR Fire".

We must select the condition for the event to fire. Choose "{{event}}" in the first dropdown for conditions (which is a preset macro in Google Tag Manager). This tells GTM to look for a specific event when determining when to fire the tracking tag we are setting up. Choose "equals" and then and then enter "gtm.timer" in the text field (which is a built-in event that triggers when a timer event listener fires).

Remember, we set up a timer listener that will fire when a user spends 30 seconds or more on a page. The firing rule we are setting up now will listen for that event and will fire our GA Tag when that happens (which means a user spent more than 30 seconds on a page).

Click "Save" at the bottom of the rules window.

GTM Firing Rule

Awesome, we now have our tags set up and we're ready to test!

8. Preview and Debug

Google Tag Manager provides a nifty preview and debug feature that enables you to test your new tags before publishing them to your website. It's an extremely important step in the process, since you don't want to push out flawed GTM updates to a production site.

Click the "Preview" button, and then "Update, Preview, and Debug". This will put you in debug mode and will enable you to see what's firing and when (without actually publishing your new tags to your production website).

Update Preview and Debug

9. Test Your Site in Debug Mode

Once you see the preview and debug message highlighted in yellow at the top of the screen, you can visit your website in a new tab or window and view which tags are firing. When you load your site in a new browser tab or window, you will see the preview and debug window at the bottom of the screen. It will show you which tags are loading and firing as you browse your website.

For our purposes, we'll want to make sure the "ABR Time Fire" tag fires when tag manager loads. That's the timer we set up to track time on page.

Preview Debug Live

Then we'll need to wait 30 seconds to make sure the "ABR Track" tag fires. That's the event that will be sent to Google Analytics informing GA that a user remained on the page for more than 30 seconds.

Below, you can see both tags fired correctly, which means we're ready to publish the tags to our website via Google Tag Manager.

Preview Debug Live ABR

10. Exit Debug Mode

After previewing your new tags, you can revisit the browser tab containing Google Tag Manager and click the "Exit" link in the preview and debug message.

Exit Preview Debug Mode

11. Create a New Version

Next, we need to create a new version of our container, which will contain our new tags. Google Tag Manager provides versioning, which enables you to easily revert to previous versions of your container.

This is a great feature that documents your publish history, while enabling you to drill into each version you created in the past. And you can always roll back to a previous version of your container in case mistakes were published.

Click the "Create Version" button in the upper right corner of the screen to create new version of your container containing your new tags.

Create Version

12. Publish Your Container

Once you create a new version of your container, you'll need to publish that version to your site. That will push the latest tracking tags to your production website.

Note: if you don't create a new container version and then publish it, your new tracking tags won't work. That's an important point, so read that last line again.

Just because you created new tags and tested them doesn't mean they are pushed to your website. Click the "Publish" button in the upper right-hand corner of the page to push your latest updates to your website. In mere seconds, your new tags have been deployed to your entire website. Awesome.

Publish container

13. Test Your Production Website

Now you just need to test the production version of your website to make sure an event is firing when someone remains on a page for more than 30 seconds. This post will cover one of several ways to do this.

If you fire up Google Analytics and check the real time reporting, you'll see a link labeled "Events" in the left-side navigation. Clicking that link enables you to see events firing in real time. Note: you can also use the Google Analytics Debugger Chrome extension to view the events being fired in real time.

Simply visit a webpage on your site and wait for 30 seconds. You should see the event named "Time" with an action of "30 Seconds" appear in your reporting. If you see that event fire, then you have successfully implemented adjusted bounce rate via Google Tag Manager.

Congratulations!

Real-Time Events

Summary – Gaining a More Accurate View of Bounce Rate

By following the tutorial above, you'll be able to leverage Google Tag Manager to efficiently roll out, and track, adjusted bounce rate and gain a much stronger view of user engagement by taking "time on page" into account.

Once you implement ABR via Google Tag Manager, you just might have a different view of your content from an engagement perspective. Content that once seemed to have high bounce rate problems might actually be fine. And on the flip side, content you find with high adjusted bounce rates can raise serious red flags engagement-wise.

The good news is that you'll have fresh data soon (as long as you implement ABR today). Good luck.