Creating Custom Metrics by Stages of the Customer Journey

June 18, 2020
Creating Custom Metrics by Stages of the Customer Journey blog image

What would you do if you knew what stage(s) of the user journey your prospects were dropping off on your website?  This blog describes how to set up tracking and reporting in Google Analytics and Google Tag Manager to analyze the user journey and the actions users need to take by different touchpoints. We’ll identify user journey stages and build custom and calculated metrics per those stages.

To identify the stages of the user journey on your website, we’ll use the AIDA model with the following stages:

  1. Attention or Awareness
  2. Interest
  3. Desire
  4. Action
  5. Retention

Note that Retention is optional, and I won’t be describing this stage in the blog post but the Retention stage can be useful if you sell, for example, subscription services or run donations as part of your services, or want to analyze a user’s subsequent purchases.

To read more about the AIDA concept, see this good old Wikipedia post.

The actions a user needs to take from the Awareness stage to Action (or Retention) depend on your website and your company’s business model. I’ll use the website as an example and build the relevant user touchpoints according to the site's primary and secondary website goals.

What is Bounteous & why do I need them? You have my attention - tell me more I might be interested in their services I am buying their services!
Awareness Interest Desire Action
Read About Bounteous (/about) pages Read Bounteous Case Studies (/case-studies) pages Submit Sign Up form to remind about the public training sessions Submit Contact Us form (as one of the main conversions for B2B sites) 
Read Bounteous blog (/insights) pages Read about Bounteous Services (/services) pages   Register for a training session
  Read about Bounteous public trainings (/training) pages    
  Read about Bounteous events (/events) pages    

Why Should We Care? 

Such analysis helps us understand how users move through their journey on the website from Awareness to Action (or Retention) stages. With that data, we’ll be able to see on what stages most of our prospects are dropping off. The data won’t tell us why they do that but it will tell us where to look for answers and further optimize. 

How Do We Do This?

What we do next is set up custom metrics for each action we previously identified per stage. It means that we’ll have four custom metrics (five if you use Retention stage) per each stage in the end. If we have an event set up for a specific action—for example, a Sign Up form submission event—then we will add the custom metric to that tag, the value of which will increment by one with each action.

This is the alternative to using Google Analytics (GA) goals. You can set up the same stages and actions accordingly using GA goals. You can have up to 20 GA goals per view. Please note that GA goals are applied on the session level while custom metrics are applied on the hit level. In other words, a goal records an action only once per session even if an action occurs multiple times within a session. A metric, in turn, records each action.

It’s a good idea to set up goals for every important user action on the website and use those goals in Channel reports and others to measure your traffic against the goals. Custom metrics are great in doing additional analysis and building funnels with the stages.

Please note: Custom metrics are set on the property level, meaning you’ll see custom metrics in any view of that property where you created them. You can set up to 20 custom metrics in the standard version of Google Analytics and up to 200 custom metrics in the Google Analytics 360 (GA360) version.

Calculated metrics, in turn, get created on a view level. It means that if you see that calculated metric only in a view, you created it. You can set up to five calculated metrics per view in a standard GA version and 50 calculated metrics per view in GA360 version.

Let’s start from the Google Analytics configuration and set up custom metrics per each stage within the GA interface.

Google Analytics Configuration

We need to go to Admin from the left navigation > Custom Definitions under the Property column > Custom Metrics > + New Custom Metric. I named my custom metric “Stage - Awareness.” Please use the naming conventions that make the most sense to you.

The scope of this custom metric is hit scope, because we are measuring actions, which occur at the hit level. The formatting type is an integer so we see a numeric value. We don’t have to put any values into Minimum or Maximum Value boxes, we’ll assign the value within Google Tag Manager (GTM) a bit later.

Please make sure the Active checkbox is checked and hit the Create button, then click Done. We don’t need to copy any code from there because we do the implementation in GTM.

Create the rest of the custom metrics the same way. In the end, we have five new custom metrics, one metric per each stage. We’ll need metric index numbers for the GTM implementation so leave the tab with GA open. We’ll go back to it to double-check the index numbers. Please note that in your case, custom metrics can have different index numbers from the numbers shown here.

Now, let’s go to the GTM container and continue the implementation there.

Google Tag Manager Container

For the Awareness and Interest stages, we have a set of page paths we want users to view. We don’t need to set up events to track these page views specifically for the custom metrics. Instead, we’ll create a RegEx (regular expressions) table variable in GTM to attribute an appropriate page path to its custom metric index and send it with our existing GA Pageview tag.

