Goal Analysis (Part I) – The difference between First, Total and Unique Goal Completions

Setting up goals and analyzing them is the best way to measure your site’s performance and enables you to see if you have managed to achieve all that you set out to accomplish.

The problem is that although Google Analytics and other web analytic tools do provide goal analysis options, they only do so to a certain extent. In this post I will describe what I believe is lacking in Google Analytics (and in most other web analytic tools) and will offer a few possible options for achieving some of the missing information. In some cases, you will have to implement some modifications in the tracking code in order to obtain maximum data.

The main issue is that most web analytic tools relate to all goals in the same manner, yet different goals exhibit different types of behavior, thereby requiring different and specific metrics.

Different Types of Goals

An online music store is a good example for demonstrating different types of goals. The user signs up and becomes a member/customer of my store – first goal achieved: “Sign Up”. That person then purchases songs and albums from the store – second goal achieved: “Purchase”.

Let’s take a closer look at the differences between these two goals:

  1. “Sign up” can (and should) only occur once per user
  2. “Purchase” can (and should) occur as many times as possible.

In fact, we actually have three goals here, not two:

  1. Sign Up
  2. First Purchase
  3. Further Purchases

In order to fully understand which goals have been achieved and to which degree, it is of great importance to measure and evaluate each of these goals differently. The Return on Investment of each goal may also differ, as marketing efforts for convincing people to sign up differ greatly from sales efforts for convincing customers to purchase a song or album for the first time, and then again to continue buying.

Dividing the second goal (“Purchase”) into two separate goals allows a better understanding of our customer’s behavior (note that visits of potential customers differ from visits of existing customers) and of the ROI of each stage, especially as investments in initial sales differs from investments in retention efforts (such as email campaigns for existing paying customers).

Marketing, Sales and Retention Goals

Assuming the marketing team is responsible for attracting new customers, the sales team is responsible for converting potential users to paying customers, and the retention team is responsible for convincing these customers to make additional purchases, the following questions will probably be asked:

  1. Sales: How many new paying customers were there last week?
  2. Retention: How many existing paying customers were there and how many purchases per customer were made last week?
  3. Marketing: How many visitors were there last week? What was the actual cost per sign up and what was the conversion rate from “visitor” to “sign up”?

1. Sales: How many new paying customers did we have last week?

From the sales perspective, we are interested in the number of potential customers (i.e., visitors who signed up for my service) who became paying customers (i.e., visitors who purchased for the first time) during a specific period.

The diagram below shows the following data for the week of Jan 5th – Jan 11th:

  • 2 first purchases (gray stars)
  • 3 unique users (each performing at least one purchase)
  • 8 purchases in total (gray and white stars)

In order to evaluate sales efforts, first purchases must be analyzed. (Again, recurring purchases are probably not related to sales efforts.)

2. Retention: How many paying customers and how many purchases did we have, and what was the average ratio of purchases per customer last week?

Paying customers are unique visitors who made at least one purchase during the specific period.
In order to see how many purchases were made, we have to look at the total number of purchases during that time.
To be able to calculate the average amount of purchases per customer, we have to divide the total number of purchases by the number of unique visitors.

3. Marketing: How many sign ups did we have last week?

Although each customer should theoretically only sign up once, there are cases in which the same visitor signs up more than once. When running a marketing campaign, it is important to understand the actual cost per acquisition (cost / sign ups). In order to calculate the actual CPA, we need to know how many first sign ups there were and then divide the cost of the marketing campaign by this number (note that analysing the total number of sign ups will in some cases give you an incorrect actual CPA).
Measuring “firsts” in online marketing campaigns is much more complicated than I depicted above (especially when your visitors can come from multiple channels), but that is a discussion for a separate post. Google Analytics does have a new feature called “Multi Channel Funnel” (currently in beta), which is much better than what is offered by other tools but there too the data, in my opinion, is limited.

Measuring Total / Unique / First Using Google Analytics

