Evaluating The ROI Of Your Content Marketing With Event Tracking

Want to know more about how your content is performing? Columnist Matthew Barby provides a helpful how-to using Google Analytics.

Chat with MarTechBot


Content marketing has become a huge part of any search engine optimization (SEO) campaign. I don’t run any SEO projects where the development of content isn’t an integral part of my overall strategy.

Whilst this can deliver fantastic results in the long term, it can often be difficult to get buy-in from your client, or even justify it internally, due to the fact that it can be difficult to calculate the return on investment for it.

This is an area on which I’ve been focusing a lot of time, and it helps me to understand what content works well within my campaigns. As well as this I’m able to accurately track and measure the ROI of my content.

The beauty of it is that this can all be done for free within Google Analytics.

Event Tracking Within Google Analytics

If you’re not overly savvy with Google Analytics, don’t worry. I’m going to lay out this article as a step-by-step tutorial that you could either follow yourself or simply hand over to your developer/analyst.

Using event tracking in Google Analytics, you’re able to analyse the various behaviours that your readers are engaging in whilst on your website. This could include playing a video, signing up to a newsletter, downloading a PDF, how much of the content they view, how quickly they look through content and much more.

Within this article, I’m going to show you how to track the following:

  • Whenever somebody clicks on your social share buttons
  • How far your visitors are scrolling through your content
  • How quickly they scroll through your content
  • Whenever anyone downloads anything from your website
  • Any email newsletter sign-ups
  • Comments made on your content
  • Any direct enquiries that have come from your content
  • Any time someone plays video content on your website

These are just a few things that you can do, but they’re probably the measurement metrics that I use most frequently.

By the end of the tutorial, you should start to understand the basic concepts and be able to apply them to a number of different scenarios.

First of all, let me break down what event tracking code looks like. It’s broken down into three main parts:

  1. The event category
  2. The event action
  3. The event label

The category is the type of event that’s being tracked. For example, this could be “Newsletter,” “Email” or “Video” (non exhaustive).

The event action is the type of action involved with the event. For example, this could be “Sign Ups” if it was related to newsletter signups, or “Plays” if related to video plays.

Finally, the event label is an optional field that you can add in to give some extra info about the event. In most cases I insert the URL of the page so that I can see which pages have triggered the event.

Here’s an example of an event code that I have set up on my newsletter subscription form:



Tracking Downloads

One trick that I often employ across a lot of my content is to create a PDF version that I make available for download at the end of the post. In return for this, the reader has to sign-up to my newsletter.

Well, if I do this on most posts then I want to have a way of keeping track of which content is working best for getting results. This is where I use event tracking – this is particularly useful if you don’t want to redirect the user to a thank you page (just so you can record a goal in analytics).

Within the hyperlink code to my PDF I add the following code:

onclick=”_gaq.push([‘_trackEvent’, ‘PDF’, ‘download’, ‘/blog-article-slug/’]);”

Obviously you’ll want to replace ‘/blog-article-slug/’ with the actual post URL. This will help you see which page the event has occurred on and you can drill down easily to which traffic sources are working well for each type of content, etc.

Added into my PDF hyperlink, the final code will look something like this:

If you’re using WordPress as your CMS, then there’s a short line of PHP code that you can use within the event label value to automatically insert the URL of the current page into it dynamically. Here’s the code:

Within the full event code it will look like this:

onclick=”_gaq.push([‘_trackEvent’, ‘PDF’, ‘download’, ”]);”

Once this I all set up, you’ll start to see the events being recorded within the Behaviour>Events report in Google Analytics.

Tracking Scroll Depth & Scroll Rate

These are two of my favourite engagement metrics to use when measuring the performance of content. I use them all the time within my personal blogs and within the campaigns I run for clients.

Scroll Depth Event Tracking

Setting it up is slightly trickier than simply adding in a bit of code to a hyperlink. Luckily though, the guys at Blast Analytics have developed a plugin and a full tutorial on getting it working within Google Analytics that will get you tracking scroll depth and speed in no time at all.

Contact Form Submissions & Newsletter Signups

This is another very simple event to track within Google Analytics and can be great for identifying which content a visitor landed on that sparked them to make an enquiry through your website or sign up to the newsletter

All you’ll need to do is add the event code to the submit button of your contact/signup form.

On my food blog, the submit button code looks like this:

Pescetarian Kitchen Event Tracking Code

Image screenshot: Pescetarian Kitchen

For your contact form, you may want to use the following code:

onclick=”_gaq.push([‘_trackEvent’, ‘Contact’, ‘Enquiry’, ‘Contact Page’]);”

You can change the event label to be unique depending on the contact form that you’re tracking.

Tracking Social Share Button Clicks

Tracking clicks on social share buttons within your content is a great way to analyse the performance of your content. Now, you could obviously just go and find the individual share counts across each platform by using a service like Shared Count, however, specific button tracking offers a lot deeper insight.

For example, you’ll be able to track which traffic sources are generating the most social shares of your content, and you can even segment this by social network. This is just one of the ways that it’s useful.

The best way to set up tracking on your social share buttons is via _trackSocial as opposed to _trackEvent. This will take you a little longer to implement (no longer than a half hour), however it may be slightly too long for me to go through in this article.

That said, the wonderful Joost de Valk has put together an awesome guide to setting this all up, so check it out.

Blog Comments

Tracking blog comments is another really easy thing to do. It’s great to track this so you can get an understanding of what type of visitor is leaving comments on your content and where you should be focusing more of your content promotion in order to increase engagement.

You’ll want to add the following code to the submit button of your blog comment form:

onclick=”_gaq.push([‘_trackEvent’, ‘Comment’, ‘Submit’]);”

You could add an event label if you like, but I tend to keep it simple for this. If you’re using the Disqus plugin for comments then you may want to take a quick peek at this quick tutorial to easily implement event tracking into the plugin.

The Possibilities Are Endless (Well, Almost)

Using the same core approach to event tracking, you can really customise what you want to track to fit in with any content campaign. There are lots of really creative event tracking tutorials out there that showcase some pretty inventive stuff.

For your benefit, here are a few of my favourites:


  • Event tracking within Google Analytics can offer a huge amount of data around the performance of your content without distorting the experience of the user.
  • Multiple actions can be recorded within a single user session with event tracking, unlike with simple goal tracking (which is unique per session).
  • You can track downloads, contact form enquiries, scroll depth, scroll rate, video plays and much more.
  • If you haven’t started using event tracking, put it on your to-do list tomorrow.

Opinions expressed in this article are those of the guest author and not necessarily MarTech. Staff authors are listed here.

About the author

Matthew Barby
Matthew Barby is the Global Head of Growth & SEO at HubSpot. Matt's a lecturer, global speaker and runs the Pescetarian Kitchen blog.

Fuel for your marketing strategy.