In the variable, we’ll select Page Path as Input Variable and specify different page paths in the Pattern column. Then, we’ll add an appropriate custom metric index to each page path into the Output column. In my case, /about and insights pages go under Awareness stage with custom metric index 2 and /case-studies, /services, /training, and /events page paths have custom metric index 3 as Interest stage.

Next, navigate to the Pageview tag, check the box to “Enable overriding settings in this tag” below the Google Settings Variable dropdown, expand More Settings, expand Custom Metrics, add the RegEx table variable into Index box, and put “1” into the Metric Value box.

What this will do is send “1” each time a user sees /about or /insights pages to the Awareness stage custom metric and /case-studies, /services, /training, and /events pages to the Interest stage custom metric. In the end, we’ll see how many such instances we had for the specified timeframe.

Moving to the Desire stage, we have a Sign Up form that a user submits if they want to be reminded about the upcoming training sessions. The setup for this custom metric will be a little different because we have already an event created that tracks this form submission.  Let’s navigate to that GA Event tag in GTM.

We need to check the box next to “Enable overriding settings in this tag” below the Google Settings Variable dropdown, expand More Settings and expand Custom Metrics (similar to what we did with Pageview tag). We put “4” into the Index box as Desire stage custom metric’s index number. For the Metric Value, we put “1” because we want this metric to display “1” each time the form submission event fires and then increment by 1 with each new instance.

This is the same way you’ll need to finish the setup for the Action stage adding a custom metric to the event tags. If you have Retention stage, then set up a custom metric for appropriate actions either in an event tag or a pageview tag depending on actions. Test everything to make sure it is working correctly and then publish when all looks good.

How Do We Report on the Data?

As a next step, we’ll set up a custom report where we see the user flow with our custom metrics. I’ll be re-using one of my favorites reports in Google Analytics—Channel > All Traffic report to understand if channels bring high-quality traffic. But, before we dive into the report, let’s create a segment and a calculated metric that would make our reporting more insightful.

We’ll create a calculated metric that will show us the completion rate for the stages and a sequence segment to help us analyze new users who go through the stages we identified at the beginning of the post. This way, we’ll have more information about user behavior.

The formula for the calculated metric that I named “Stage - Completion (Action/Awareness)” is the following:

“Stage - Action” custom metric divided by “Stage - Awareness” custom metric.

The formatting type is Percent so we see the completion rate of those users who went from Awareness stage to Action stage. I added “stage” to the calculated metric so it will be associated with the stages reporting but technically, this calculated metric is not a stage, it shows a completion rate.

Similar to Action/Awareness calculated metric, you can create additional calculated metrics for Interest/Awareness, Desire/Interest, Action/Desire, and Retention/Awareness (if you have a Retention stage).

As a next step, we’ll need to create a sequence segment for better reporting and analysis. We’ll report on new users who went through all the identified stages of the user journey on the website and see where they are mostly dropping off. Please see below the screenshots on how to create a needed segment.


After we created a calculated metric and segment, we’ll add a calculated metric to the report and apply our segment. This is what our report looks like now:

To take it further, you can create a funnel reporting with scorecards per each stage and a calculated metric and then apply different segments to look at campaign traffic, device category, etc. If you have the GA360 paid version, check out the Analysis tool (left menu > Analysis > Funnel Analysis) where you can use custom metrics as steps.

Explore Customer Journey With Advanced Analysis In Google Analytics 360
By Abby Matchett,
VP, Data Strategy
· July 13, 2018

You may find that a small percentage of your users actually go through this path. The thing you can do is to work on a user funnel before the conversion (stage - action) and identify more specific actions users take to move through the funnel. What can help you is checking All Pages, Content Drilldown, and Top Events reports with the completed conversion segment applied.

What’s Next? 

If you have multiple user journeys that depend on the business model (B2B or B2C) or a user journey that depends on a product, you could create multiple Stage Custom Metrics per stage per user journey. If you need to combine those custom metrics, for example, you have two Action stage custom metrics you’d want to combine into one, then use a calculated metric to do so (Action Stage 1 + Action Stage 2). 

Analyze and build as close as possible to the user journey for your ideal buyer persona. Also, it’s helpful to identify your analysis goal—do you want to analyze new customers or customers with 2+ purchases? Then, segment accordingly. Overall, it pays off to know your customer and their journey on the website. Further actions with this information? Personal and more targeted marketing according to the stage your potential customers are in.

Go further with your analysis! Apply segments to analyze the user behavior from specific campaigns to understand what performs better and where to optimize. 

Once you do the analysis and understand what stage users are dropping off, come up with the ideas on how to move users through the funnel. Then, execute. Test and analyze if it’s working. Never stop testing!

picture of ron burgundy with text that says testing, it's kind of a big deal