Content Tracking with Google Analytics – Free WordPress Plugin

Click Here to Download

Purpose and Use

The purpose of this plugin is to track visitor engagement with WordPress posts. It is based on the methods and code provided by Justin Cutroni in this blog post. A detailed description of how to use the plugin is described in the authors’ blog post here.

Only Posts are Tracked

At the moment, this plugin only tracks engagement with WordPress Posts, not Pages. Soon, we will release an update that also supports Pages.

Warning – This Plugin May Reduce Your Bounce Rate Significantly

As described below, this plugin changes the way that bounce rate is measured. But, that may not be a bad thing. We plan to release a version that enables you to turn off this side effect.


Google Analytics must be installed.

Your WordPress site must already be running Google Analytics to use this plugin. If you need to install Google Analytics, I recommend Yoast’s free Google Analytics for WordPress plugin.

WordPress Version 3.9.1

We built and tested this plugin on WordPress Version 3.9.1. We recommend upgrading your WordPress before installing this plugin. But, if you cannot upgrade, feel free to give it a try anyway, and let us know how it goes via email: If it doesn’t seem to be working, we will try to debug it and get it working on your version of WordPress.


You can download the plugin from the GitHub repository or

Click Here to Download

Once you have downloaded the ZIP file, you can install it in WordPress. First, log in as an Administrator, and then follow these steps.

Go to the Plugins Section and Click “Add New”


Click “Upload” on the “Install Plugins” Screen


Now, click the “Choose File” button, select the ZIP file that you just downloaded, and then click “Install Now”. When the file is finished uploading, you screen should look like the image below. To finish the installation, click “Activate Plugin”.

Click “Activate Plugin”



The plugin starts working as soon as it is activated – content engagement is being tracked on all posts. However, you can tweak the configuration by going to the plugin’s administration panel.

Under “Settings” click on “Content Tracking with GA”


Now, you are in the plug’s administration panel and you can adjust the default settings. There are 4 settings, as shown below.

  1. Run in debug mode? – This will put the plugin into debug mode. No events will be fired. Instead, you will get alert messages (pop-ups) as you scroll. Use this only to test that the plugin is working. Leaving it in debug mode will discourage readers with annoying pop-ups!
  2. jQuery selector for the content DIV. – This defines how the plugin identifies the bottom of your content. In WordPress, post content by default is contained inside a <div class=’entry-content’>. So, the default setting here is ‘.entry-content’, which is the jQuery selector for that class. Unless you are using a custom post type in WordPress, this should work for you. Even then, most custom post types should continue using the entry-content class. However, if you are using a theme or plugin that has modified this, you will need to provide a jQuery selector for your post type template here.
  3. Delay after scroll event before checking location (milliseconds). – This plugin calculates location when scrolling happens. To prevent using up too much CPU and degrading browser performance, there is a delay introduced between the scrolling and the calculations, which limits the frequency of calculation. 100 milliseconds seems to work well.
  4. Distance from top of content that indicates reading has started (pixels) – This defines when the plugin fires the StartReading event. 150 pixels seems to work well. However, if you think that the user should scroll down further before being classified as a reader, then you can increase this.

Google Analytics Events Change Bounce Rate

This plugin adds Google Analytics tracking code to your site that tracks user behavior using Google Analytics Events. When an event is fired on a page – even if it is the only page in the visit – the visit is no longer considered a bounce by Google Analytics. This plugin fires an event on every post page, so single page visits to posts no longer are bounces. That will cause your average bounce rate to go down.

You may also notice an increase in the Average Session Duration. Events also increase the Time on Page measurement on exit pages. This may cause an increase in the Average Session Duration metric.

Increasing Bounce Rate is not Necessarily a Bad Thing!

If a visitor comes to you site, reads a post in-depth, and then leaves, should they really be classified as a bounce? Probably not. With this plugin, your bounce-rate will provide a more accurate measure of engagement.