Why Google Analytics’ goals only record once

How Google Analytics’ goals work

Google Analytics’ Goals are one of the most important parts of any Google Analytics implementation, but they are often misunderstood and therefore misreported. In this article HammaJack co-founder, Jacob Moran, outlines how they work and why trying to count them twice isn’t possible.

The scenario

At HammaJack we get asked a lot how goals work so let’s set the scene. Let’s say that you have a job board site that allows users to apply for jobs. The basic scenario is as follows;

  • User comes to the site

  • The user applies for a job by submitting a form

  • The user sees a confirmation page 

  • The user then leaves the site

In Google Analytics you have set up a goal based on a destination that fires when the user gets to that page.

This all works well if the user only applies for one job, but what if they apply for more than one? Well, that’s where it gets tricky. 

How Google Analytics’ goals work

Before we go on it’s important to understand exactly how Google Analytics Goals work. 

Firstly, Goals are not like Pageviews or Events, they don’t actually exist as something that is sent from your website to Google Analytics. They exist only as representations of data (like a Pageview). This means that frequently Goals aren’t the most useful way to show data, and fellow HammaJacker, Jose Arevalo, has previously written about other ways to represent the same data without using a precious Goal slot.

Goals are defined at the session-level scope. What does this mean? In Google Analytics you have four different levels of scope;

  • User

  • Session

  • Hit

  • Product 

This topic requires its own article, but if you’re interested you can read this great guide on how scope works in Google Analytics. The basics are, a user is a device (or person), a session is one time that they visit a website, a hit is a particular interaction within a session (like a pageview) and a product hit relates to e-commerce data. 

The important thing for Goals is that because Goals are defined at a session scope level, they cannot be triggered more than once in a given session. 

The reason for this is because Goals are effectively a fancy way of putting a session into a bucket, i.e. once the session completes a goal they are taken from the not converted bucket and placed into the converted bucket. Once they are in the converted bucket they cannot be put back in that bucket.

So that means that no matter how many times a user submits a goal in a session it will only be counted once.

Please note that a user can complete multiple individual goals per session. So if you have an apply goal and then a newsletter goal, both of these can be converted in the same session. 

Why is it set up like this?

This is simple if a user submits a form several times and you don’t want to usually consider them as multiple conversions. There are obvious use cases for this scenario, but for the majority of the time, this is not the case.

What does this mean for our example?

So let's say that in our example a user comes in the same session and submits multiple job applications. They would only be counted as one goal completion and there is nothing that you can do in Google Analytics about it. 

So what can we do about this?

While you cannot without some horrendous trickery make double Goal tracking work, you can get more accurate numbers by identifying the Event or Pageview that the Goal is representing, and then showing these in a visualiser like Google Data Studio.

The reason for this is that there would be multiple Pageviews on the example’s destination page that you could turn into a usable metric.

So, therefore, your options are;

  1. The solution that we outlined here shows you how to do it.

  2. Make a custom report inside of Google Analytics

  3. Make more specific goals based on different actions (but please tread carefully with this one)

Most important point

The key takeaway here is to understand that Goals cannot be triggered more than once in a given session. This is great if you have a Goal such as a newsletter sign up which you don’t want the same action tracked as 6 different Goal completions, but not great for something like multiple job applications. The good news is, if you want to get around this you can identify what the Goal is representing and display this on a medium such as Google Data Studio.