Google Analytics event tracking: the basics
Notion of event tracking
When users browse your website, they navigate from page to page, generating page loads. This is the main interaction that is tracked by Google Analytics, and the pages’ URLs are recorded quite simply.
Events are also interactions that website visitors have with your content. But these interactions happen independently from the usual page loads. The scope of interactions that can be tracked by events is very wide (interaction with media (video/sound play), filing of a contact form, activation of a live chat, file download, button click). Some events can even play a determining role (triggering a virtual URL). Events are specific to Google Analytics.
These interactions require custom implementation, and they deserve a moment of reflection in order to maximise the value that they will provide in your reports.Caution about event tracking: the old and the new
As with everything in web analytics, event tracking has evolved over time. This means that you should always look out for an old way and a new way of doing things. The details covered below are based on the relevant methodology at the time of writing this article. So are the official ressources referred to below. Always make sure that the technology hasn’t evolved before to implement any web analytics project.
When looking or referring to resources, look for resources using analytics.js, and not ga.js which is the older version of the tracking code.
Event tracking structure: the main elements
Each event is composed of 4 sub layers of information, some of which are required:
● Category (required)
● Action (required)
● Label (optional but recommended)
● Value (optional but recommended whenever relevant)
Think of these as layers, from top to bottom. This means for example that you will be able to look at all of the actions contained within a specific category. However, actions and labels can also be looked at across the account, outside of their specific categories.
Category
The category is the top level of event information. That is where you differentiate between the different types of events that are implemented on your site. It is the least meaningful level in terms of value, but the most important in terms of structure (see below).
Action
This is the most self-explanatory level of information in an event. Within a category, the action specifies the type of interaction that is measured. Actions will typically be “click”, “play”, or “download”.
Label
The label allows to record additional information about your event. It allows differentiation within the same category & action. For example, this is where you will find the name of a downloaded file, or of a played video.
Value
The event value is not always used, but it can be very insightful. It differs from categories, actions and labels by its format: the event value is a numeric value while the others are strings. The value is the actual numeric value associated with the event (time in seconds, …).
Non-interaction events:
Some events are not the result of a user interaction. This is often the case when events are used to measure technical things (errors, …), not directly related to the active behavior of the visitor. It is important to take this into account when measuring things that should not influence the measurement of your bounce rate for example. Non-interaction events can be implemented via both methods described below.
How does even tracking work?
Events are basically hits that are generated by a programmed trigger. After implementation, certain interactions will trigger certain events. This means that the corresponding values for event category, event action, event label and event value will be sent to the Google Analytics account. There are two main ways of implementing event tracking. In both cases, you should contact experts, or make sure that the IT is up to date and aware about the technical requirements, and the strategic mapping of the different elements.
1) Hard coded implementation
The first way is the simplest to explain, but the most complex in terms of scope as it requires manual work. For each event, hits should be sent with a simple command, containing the wanted values:
ga('send', 'event', [eventCategory], [eventAction], [eventLabel], [eventValue], [fieldsObject]);
Non-interaction events will send an additional piece of information:
ga('send', 'event', 'Videos', 'play', 'Fall Campaign', {
nonInteraction: true
});
2) Google Tag Manager implementation
This should be your preferred implementation method. Event tracking with Google Tag Manager can take place in two different ways: with the auto event tracking, or by using a Data Layer. Both of those methods are beyond the scope of this article but there are plenty of resources out there on the topic.
How to build an event tracking methodology?
Common issue 1: unclear structure
Chances are, if you are looking at implementing event tracking, there is more than one action that you would like to track on your site. It is also common that event tracking has been implemented at different points in time, tracking a variety of things. Over time, this typically ends up with Google Analytics reports crowded with inconsistent categories, actions and labels.
Solution 1: a good naming convention
Besides a good implementation, the most important things about event tracking are preparation, structure and naming convention. Begin by mapping all of the elements that you need or would like to track on your website. Then look at how the interactions differ from each other. Are some more technical than others? Do some only happen in your booking flow? Does one particular type of interactions represent a majority of what needs to be tracked?
This will help you to define your event categories. Event categories should be considered as a high level sorting box for all of your events. The event category is also the top level layer in your Google Analytics reports. So this is where you want to be as strict as possible in order to limit the amount of categories to the strict minimum required by your tracking needs.
Of course, there are always exceptions. This high level sorting box for your events could be configured at the label level. This should only be done if you do not mind having a large amount of different categories. In this case, any kind of structure is possible, but the bottom line remains, map your needs ahead of time, and set up a structure that makes sense for your data, and that will survive the challenges of time.
Also, keep in mind category names will not update if you change the naming convention overtime. If you do that, ends up with two categories covering the same information. This complicates trend analysis and period to period comparison. Should this happen for any reason (if you are taking over an existing account and cleaning up an old implementation for example), make sure to include a Google Analytics annotation at the time of the switch.
Common issue 2: Too many events
Tracking too many events can result tracking overload. While some people are comfortable with a certain amount of data chaos, we do not recommend tracking overload for two main reasons:
1) Sampling issues
Most importantly, you should always remember that events are hits, and that hits increase data sampling in Google Analytics.
2) Non value added data
Web analytics tracking has a purpose: to increase awareness about important things that happen on your website. In fine, you are trying to create value by improving your conversion ratio, enhancing customer experience, or by controlling your development and advertising costs. Only track data that deserves your attention and resources.
3) Event recording limit
For efficiency reasons, and in order to maintain a manageable data flow, there is a limit in the amount of events that can be recorded at a time. The latest information available states that the first 10 events sent to Google Analytics will be recorded immediately. Afterwards, a maximum of one event can be recorded every second. This should be enough for the majority of situations. However, this shows that Google Analytics allows situations where events will simply not be recorded. So in line with the two previous points, avoiding tracking overload can actually help guarantee the quality and value of the data that you actually need.
Solution 2: a good mapping ahead of time
The solution here is actually very similar to the previous one. At the mapping stage, consider what is necessary/required versus what is neat/interesting. It is always “interesting” to track a lot of things, but don’t waste time and resources to track fun things that do not bring value. If your only issue is the data sampling, you can always consider Google Analytics premium which offers tracking virtually without sampling. For more information, contact your authorized reseller.
Official ressources: use the right information
Event tracking - analytics help:
https://support.google.com/analytics/answer/1033068?hl=en
Event tracking developer guide (analytics.js)
https://developers.google.com/analytics/devguides/collection/analyticsjs/events
Event tracking with Google Tag Manager
https://support.google.com/analytics/answer/6164470?hl=en
Author: Julien Cornet