Google Analytics: Custom Metrics & Dimensions

Josh Berry-Jenkins - Technical Director Written on May 28th, 2020, Last updated on October 10th, 2023

Google Analytics often sits at the hub of all your major user data, it can be used to effectively understand who, how and when people engage with your business. It is an extremely powerful data reporting tool when used right, with a whole plethora of inbuilt reports to help you realise your web potential, but why stop there?

This Google data analysis tool also has the fantastic ability to allow you to augment your data analytics further with the use of custom definitions such as custom metrics and dimensions.

What are Custom Definitions?

Essentially both types of custom definition allow you to further enhance your analytics by appending further information to hits, sessions or users. What data you may choose to append depends on what benefits your analysis the most.

These definitions could range from the tracking the user’s weather conditions as they interact with your website to understand how temperature can affect your sales and conversion rates, to tracking Googles clientId for use in custom reports for tying together hits within a session.

Spongebob using his imagination
The limit is your imagination!


Neither of those take your fancy? What about categorising users based on which of your sites they have interacted with? Or classing users based on their interactions (Bronze, Silver, Gold), there are all sorts of things you can do with custom definitions, the limit really is your imagination.

Settings Up Custom Definitions

To set up your custom definitions you need to go to your analytics account >property settings > custom definitions.

From here you can set up and add you custom google analytic metrics and google analytic dimensions along with the desired scope:

Custom Dimensions in Google Analytics
Custom Dimensions in Google Analytics


Keep in mind however there is a limit of 40 custom definitions, that is 20 metrics & 20 dimensions, so try to make sure you pick things that actually benefit the way you study your analytics account.

Now that you have your custom definitions how do you set them up? There are multiple ways to go about this, but the most common method is to deploy them via Google Tag Manager (GTM). If you’ve deployed Google Analytics Tag Manager style, then simply navigate to your Google Analytics Settings variable > More settings > Custom Dimensions:

Custom Dimensions in Google Tag Manager
Setting Custom Dimensions in Google Tag Manager


From here add your custom definitions alongside the index they are given in Google Analytics, and then you can use a GTM variable to populate these on all relevant analytics interactions. You can also hardcode values as seen on the custom Metric above, but this is generally not recommended unless you have a particular niche purpose to be doing so.

Now that we have covered some of the basic possibilities what exactly does each definition do, and when should you use which?

What Are Google Analytics Custom Metrics?

Custom Metrics are as their name suggests treated as metrics, which means a couple of things in practice.

The most important of which is that they are quantitative, which means that if you were looking at a report with temperature as a custom metric, you would see a cumulative average based on the report you were viewing.

As such this can be a tricky one, on first inspection average temperature for high-value sales could be tempting, but then you might realise that those two buyers from the Nevada desert are really skewing your data!

Another thing to keep in mind is that custom metrics are attributed to hits or products, rather than users or sessions. And this makes perfect sense because again, they are cumulative, each hit will add your custom metric values so that you could see the sum total for example during a session, this is much preferable to only the latest value being recorded and wiping previous data.

In my experience, due to the above, the best values to be recorded as a custom metric tend to be slightly more abstract, such as user value. Perhaps you’ve designed some kind of index for attributing values to interactions with certain blog pages or events. Rather than having these locked into just the event reports you could pass these metrics along and see how sessions total up in terms of values. This could help answer questions such as what pages attract high-value users.

Another idea may be to count social shares, find which pages or interactions are causing the biggest buzz, and just generally have a better idea of the return from your social media pushes in terms of the website interactions.

You could then compare these values against conversion goals and adjust accordingly until you find that just-right formula for understanding the value of user interactions.

Top Picks:

  • Social Value
  • Video Content Watched
  • Blogs Engagements

What Are Google Analytics Custom Dimensions?

Custom dimensions, on the other hand, are not quantitative, they shouldn’t be used to tally scores or discover interaction values, but rather used to add meaningful context to a hit, session or user. As such the possibilities for custom dimensions are even more numerous than custom metrics in my opinion. That may leave you asking, custom dimensions can be used as what? Let’s dive into some examples of custom dimensions, Google Analytics use cases and generally try to get a better understanding of how these work practically.

Some examples of useful custom dimensions you might want to include are these such as boolean values (true or false), for example, have they seen variant A/B of your site, mark them up and see how they compare against users who saw the other variant.

What about understanding bot traffic and how your site is being scraped? Why not check for anyone using a headless browser, mark them as such and see how they interact with your site in a non-bot excluded view. You might find some systematic scraping of your product pages from competitors!

We could also return to the idea of the weather, conditions such as Sunny, Raining, Overcast certainly aren’t values to be treated as metrics, but they could make sense as dimensions, and get the data to back up whether customers buy more umbrella’s when it is raining because let’s face it people, don’t always adhere to the common logic principles we like to think they do!

Custom metrics aren’t however precluded from being numbers, just because they aren’t dealt with cumulatively, doesn’t mean they can’t be numeric. The next example is a great case of a numeric value stored as a custom dimension.

One final example is the use of a timestamp, without this custom dimension you are left guessing between an hour window by default analytics dimensions, sometimes that simply isn’t accurate enough. What if knowing the exact time allows you to sync up a big payment with the CRM and attribute your PPC campaign? Knowing the exact time of interaction can also really help identify otherwise poorly labelled data for tracing back important interactions that would otherwise have gone missing.

Detective with magnifying glass
Detective work just got a lot easier


As such timestamps are one custom dimension I would highly recommend!

Top Picks:

  • Time Stamp
  • A/B
  • CRM Unique ID / User Tracking


That should cover the basics around creation and use, meaning you now have everything you need to create custom definitions and populate them through GTM.

The main points to remember:

  • Maximum of 40 total Custom Definitions (20/20).
  • Metrics are quantitative and numeric.
  • Dimensions are generally qualitative or boolean (but can also be numeric!)
  • Both are very useful for extending your analytics reports.

For those who might be wondering how to setup your custom dimension via the GA tag, check out the following documentation: Google Analytics Custom Dimensions & Metrics

If you want to really delve into custom definitions, then get acquainted with Simo’s great blogs around the topic such as:

13 useful custom dimensions for Google Analytics & Use customtrack to access tracker values in Google Tag Manager.


I hope that helps answer some of the questions you may have had around custom definitions within the google analytics environment, feel free to share some of your fantastic use cases for custom definitions in the comments below or reach out to our team for a free proposal!

Josh Berry-Jenkins - Technical Director I’m Josh and I fill the role of Technical Director at Bind Media. I spend an ungodly amount of time tangled in deep analytical webs using Google’s suite of web analytics tools such as Google Tag Manager, Google Analytics and Google App Script (to name a few). You’ll generally find me being drip-fed copious amounts of coffee in a dark room, face brightly illuminated by multiple screens.

Ready to supercharge your paid media?