Now that we understand what we need, how do we perform these calculations? Unfortunately, Google Analytics does not provide any of these metrics (unless you use e-commerce tracking on your site, which provides slightly more information on some of your goals) . The “Total Conversion” report, or the “Goal Completion” metric presents the number of unique visits during which the specific goal was achieved. Therefore, if a visitor makes two purchases during the same visit (which can happen, especially if you have post-sale activities such as exit site pop-ups, online agents and post-sale recommendations in the email confirmation note), they will be counted as one purchase.

Measuring “Firsts” using Google Analytics

You can set up a different goal for a first time purchase and only send this event the first time the visitor performs an action. For example, you can store a flag in a cookie once the visitor purchases something on your site. Then every time the “purchase” event is sent to Google Analytics, your tracking code will check if this flag exists. If it does exist then it means that the user has already purchased something in the past. If there is no flag, then the tracking code will send an extra event called “First Purchase”. This will ensure that you have an accurate metric for the amount of first purchases performed.

If we look at the diagram again, the gray stars represent now two events: “First Purchase” and “Purchase”:

Measuring “Totals” using Google Analytics

When using GA, if an event can only occur once per visit (such as “Sign Up” or “Login”), the “Goal Completion” metric will provide you with the correct value. Things, however, become more complicated when the same event occurs more than once per visit (such as “Purchase”, “Download” or “Fill in a Form”).

I can think of three ways to ensure the real number of “totals” is achieved:

  1. Instead of looking at the “Goal Completion” metric, check the amount of page views on the relevant event/page.
  2. Store the amount of purchases per session in a custom variable (session level) and issue a report with the amount of goal completions (metrics) and the custom variable value (dimensions).
  3. Set multiple goals for purchases (for example, “purchase-1″, “purchase-2″, etc.) and send a unique event for each purchase during the same visit (store the current purchase number in a session cookie). I have to admit though that this option is not scalable and can be relatively messy…

Note, if you are using the e-commerce tracking, you will be able to receive the real number of total conversions in the e-commerce transactions without implementing any special adjustments.

Measuring “Uniques” using Google Analytics?

Let’s look at the diagram again:

Calculating the real amount of “First Purchases” is relatively easy: Define a separate goal for “First Purchases” and look at the “Goal Completion” metric of a specific period.

Calculating “Uniques”, however, is a completely different story. Goals in Google Analytics are calculated per visit – not per visitor – so there is no easy way to measure how many unique users performed something. Therefore I would like to suggest two possible options for obtaining this information:

  1. Create an advanced segment for this goal. For example, if your goal is an event called “Purchase”, then create a segment where the event category is equal to “Purchase”. If your goal is a URL, then create a segment where the “page” dimension equals that URL. Apply this segment to a custom report that has the “Unique Visitors” metric. This way, you will be able to see the amount of unique visitors who performed the specific goal.Note however that there is an unexplained bug where Google Analytics presents different values for the “Visitors” and the “Unique Visitors” metrics (unique visitors are higher for some unknown reason) when applying a segment (any segment), so I usually try to avoid this method (although theoretically it should be the easiest way to obtain this information…)
  2. Create a random unique identifier for each user and store it in a custom variable. It is important to create a random, anonymous ID and not use your own identifier, in order to avoid violating Google’s terms of use. Once you have this custom variable, you can go to the “Custom Variable” report and apply a filter that excludes non-converted values (e.g., “Goal 1 Conversion Rate” greater than 0). The number of rows represents the number of unique users.

    One more thing you can learn from this report is the average number of conversions per user (5,832 visits with conversions for 2,897 unique visitors = 2.01 conversions per user during that period of time).

    Bear in mind though that it takes Google Analytics up to 72 hours to update the custom variable values, so the report may not show data from the past 3 days.

Setting an anonymous ID per user takes us to a whole new world of information. With some coding, you can get enough information from Google Analytics API to produce metrics such as distance (average time, traffic sources, visits to goal completion), user path analysis and upper funnel/multi channels analysis.

In my next post I will show you how you can (or can’t) achieve data about first, unique and total number of goal completions using Performable and KISSmetrics, along with other useful goal information that can be gathered. I will also introduce you to CardioLog‘s new “Goal Analysis” Report and provide a version that works with Google Analytics API.