What are Metrics and Dimensions in Google Analytics?

Last Updated: September 5, 2023

Table of Contents

What is a dimension in Google Analytics?

A dimension is the attribute of visitors to your website.

For example, let us suppose 27,379 people visited your website via Google organic search in the last month.

Now all these 27,379 people who visited your website have one common characteristic /attribute. They all visited your website via Google organic search (which is reported as google/organic in Google Analytics).

As a result, ‘google / organic’ is one of the attributes of your 27,379 website visitors.

Google Analytics reports the attribute of visitors to your website as a dimension:

ga dimensions metrics name and value

Each dimension is made up of names and values.

For example, ‘Source/Medium‘ is the dimension name, and ‘google/organic‘ is the dimension value.

Suppose 247 people visited your website via Google paid search in the last month.

Now all these 247 people who visited your website have one common characteristic /attribute. They all visited your website via Google paid search (which is reported as google/cpc in Google Analytics).

As a result, ‘google / cpc’ is one of the attributes of your 247 website visitors and is reported as a dimension in GA:

ga dimensions metrics cpc

Since each dimension comprises names and values, ‘Source/Medium‘ is the dimension name, and ‘google/organic‘ and ‘google/cpc‘ are dimension values.

A single dimension like ‘Source/Medium’ can have a lot of values:

ga dimensions metrics many dimension

Another example

A man aged 25-34 from London visited your website after clicking on an organic search listing on Google which he found by searching for the keyword ‘attribution modelling’.

Let us also assume that he visited your website via a Chrome browser installed on a desktop computer that runs Windows.

Now following are the attributes of the visitor to your website along with their values:

Gender – male
Age – 25-34
City – London
Source / Medium – Google / Organic
Keyword – Attribution Modelling
Browser – Chrome
Device Category – desktop
Operating System – Windows

Here, ‘Gender’, ‘Age’, ‘City’, ‘Source /Medium’, ‘Keyword’, ‘Browser’, ‘Device Category’ and ‘Operating System’ are all reported as dimensions in Google Analytics because they are the characteristics of your website users:

ga dimensions metrics group 1ga dimensions metrics dimension metric
ga dimensions metrics group 3ga dimensions metrics group 4
ga dimensions metrics 2nd group 1ga dimensions metrics 2nd group 2
ga dimensions metrics 2nd group 3ga dimensions metrics 2nd group 4

What are the different types of dimensions in Google Analytics?

The dimensions in Google Analytics can be broadly classified into two categories:

  1. Default Dimensions – the dimensions that are already available in Google Analytics reports.
  2. Custom Dimensions – these are user-defined dimensions.

Note: Both default and custom dimensions can be used as primary or secondary dimensions in GA reports.

What are the different categories of default dimensions in Google Analytics?

Following are the various categories of default dimensions in Google Analytics:

#1 User Dimensions – For example, User Type, Count of Sessions, Days Since Last Session, Customer Lifetime Value, etc.

#2 Session Dimensions – For example, Session Duration, Session Count.

#3 Traffic Sources DimensionsCampaign, Source, Medium, Source / Medium, Keyword, etc.

#4 Adwords (Google Ads) DimensionsGoogle Ads Campaign ID, Google Ads Ad Group ID, Query Match Type, Placement Domain, Placement URL, etc.

#5 Goal Conversions DimensionsGoal Completion Location, Goal Previous Step – 1, Goal Previous Step – 2, etc.

#6 Platform or Device DimensionsBrowser, Operating System, Device Category, Mobile Device Model, etc.

#7 Geo Network DimensionsContinent, Sub Continent, Country, Region, City, etc

#8 System DimensionsScreen Resolution, Java Support, Flash Version, etc

#9 Page Tracking DimensionsLanding Page, Page, Exit Page, Previous Page, Page path level 1, Page path level 2, etc

#10 Internal Search DimensionsSite Search Status, Search Term, Site Search Category, Start Page, Destination Page, etc

#11 App Tracking DimensionsApp Name, App ID, Screen Name, Landing Screen, Exit Screen, etc

#12 Event Tracking DimensionsEvent Category, Event Action, Event Label

#13 Ecommerce DimensionsTransaction ID, Product SKU, Product, Product Category, Product Category (Enhanced Ecommerce), Shopping Stage, etc.

#14 Social Interactions DimensionsSocial Network, Social Action, Social Type, etc

#15 User Timings DimensionsTiming Category, Timing Label, Timing Variable

#16 Exceptions DimensionsException Description

#17 Content Experiments DimensionsExperiment ID, Variant, Experiment ID with Variant, Experiment Name 

#18 Custom Variables or Columns DimensionsCustom Dimension XX, Custom Variable (Key XX), Custom Variable (Value XX)

#19 Time DimensionsDate, Year, Month of the year, Day of the month, Hour, Minute, Hour of Day, etc

#20 DoubleClick Campaign Manager DimensionsCM Ad (GA Model), CM Advertiser (GA Model), CM Campaign (GA Model), CM Ad, etc

#21 Audience DimensionsAge, Gender, Affinity Category (reach), In-Market Segment, etc

#22 DoubleClick for Publishers Backfill DimensionsGAM Line Item Id, GAM Line Item Name

#23 Lifetime Value and Cohorts DimensionsAcquisition Channel, Acquisition Campaign, Acquisition Source, Acquisition Medium, etc

#24 Channel Grouping DimensionsDefault Channel Grouping

#25 DoubleClick Bid Manager DimensionsDV360 Advertiser (GA Model), DV360 Exchange, DV360 Insertion Order, DV360 Site ID, etc

#26 DoubleClick Search DimensionsSA360 Campaign, SA360 Ad Group, SA360 Keyword, SA360 Agency, SA360 Advertiser ID, etc

Note: To see the complete list of all the default dimensions available in Google Analytics along with their description and usage, check the Dimensions & Metrics Explorer.

What is a default dimension in Google Analytics?

Default dimensions are the dimensions that are already available in Google Analytics reports. They are ready to use dimensions. 

The following are examples of default dimensions:

  • Gender
  • Age
  • City
  • Source / Medium
  • Keyword
  • Browser
  • Device Category
  • Operating System

What is a custom dimension in Google Analytics?

Custom dimensions are user-defined dimensions.

If you want to measure the characteristic of a user that any default dimension can not measure, you need to create and use your own dimension to measure such characteristics.

For example, you can create your own dimension to determine and store keywords that resulted in a phone call on your website.

Similarly, you can create your own dimension to retrieve website usage data by authors, logged-in or logged-out users or create your own dimension to measure conversion data and time in Google Analytics.

You can import the data through custom dimensions that google analytics does not automatically collect (like CRM data, phone call data, logged-in users data, etc.) and correlate this non-google analytics data with Google Analytics data.

What is a primary dimension in Google Analytics?

A primary dimension is the default dimension applied to a report in Google Analytics.

When you navigate to a report, say the ‘Channels’ report, then the default dimension that you see being applied to the report is the primary dimension:

ga dimensions metrics default channel

Here the primary dimension is the ‘Default Channel grouping’.

How to change the primary dimension in a Google Analytics report

Google Analytics lists all the available primary dimensions at the top of the data table in a report:

ga dimensions metrics change dimension 768x359 1

To change the primary dimension, just click on one of the primary dimensions.

For example, if you click on the ‘Source / Medium‘ primary dimension, then your data table is going to look like the one below:

ga dimensions metrics source medium

If you don’t see your primary dimension being listed at the top of the data table, then click on the ‘Other’ drop-down menu:

ga dimensions metrics other

Click on the ‘Commonly Used’ drop-down menu to see the list of commonly used dimensions:

ga dimensions metrics commanly used

Now click on the dimension you want to apply to your data table.

If you still can’t find your dimension, then there are three things that you can do:

#1 Click on the drop-down menus listed under the ‘More Dimensions’ section one by one and then find your dimension:

ga dimensions metrics more

For example, you can click on the ‘Acquisition’ drop-down menu:

ga dimensions metrics acquization

#2 Click on the checkbox ‘Display as alphabetical list‘.

This will list all the available dimensions for your data table in alphabetical order:

ga dimensions metrics alphabet

#3 Use the search box to find your dimension.

If you already know the name of your dimension, then you can simply search for it:

ga dimensions metrics search

What is a secondary dimension in Google Analytics?

The second dimension that you apply to a report is called a secondary dimension.

To apply a secondary dimension to a report, click on the ‘Secondary dimension‘ button:

ga dimensions metrics secondary dimension button

You should now see a drop-down menu from which you can select your secondary dimension:

ga dimensions metrics secondary dimension google analytics

Let’s apply a secondary dimension called ‘Country’ to our ‘Channels’ report:

ga dimensions metrics secondary dimension country

Now the data table would look like the one below:

ga dimensions metrics primary secondary

Note: You can use custom dimensions as primary dimensions in custom reports or as a secondary dimension in standard reports, but you can not use custom dimensions as primary dimensions in standard reports.

How to include more than two dimensions in your Google Analytics Reports?

By default, you can add only two dimensions to a GA report at a time: one primary dimension and one secondary dimension.

But if you want to include more than two dimensions in your GA reports, then follow the steps below:

Step-1: Navigate to the main reporting view of your Google Analytics account and then click on the ‘+ New Custom Report’ button:

ga dimensions metrics new custom report

Step-2: Click on the ‘Flat Table’ button:

ga dimensions metrics custom report

Step-3: Click on the ‘+add dimension’ button:

ga dimensions metrics add dimension

Step-4: Select the dimension you want to add to your custom report:

ga dimensions metrics full referrer

Step-5: Repeat Step-3 and 4 to add more dimensions. You can add up to five dimensions to your custom report:

ga dimensions metrics five dimensions 1

Step-6: Click on the ‘+add metric’ button:

ga dimensions metrics add metric

Step-7: Select the metric you want to add to your custom report:

ga dimensions metrics add metric2

Step-8: Repeat Step-6 and 7 to add more metrics to your reports.

Step-9: Click the ‘Save’ button to save your custom report.

You should now be able to see the five dimensions added to your custom report, like the one below:

ga dimensions metrics five dimensions added

This can help you do a more meaningful analysis.

Note: You can also use custom dimensions as a custom segment in GA reports.

How dimensions and metrics are reported in Google Analytics

Google Analytics (GA) reports contain two types of data: dimensions and metrics.

ga dimensions metrics dimension metric 1

GA displays data in its reports, usually in a table (called the data table). Each row of the table represents the value of a dimension, and each column represents the value of a metric:

Every Google Analytics report is made up of dimensions and metrics.

What is a metric in Google Analytics?

A metric is a number used to measure one of the characteristics of a dimension.

A dimension can have one or more characteristics.

For example, the following are the characteristics of the dimension called ‘Source / Medium’:

  1. Sessions
  2. % New Sessions
  3. New Users
  4. Bounce Rate
  5. Pages / Sessions
  6. Avg. Session Duration
  7. Goal Conversion Rate
  8. Goal Completions
  9. Goal Value

Here Sessions, % New Sessions, New Users, Bounce Rate, Pages / Sessions, etc., are all reported as metrics in Google Analytics because they are the characteristics of the dimension called ‘Source / Medium’.

What is the difference between dimensions and metrics in Google Analytics?

Difference #1

Though both dimensions and metrics are the characteristics of your website visitors, they are different in the way they are: configured, collected, processed, reported, and queried in Google Analytics.

For example, you can’t use (or query) dimension as a metric or metric as a dimension in Google Analytics either via the reporting interface or via API.

Difference #2

In Google Analytics, a dimension provides context to a metric. Consequently, a standalone metric is meaningless to analyze and report.

For example, the metric ‘sessions’ is meaningless on its own and makes sense only when used together with a dimension like ‘source/medium’, ‘user type’, ‘country’ etc.

Difference #3

Unlike dimensions, metrics are reported under the following three categories in Google Analytics:

  1. Acquisition – how visitors arrive at your website
  2. Behavior – how visitors interact with your website
  3. Conversions – how visitors completed conversions on your website.
ga dimensions metrics 3rd group

Examples of Acquisition Metrics:

  1. Sessions
  2. % New Sessions
  3. New Users

Examples of Behavior Metrics

  1. Bounce Rate
  2. Pages/Sessions
  3. Avg. Session Duration

Examples of Conversion Metrics

  1. Goal Conversion Rate
  2. Goal Completions
  3. Goal Value

Difference #4

Unlike dimensions, not all metrics can appear in every Google Analytics report. For example ‘page value’ metric appears in only certain Google Analytics reports.

This is because Google Analytics uses different analytics attribution models to produce a certain set of reports or to produce a certain set of metrics.

These analytics attribution models are:

  • Per GIF request attribution model – This model calculates aggregate values for a metric.
  • Page value attribution model (or forward-looking attribution model) – This model calculates the ‘page value’ metric for a page or set of pages.
  • Site search attribution model – This model calculates the goal value and Goal conversion rate for each search term.

Difference #5

A dimension can have the following scopes: ‘Hit’, ‘Session’, ‘User’ or ‘Product’.

A metric can have only two scopes, either ‘Hit’ or ‘Product’ (more about scopes later).

Difference #6

The value of a dimension is of type ‘text’. Whereas the value of a metric is of type ‘integer’.

Custom dimension properties / configuration values

Every custom dimension in GA has got the following five properties (also known as configuration values):

  1. Name
  2. Index
  3. Scope
  4. Last Changed
  5. State
ga dimensions metrics cd

Name is the name of the custom dimension, as it will appear in your Google Analytics reports. Use a descriptive and unique name so that you can easily identify and understand the functionality of your custom dimension.

Index (also known as a slot) is a number (must be a positive integer) used to internally identify and differentiate one custom dimension from another in Google Analytics. The index is like a parking space reserved for your custom dimension. Once an index is used, it cannot be used for another custom dimension. The value of the index should be between 1 and 200.

Scope determines the hits that will be associated with the value of a custom dimension.

Last Changed was the date when a custom dimension was first created or last modified.

State is the current status of a custom dimension. It can be either ‘active’ or ‘inactive’.

Note: Inactive custom dimensions may continue appearing in your GA reports, but you will not see any new values reported.

What scope applies to custom dimensions?

Each custom dimension can have any of the following four scopes:

  1. Hit
  2. Session
  3. User
  4. Product
ga dimensions metrics scope

Custom Dimension – ‘Hit’ Scope

A hit is a user’s interaction with your website/app that results in data being sent to the Google Analytics server.

Following are examples of some common hits:

  • Pageviews
  • Screenviews
  • Events
  • Transactions

A user can send one or more hits.

The value of a custom dimension is sent along with a hit. So if a custom dimension has been set up, then a user hit is sent along with the custom dimension value. Otherwise, the hit is sent without the value of the custom dimension.

When a user hit is sent along with the value of the custom dimension and the custom dimension has hit-level scope, then the value of the custom dimension is only applied to the hit with which the value was sent.

In other words, the value of the custom dimension is calculated and sent for each hit.

Custom Dimension – ‘Session’ Scope

A session is a group of hits recorded for a user in a given time period.

A user can trigger one or more sessions on the same day or over multiple days, weeks or months. By default, a session expires after 30 minutes of users’ inactivity on your website or at midnight or if the user returns to your website via a different campaign.

When a custom dimension has session-level scope, its value is applied to all the hits in a current session.

In other words, the value of the custom dimension is calculated and sent only once per session.

To learn more about sessions in Google Analytics, check out this article: Understanding sessions in Google Analytics

Custom Dimension – ‘User’ Scope

A user is a random unique client ID set by a Google Analytics cookie when a browser (like Chrome, Internet Explorer, Safari, etc.) loads your website content for the first time.

Every time a new client ID is detected in a session, Google Analytics counts it as a new user.

Every time an existing client ID is detected in a new session, Google Analytics counts it as a returning user.

Since a client ID exists only on the device (desktop, laptop, mobile, tablet) and the browser where it has been set, Google Analytics cannot identify users across devices and browsers.

When a custom dimension has got user-level scope, its value is applied to all the hits in the current session as well as future sessions of a user until there is a change in the value of the custom dimension or custom dimension has been made inactive.

In other words, the value of a custom dimension is calculated and sent only once per user.

To learn more about users in Google Analytics, check out this article: Understanding users in Google Analytics.

Custom Dimension – ‘Product’ Scope

A product represents the product you sell on your website.

When a custom dimension has a product-level scope, its value is applied to the product for which it has been set. In other words, the value of the custom dimension is calculated and sent only once per product.

Product-level scope can be set for custom dimensions only when you have implemented enhanced ecommerce tracking on the website.

In short, scope determines when the value of a custom dimension should be calculated and sent.

  1. If a custom dimension has hit scope, then the custom dimension value should be calculated and sent for each hit or for the hit with which the value is sent.
  2. If a custom dimension has session scope, then the custom dimension value should be calculated and sent only once per session.
  3. If a custom dimension has user scope, then the custom dimension value should be calculated and sent only once per user.
  4. If a custom dimension has product scope, then the custom dimension value should be calculated and sent only once per product.

Classification of dimensions in terms of scope

Google Analytics dimensions can be classified into the following four categories in terms of scope:

  1. Hit-level dimensions
  2. Session-level dimensions
  3. User-level dimensions
  4. Product-level dimensions

#1 What is a hit-level dimension in Google Analytics?

It is the dimension that has got hit-level scope. A hit-level dimension can be predefined or custom.

Following are the examples of predefined hit-level dimensions:

  • Page
  • Page Title
  • Page Path Level 1
  • Landing Page
  • Search Term
  • Event Category
  • Event Action
  • Event Label

Use a hit-level custom dimension when:

#1 You want to associate the custom dimension value only with the hit with which it was sent

#2 The dimension value change for each hit.

In the case of the hit-level custom dimension, the value of the custom dimension is calculated and sent for each hit.

For example, here is how you can send the value of a hit-level custom dimension with a pageview hit:

For Analytics.js

ga(‘send’, ‘pageview’, { ‘dimension1′:  dimensionValue’}); // Dimension value is sent for each hit

In the above code, dimension1 is an index (each custom dimension has an index associated with it), and the dimension value is a variable.

Let’s suppose you use a PHP website and store the actual value of a dimension in a PHP variable.

For example, you may store Page Type in a PHP variable as  <?=$page_type?>.

Whatever value the PHP variable holds will be passed to dimension1

With this example, the actual code may look like below:

ga('send', 'pageview', { 'dimension1':  <?=$page_type?>});

For gtag.js:

You need to use custom_map parameter to send data to Google Analytics. Following is the syntax:

gtag('config', 'UA-XXXX-12', {
'custom_map': {'dimension<Index>': 'dimension_name'} // Dimension value is sent for each hit
});

// Send the value of the custom dimension to Google Analytics.

gtag('event', 'page_view', {'dimension_name': dimension_value}); 

Note: Replace ‘UA-XXXX-12’ with your Google Analytics tracking ID

The actual code may look like the one below:

gtag('config', 'UA-XXXX-12', {
'custom_map': {'dimension1': 'page_type'} // Dimension value is sent for each hit
});

// Send the value of the custom dimension to Google Analytics.

gtag('event', 'page_view', {'page_type’: Home});

Here is how you can send the value of a hit-level custom dimension with an event hit:

For Analytics.js

ga('send', 'event', 'category', 'action',{ 'dimension1':  dimensionValue'}); 
// Dimension value is sent for each hit

The actual code may look like the one below:

ga('send', 'event', ‘category’,’action’,{
   'dimension5': '<?=$userID?>'
});

In the above code <?=$userID?> refers to a PHP variable which contains user ID values like 1253483232

For gtag.js

gtag('config', 'UA-XXXX-12', {
 'custom_map': {'dimension<Index>': 'dimension_name'}
});

 // Send the value of the custom dimension to Google Analytics.
gtag('event', 'any_event_name', {'dimension_name': dimension_value});

 The actual code may look like below

gtag('config', 'UA-XXXX-12', {
   'custom_map': {'dimension15': 'internal_campaign_name'}
});

// Send the value of the custom dimension to Google Analytics.
gtag('event', 'campaign_link_click', {'internal_campaign_name': 'Home Page Promo Offer'});

If you want to send the value of a custom dimension with all the hits on a page, then use the set command:

For Analytics.js

ga('set', 'dimension1', dimensionValue); 

The actual code may look like the one below:

ga('set', 'dimension1', userID);

For gtag.js

gtag('set', {
  'custom_map': {
     'dimension1': 'dimension name'
  }
});

gtag('config', 'UA-XXXX-12', { 'dimension name': 'dimension value' });

The actual code may look like the one below:

gtag('set', {
  'custom_map': {
'dimension1': 'logged in state'
}
});

gtag('config', 'UA-XXXX-12', { 'logged in state': 'not logged in' });

#2 What is a session-level dimension in Google Analytics?

It is the dimension that has got session-level scope. A session-level dimension can be predefined or custom.

Following are examples of predefined session-level dimensions:

  • Source / medium
  • Source
  • Medium
  • Keyword
  • Query

Use a session-level custom dimension when:

#1 You want to associate the custom dimension value with all the hits of a current session

#2 The dimension value doesn’t often change for each hit.

In the case of session-level custom dimension, the custom dimension value is calculated and sent only once per session.

For example, here is how you can send the value of a session-level custom dimension with a pageview hit:

For Analytics.js

ga(‘set’, ‘dimension1’, dimensionValue); // Dimension value should be sent only once per session
ga(‘send’, ‘pageview’);

For gtag.js:

gtag(‘set’, {

‘custom_map’: {

‘dimension1’: ‘dimension name’

}

});

gtag(‘config’, ‘UA-XXXX-12’, { ‘dimension name’: ‘dimension value’ });

Note: Make sure to replace ‘UA-XXXX-12’ with your Google Analytics tracking ID

Here is how you can send the value of a session-level custom dimension with an event hit:

For Analytics.js

ga(‘set’, ‘dimension1’, dimensionValue); // Dimension value should be sent only once per session
setTimeout(“ga(‘send’,’event’,’Profitable Engagement’,’time on page more than 3 minutes’)”,180000);

Note: Session-level custom dimensions can be set anytime during a session.

For gtag.js:

gtag(‘set’, {

‘custom_map’: {

‘dimension1’: ‘dimension name’

}

});

setTimeout(“gtag(‘event’, ‘Profitable Engagement‘, {‘event_label’:’more than 3 minutes‘})”,180000 );

#3 What is a user-level dimension in Google Analytics?

This is the dimension with user-level scope. A user-level dimension can be predefined or custom.

Following are examples of predefined user-level dimensions:

  • Age
  • Gender
  • Affinity category
  • In-Market segment
  • Country
  • Region
  • City

Use a user-level custom dimension when:

#1 You want to associate the custom dimension value with all the hits of current and future sessions of a user.

#2 The dimension value doesn’t often change for a particular user until there is a change in the value of the custom dimension or custom dimension has been made inactive.

In the case of a user-level custom dimension, the custom dimension value is calculated and sent only once per user.

For example, here is how you can send the value of a user-level custom dimension with a pageview hit:

For Analytics.js

// Dimension value should be sent only once per user
ga(‘set’, ‘dimension1’, dimensionValue);
ga(‘send’, ‘pageview’);

For gtag.js:

gtag(‘set’, {

‘custom_map’: {

‘dimension1’: ‘dimension name’

}

});

gtag(‘config’, ‘UA-XXXX-12’, { ‘dimension name’: ‘dimension value’ });

Here is how you can send the value of a user-level custom dimension with an event hit:

For Analytics.js

// Dimension value should be sent only once per user
ga(‘set’, ‘dimension1’, dimensionValue);
setTimeout(“ga(‘send’,’event’,’Profitable Engagement’,’time on page more than 3 minutes’)”,180000);

For gtag.js:

gtag(‘set’, {

‘custom_map’: {

‘dimension1’: ‘dimension name’

}

});

setTimeout(“gtag(‘event’, ‘Profitable Engagement‘, {‘event_label’:’more than 3 minutes‘})”,180000 );

#4 What is a product-level dimension in Google Analytics?

It is the dimension that has got product-level scope. A Product-level dimension can be predefined or custom.

Following are examples of predefined product-level dimensions:

  • Product
  • Product SKU
  • Product Category (Enhanced Ecommerce)
  • Product Brand
  • Transaction ID
  • Product list name
  • Product list position

Use a product-level custom dimension when:

#1 You want to associate the custom dimension value with a particular product.

#2 The dimension value change for each product.

For example, product name change with each product.

In the case of a product-level custom dimension, the custom dimension value is calculated and sent only once per product.

You can only send the value of a product-level custom dimension with enhanced ecommerce product data.

For example, here is how you can send the value of a product-level custom dimension with enhanced ecommerce product data:

For Analytics.js

ga dimensions metrics product level custom dimension

For gtag.js:

ga dimensions metrics Gtag Custom Dimension

What is a predefined metric in Google Analytics?

Predefined (system-defined) metrics are the metrics that are already available to you in the Google Analytics reports. They are ready to use metrics. 

What is a custom metric in Google Analytics?

Custom metrics are user-defined metrics. We use custom metrics when we need to measure the characteristics of a dimension (whether predefined or custom dimensions), which cannot be measured by any predefined metrics.

For example, if you have defined the keywords which resulted in a phone call as a custom dimension in GA, then one of the characteristics of this dimension could be ‘number of phone calls generated by each keyword’.

You can measure the number of phone calls by creating and using a custom metric (say ‘Phone Calls’). The whole setup could look something like the one below:

ga dimensions metrics phone call 300x132 1
ga dimensions metrics phone ga

Through custom metrics, you can import the data which google analytics does not automatically collect (like CRM data, phone call data, logged-in users data, etc.) and correlate this data with Google Analytics data.

You can use custom metrics with both predefined dimensions and custom dimensions. Google Analytics provides more than 200 predefined dimensions and metrics. Get the entire list.

Custom metric properties / configuration values

Every custom metric in GA has got the following eight properties or configuration values:

  1. Name
  2. Index
  3. Scope
  4. Formatting type
  5. Last changed
  6. State
  7. Minimum value
  8. Maximum value
ga dimensions metrics cm
ga dimensions metrics cm update

Name is the name of the custom metric as it will appear in your Google Analytics reports. Use a descriptive and unique name to easily identify and understand the functionality of your custom metric.

Index (also known as a slot) is a number (a positive integer) used to internally identify and differentiate one custom metric from another in Google Analytics. It is like a parking space reserved for your custom metric. You can not use the same index for two or more metrics. The value of the index should be between 1 and 200.

Scope determines the hits that will be associated with the value of a custom metric.

Formatting Type determines how the value of a custom metric should be displayed in reports. Formatting type can be: Integer, Currency (decimal) or Time:

ga dimensions metrics edit cm
  • An integer is a whole number.
  • Currency is a decimal number.
  • Time is the number of seconds (but it appears as HH:MM:SS in your GA reports)


Last Changed
was the date when a custom metric was first created or last modified.

State is the current status of a custom metric. It can be either ‘active’ or ‘inactive’.

Note: Inactive custom metrics may continue to appear in your GA reports, but you will not see any new value in the reports.

Minimum value is the minimum value of a custom metric that should be processed and reported in your GA reports.

Maximum value is the maximum value of a custom metric that should be processed and reported in your GA reports.

What scope applies to custom metrics in Google Analytics?

Each custom metric can have any of the following two scopes:

  1. Hit
  2. Product

Custom Metric – ‘Hit’ Scope

When a custom metric has hit-level scope, the value of a custom metric is only applied to the hit with which the value was sent.

In other words, the value of a custom metric is calculated and sent for each hit.

Custom Metric – ‘Product’ Scope

When a custom metric has product-level scope, its value is applied to the product for which it has been set.

Product-level scope can be set for custom metrics only when you have implemented enhanced ecommerce tracking on the website.

Classification of metrics in terms of scope

Google Analytics metrics can be classified into the following two categories in terms of scope:

#1 Hit-level metrics

#2 Product-level metrics

#1 What is a hit-level metric in Google Analytics?

This is a metric that has got hit-level scope. A hit-level metric can be predefined or custom.

Following are the examples of predefined hit-level metrics:

Use a hit-level custom metric when:

#1 You want to associate the custom metric value only with the hit with which it was sent

#2 The metric value change with each hit.

In the case of a hit-level custom metric, the custom metric value is calculated and sent for each hit.

For example, here is how you can send the value of a hit-level custom metric with a pageview hit:

For Analytics.js

ga(‘send’, ‘pageview’, { ‘metric1′: metricValue’}); // Dimension value is sent for each hit

For gtag.js:

gtag(‘config’, ‘UA-XXXX-12’, {

  ‘custom_map’: {‘metric<Index>’: ‘metric_name’}

});

// Send the value of the custom dimension to Google Analytics.

gtag(‘event’, ‘pageview’, {‘metric_name’: metric_value});

Here is how you can send the value of a hit-level custom metric with an event hit:

For Analytics.js

ga(‘send’, ‘event’, ‘category’, ‘action’,{ ‘metric1′: metricValue’}); // Dimension value is sent for each hit

For gtag.js:

gtag(‘config’, ‘UA-XXXX-12’, {

  ‘custom_map’: {‘metric<Index>’: ‘metric_name’}

});

// Send the value of the custom dimension to Google Analytics.

gtag(‘event’, ‘any event name’, {‘metric_name’: metric_value});

If you want to send the value of a custom metric with all the hits on a page, then use the ‘set’ command:

For Analytics.js

ga(‘set’, ‘metric1’, metricValue);

For gtag.js:

gtag(‘set’, {

‘custom_map’: {

‘metric1’: ‘metric name’

}

});

gtag(‘config’, ‘UA-XXXX-12’, { ‘metric name’: ‘metric value’ });

#2 What is a product-level metric in Google Analytics?

This is a metric that has got product-level scope. A product-level metric can be predefined or custom.

Following are examples of predefined product-level metrics:

  • Product revenue
  • Unique purchases
  • Quantity
  • Average price
  • Product refund amount

Use a product-level custom metric when:

#1 You want to associate the custom metric value with a particular product

#2 The metric value change for each product. For example, ‘product colour’ often changes with each product.

In a product-level custom metric, the value of a custom metric is calculated and sent only once per product.

You can only send the value of a product-level custom metric with enhanced ecommerce product data. For example, here is how you can send the value of a product-level custom metric with product data:

For Analytics.js

ga dimensions metrics product level custom metric

For gtag.js:

ga dimensions metrics Gtag Custom Metric

Dimension – metric combinations

Not all dimensions and metrics can be queried/used together.

Only those dimensions and metrics can be used/queried together, which have the same scope. Therefore we can have valid and invalid dimension-metric combinations.

  1. Example of valid dimension-metric combination: ‘user type’ and ‘users’
  2. Example of invalid dimension-metric combination: ‘source’ and ‘users’

‘user type’ and ‘users’ is a valid dimension-metric combination because both the dimension and metric have the same user-level scope.

‘source’ and ‘users’ is an invalid dimension-metric combination because both the dimension and metric have different scopes.

The dimension ‘source’ has session-level scope, whereas the metric ‘users’ has user-level scope.

Similarly, ‘page’ and ‘users’ is an invalid dimension-metric combination because the dimension ‘page’ has hit-level scope whereas the metric ‘users’ has user-level scope. Get a complete list of valid dimension-metric combinations.

Note: Hit-level scope is also known as action-level scope.

What dimensions and metrics cannot track

Dimensions and metrics taken together can also reveal most of the website performance and user attributes.

If you have configured your Google Analytics custom dimensions and metrics properly, you can track the whole customer journey, from prospect to customer and beyond.

You also have logs for all the page views and events happening on the GA website, but there are still many things that custom dimensions and metrics cannot tell you.

Let’s take an example. Suppose you have an ecommerce website where you have implemented enhanced ecommerce tracking in Google Analytics. You check your purchase funnel and find that many users had abandoned the cart, and many of them have even started checkout but somehow couldn’t complete the transaction. You have done lots of research using custom dimensions and metrics for different pages. For example, you checked issues with the device category, checked performance for traffic coming from different sources, you also checked the page performance but found nothing.

Here are a few of the parameters that dimensions and metrics cannot track

What users are actually looking for

Google Analytics dimensions and metrics cannot tell you what users are actually looking for.

Let’s suppose a user is looking for products with specifications, e.g. “high megapixel camera phones”, on Google search and then lands on your website, you have the majority of products with similar configurations, but the user is not interested in those products. Hence, they started their journey on the website but couldn’t complete it.

Google Analytics dimensions and metrics cannot track this situation where users abandon their purchase journey because they did not get what they expected.

User intention

A user often comes to a website, navigates through the product details page but does not proceed with add to cart, and abandons the journey. Even if your product detail page contains all the information related to the product, dimensions and metrics cannot track the user’s intentions.

There is a possibility that the product is not as good as the user’s interest or liking. There is a possibility that the user is just doing some initial research about the product and considering buying it in the future. The user may have just come to check the product pricing on your website and then left, and so on. Dimensions and metrics cannot track user intentions.

Incomplete information on a web page

A website serves the purpose of providing the best information about the products and services that we offer. Google Analytics dimensions cannot track if users are arriving on the website but not completing the desired actions because of incomplete information about a product or service.

Individual reasons for dropping off

This happens many times that a user liked the product, added it to the cart, even began the checkout process, but did not complete the transaction due to some individual reasons like

  • The delivery date is longer than the user’s expectations
  • The user is not confident about product dimensions (such as product size)
  • The product is out of stock for the selected location
  • Cash on delivery is unavailable, or the payment method is having some issues.
  • If shipping charges and taxes applied are higher than the user’s expectations.

Google Analytics dimensions and metrics can not track such individual reasons for drop-off.

Complete list of dimensions and metrics as per the Core Reporting API (Google Analytics)

I have listed all the dimensions and metrics available in the Google Analytics Core Reporting API.

Dimensions

  1. User Type
  2. Count of Sessions
  3. Days Since Last Session
  4. User-Defined Value
  5. User Bucket

Metrics

  1. Users
  2. New Users
  3. % New Sessions
  4. 1 Day Active Users
  5. 7 Day Active Users
  6. 14 Day Active Users
  7. 28 Day Active Users
  8. 30 Day Active Users
  9. Number of Sessions per User

Dimensions

  1. Session Duration

Metrics

  1. Sessions
  2. Bounces
  3. Bounce Rate
  4. Session Duration
  5. Session Duration
  6. Unique Dimension Combinations
  7. Hits

Traffic sources

Dimensions

  1. Referral Path
  2. Full Referrer
  3. Campaign
  4. Source
  5. Medium
  6. Source / Medium
  7. Keyword
  8. Ad Content
  9. Social Network
  10. Social Source Referral
  11. Campaign Code

Metrics

  1. Organic Searches

Dimensions

  1. Google Ads: Ad Group
  2. Google Ads: Ad Slot
  3. Ad Distribution Network
  4. Query Match Type
  5. Keyword Match Type
  6. Search Query
  7. Placement Domain
  8. Placement URL
  9. Ad Format
  10. Targeting Type
  11. Placement Type
  12. Display URL
  13. Destination URL
  14. Google Ads Customer ID
  15. Google Ads Campaign ID
  16. Google Ads Ad Group ID
  17. Google Ads Creative ID
  18. Google Ads Criteria ID
  19. Query Word Count
  20. TrueView Video Ad

Metrics

  1. Impressions
  2. Clicks
  3. Cost
  4. CPM
  5. CPC
  6. CTR
  7. Cost per Transaction
  8. Cost per Goal Conversion
  9. Cost per Conversion
  10. RPC
  11. ROAS

Dimensions

  1. Goal Completion Location
  2. Goal Previous Step – 1
  3. Goal Previous Step – 2
  4. Goal Previous Step – 3

Metrics

  1. Goal XX Starts
  2. Goal Starts
  3. Goal XX Completions
  4. Goal Completions
  5. Goal XX Value
  6. Goal Value
  7. Per Session Goal Value
  8. Goal XX Conversion Rate
  9. Goal Conversion Rate
  10. Goal XX Abandoned Funnels
  11. Abandoned Funnels
  12. Goal XX Abandonment Rate
  13. Total Abandonment Rate

Dimensions

  1. Browser
  2. Browser Version
  3. Operating System
  4. Operating System Version
  5. Mobile Device Branding
  6. Mobile Device Model
  7. Mobile Input Selector
  8. Mobile Device Info
  9. Mobile Device Marketing Name
  10. Device Category
  11. Browser Size
  12. Data Source

Dimensions

  1. Continent
  2. Sub-Continent
  3. Country
  4. Region
  5. Metro
  6. City
  7. Latitude
  8. Longitude
  9. Network Domain
  10. Service Provider
  11. City ID
  12. Continent ID
  13. Country ISO Code
  14. Metro Id
  15. Region ID
  16. Region ISO Code
  17. Sub-Continent Code

Dimensions

  1. Flash Version
  2. Java Support
  3. Language
  4. Screen Colors
  5. Source Property Display Name
  6. Source Property Tracking ID
  7. Screen Resolution

Dimensions

  1. Hostname
  2. Page
  3. Page path level 1
  4. Page path level 2
  5. Page path level 3
  6. Page path level 4
  7. Page Title
  8. Landing Page
  9. Second Page
  10. Exit Page
  11. Previous Page Path
  12. Page Depth

Metrics

  1. Page Value
  2. Entrances
  3. Entrances / Pageviews
  4. Pageviews
  5. Pages / Session
  6. Unique Pageviews
  7. Time on Page
  8. Time on Page
  9. Exits
  10. % Exit

Dimensions

  1. Site Search Status
  2. Search Term
  3. Refined Keyword
  4. Site Search Category
  5. Start Page
  6. Destination Page
  7. Search Destination Page

Metrics

  1. Results Pageviews
  2. Total Unique Searches
  3. Results Pageviews / Search
  4. Sessions with Search
  5. % Sessions with Search
  6. Search Depth
  7. Search Depth
  8. Search Refinements
  9. % Search Refinements
  10. Time after Search
  11. Time after Search
  12. Search Exits
  13. % Search Exits
  14. Site Search Goal XX Conversion Rate
  15. Site Search Goal Conversion Rate
  16. Per Search Goal Value

Metrics

  1. Page Load Time (ms)
  2. Page Load Sample
  3. Page Load Time (sec)
  4. Domain Lookup Time (ms)
  5. Domain Lookup Time (sec)
  6. Page Download Time (ms)
  7. Page Download Time (sec)
  8. Redirection Time (ms)
  9. Redirection Time (sec)
  10. Server Connection Time (ms)
  11. Server Connection Time (sec)
  12. Server Response Time (ms)
  13. Server Response Time (sec)
  14. Speed Metrics Sample
  15. Document Interactive Time (ms)
  16. Document Interactive Time (sec)
  17. Document Content Loaded Time (ms)
  18. Document Content Loaded Time (sec)
  19. DOM Latency Metrics Sample

Dimensions

  1. App Installer ID
  2. App Version
  3. App Name
  4. App ID
  5. Screen Name
  6. Screen Depth
  7. Landing Screen
  8. Exit Screen

Metrics

  1. Screen Views
  2. Unique Screen Views
  3. Screens / Session
  4. Time on Screen
  5. Time on Screen

Dimensions

  1. Event Category
  2. Event Action
  3. Event Label

Metrics

  1. Total Events
  2. Unique Events
  3. Event Value
  4. Value
  5. Sessions with Event
  6. Events / Session with Event

Dimensions

  1. Transaction ID
  2. Affiliation
  3. Sessions to Transaction
  4. Days to Transaction
  5. Product SKU
  6. Product
  7. Product Category
  8. Currency Code
  9. Checkout Options
  10. Internal Promotion Creative
  11. Internal Promotion ID
  12. Internal Promotion Name
  13. Internal Promotion Position
  14. Order Coupon Code
  15. Product Brand
  16. Product Category (Enhanced Ecommerce)
  17. Product Coupon Code
  18. Product List Name
  19. Product List Position
  20. Product Variant
  21. Shopping Stage

Metrics

  1. Transactions
  2. Ecommerce Conversion Rate
  3. Revenue
  4. Order Value
  5. Per Session Value
  6. Shipping
  7. Tax
  8. Total Value
  9. Quantity
  10. Unique Purchases
  11. Price
  12. Product Revenue
  13. QTY
  14. Local Revenue
  15. Local Shipping
  16. Local Tax
  17. Local Product Revenue
  18. Buy-to-Detail Rate
  19. Cart-to-Detail Rate
  20. Internal Promotion CTR
  21. Internal Promotion Clicks
  22. Internal Promotion Views
  23. Local Product Refund Amount
  24. Local Refund Amount
  25. Product Adds To Cart
  26. Product Checkouts
  27. Product Detail Views
  28. Product List CTR
  29. Product List Clicks
  30. Product List Views
  31. Product Refund Amount
  32. Product Refunds
  33. Product Removes From Cart
  34. Product Revenue per Purchase
  35. Quantity Added To Cart
  36. Quantity Checked Out
  37. Quantity Refunded
  38. Quantity Removed From Cart
  39. Refund Amount
  40. Revenue per User
  41. Refunds
  42. Transactions per User

Dimensions

  1. Social Network
  2. Social Action
  3. Social Network and Action (Hit)
  4. Social Entity
  5. Social Type

Metrics

  1. Social Actions
  2. Unique Social Actions
  3. Actions Per Social Session

Dimensions

  1. Timing Category
  2. Timing Label
  3. Timing Variable

Metrics

  1. User Timing (ms)
  2. User Timing Sample
  3. User Timing (sec)

Dimensions

  1. Exception Description

Metrics

  1. Exceptions
  2. Exceptions / Screen
  3. Crashes
  4. Crashes / Screen

Dimensions

  1. Experiment ID
  2. Variant
  3. Experiment ID with Variant
  4. Experiment Name

Dimensions

  1. Custom Dimension XX
  2. Custom Variable (Key XX)
  3. Custom Variable (Value XX)

Metrics

  1. Custom Metric XX Value
  2. Calculated Metric

Dimensions

  1. Date
  2. Year
  3. Month of the year
  4. Week of the Year
  5. Day of the month
  6. Hour
  7. Minute
  8. Month Index
  9. Week Index
  10. Day Index
  11. Minute Index
  12. Day of Week
  13. Day of Week Name
  14. Hour of Day
  15. Date Hour and Minute
  16. Month of Year
  17. Week of Year
  18. ISO Week of the Year
  19. ISO Year
  20. ISO Week of ISO Year
  21. Hour Index

Dimensions

  1. CM360 Ad (GA Model)
  2. CM360 Ad ID (GA Model)
  3. CM360 Ad Type (GA Model)
  4. CM360 Ad Type ID
  5. CM360 Advertiser (GA Model)
  6. CM360 Advertiser ID (GA Model)
  7. CM360 Campaign (GA Model)
  8. CM360 Campaign ID (GA Model)
  9. CM360 Creative ID (GA Model)
  10. CM360 Creative (GA Model)
  11. CM360 Rendering ID (GA Model)
  12. CM360 Creative Type (GA Model)
  13. CM360 Creative Type ID (GA Model)
  14. CM360 Creative Version (GA Model)
  15. CM360 Site (GA Model)
  16. CM360 Site ID (GA Model)
  17. CM360 Placement (GA Model)
  18. CM360 Placement ID (GA Model)
  19. CM360 Floodlight Configuration ID (GA Model)
  20. CM360 Activity
  21. CM360 Activity and Group
  22. CM360 Activity Group
  23. CM360 Activity Group ID
  24. CM360 Activity ID
  25. CM360 Advertiser ID
  26. CM360 Floodlight Configuration ID
  27. CM360 Ad
  28. CM360 Ad ID (CM360 Model)
  29. CM360 Ad Type (CM360 Model)
  30. CM360 Ad Type ID (CM360 Model)
  31. CM360 Advertiser (CM360 Model)
  32. CM360 Advertiser ID (CM360 Model)
  33. CM360 Attribution Type (CM360 Model)
  34. CM360 Campaign (CM360 Model)
  35. CM360 Campaign ID (CM360 Model)
  36. CM360 Creative ID (CM360 Model)
  37. CM360 Creative (CM360 Model)
  38. CM360 Rendering ID (CM360 Model)
  39. CM360 Creative Type (CM360 Model)
  40. CM360 Creative Type ID (CM360 Model)
  41. CM360 Creative Version (CM360 Model)
  42. CM360 Site (CM360 Model)
  43. CM360 Site ID (CM360 Model)
  44. CM360 Placement (CM360 Model)
  45. CM360 Placement ID (CM360 Model)
  46. CM360 Floodlight Configuration ID (CM360 Model)

Metrics

  1. CM Conversions
  2. CM Revenue
  3. CM CPC
  4. CM CTR
  5. CM Clicks
  6. CM Cost
  7. CM Impressions
  8. CM ROAS
  9. CM RPC

Dimensions

  1. Age
  2. Gender
  3. Other Category
  4. Affinity Category (reach)
  5. In-Market Segment

Metrics

  1. AdSense Revenue
  2. AdSense Ad Units Viewed
  3. AdSense Impressions
  4. AdSense Ads Clicked
  5. AdSense Page Impressions
  6. AdSense CTR
  7. AdSense eCPM
  8. AdSense Exits
  9. AdSense Viewable Impression %
  10. AdSense Coverage

Metrics

  1. Publisher Impressions
  2. Publisher Coverage
  3. Publisher Monetized Pageviews
  4. Publisher Impressions / Session
  5. Publisher Viewable Impressions %
  6. Publisher Clicks
  7. Publisher CTR
  8. Publisher Revenue
  9. Publisher Revenue / 1000 Sessions
  10. Publisher eCPM

Metrics

  1. AdX Impressions
  2. AdX Coverage
  3. AdX Monetized Pageviews
  4. AdX Impressions / Session
  5. AdX Viewable Impressions %
  6. AdX Clicks
  7. AdX CTR
  8. AdX Revenue
  9. AdX Revenue / 1000 Sessions
  10. AdX eCPM

Dimensions

  1. GAM Line Item Id
  2. GAM Line Item Name

Metrics

  1. GAM Backfill Impressions
  2. GAM Backfill Coverage
  3. GAM Backfill Monetized Pageviews
  4. GAM Backfill Impressions / Session
  5. GAM Backfill Viewable Impressions %
  6. GAM Backfill Clicks
  7. GAM Backfill CTR
  8. GAM Backfill Revenue
  9. GAM Backfill Revenue / 1000 Sessions
  10. GAM Backfill eCPM

Metrics

  1. GAM Impressions
  2. GAM Coverage
  3. GAM Monetized Pageviews
  4. GAM Impressions / Session
  5. GAM Viewable Impressions %
  6. GAM Clicks
  7. GAM CTR
  8. GAM Revenue
  9. GAM Revenue / 1000 Sessions
  10. GAM eCPM

Dimensions

  1. Acquisition Campaign
  2. Acquisition Medium
  3. Acquisition Source
  4. Acquisition Source / Medium
  5. Acquisition Channel
  6. Cohort
  7. Day
  8. Month
  9. Week

Metrics

  1. Users
  2. Appviews per User
  3. Appviews per User (LTV)
  4. Goal Completions per User
  5. Goal Completions Per User (LTV)
  6. Pageviews per User
  7. Pageviews Per User (LTV)
  8. User Retention
  9. Revenue per User
  10. Revenue Per User (LTV)
  11. Session Duration per User
  12. Session Duration Per User (LTV)
  13. Sessions per User
  14. Sessions Per User (LTV)
  15. Total Users
  16. Users

Dimensions

  1. Default Channel Grouping

Dimensions

  1. DV360 Advertiser (GA Model)
  2. DV360 Advertiser ID (GA Model)
  3. DV360 Creative ID (GA Model)
  4. DV360 Exchange (GA Model)
  5. DV360 Exchange ID (GA Model)
  6. DV360 Insertion Order (GA Model)
  7. DV360 Insertion Order ID (GA Model)
  8. DV360 Line Item NAME (GA Model)
  9. DV360 Line Item ID (GA Model)
  10. DV360 Site (GA Model)
  11. DV360 Site ID (GA Model)
  12. DV360 Advertiser (CM360 Model)
  13. DV360 Advertiser ID (CM360 Model)
  14. DV360 Creative ID (CM360 Model)
  15. DV360 Exchange (CM360 Model)
  16. DV360 Exchange ID (CM360 Model)
  17. DV360 Insertion Order (CM360 Model)
  18. DV360 Insertion Order ID (CM360 Model)
  19. DV360 Line Item (CM360 Model)
  20. DV360 Line Item ID (CM360 Model)
  21. DV360 Site (CM360 Model)
  22. DV360 Site ID (CM360 Model)

Metrics

  1. DV360 eCPA
  2. DV360 eCPC
  3. DV360 eCPM
  4. DV360 CTR
  5. DV360 Clicks
  6. DV360 Conversions
  7. DV360 Cost
  8. DV360 Impressions
  9. DV360 ROAS

Dimensions

  1. SA360 Ad Group
  2. SA360 Ad Group ID
  3. SA360 Advertiser
  4. SA360 Advertiser ID
  5. SA360 Agency
  6. SA360 Agency ID
  7. SA360 Campaign
  8. SA360 Campaign ID
  9. SA360 Engine Account
  10. SA360 Engine Account ID
  11. SA360 Keyword
  12. SA360 Keyword ID

Metrics

  1. SA360 CPC
  2. SA360 CTR
  3. SA360 Clicks
  4. SA360 Cost
  5. SA360 Impressions
  6. SA360 Profit
  7. SA360 ROAS
  8. SA360 RPC

How to set up custom dimensions and metrics in Google Analytics

Important points to remember before you set up custom dimensions or metrics:

#1 Custom dimensions and metrics can be set up only in Universal Analytics and not in classic Google Analytics.

#2 In classic Google Analytics, we use custom variables instead of custom dimensions.

#3 Custom dimensions and custom metrics are set at the property level, not view level.

#4 You can create up to 20 custom dimensions and 20 custom metrics per property in Universal Analytics.

#5 If you use Google Analytics Premium (GA 360), you can create up to 200 custom dimensions and 200 custom metrics per property.

#6 Once you have set up a custom dimension or custom metric in your GA property, you can’t delete it. However, you can edit it.

#7 You can disable a custom dimension or metric by unchecking the ‘Active’ checkbox:

ga dimensions metrics Uncheck CM 1
ga dimensions metrics Uncheck CM

#8 Google recommends not to re-use/edit (i.e. change name, scope, etc.) a custom dimension or custom metric as it can create data integrity issues that can’t be easily fixed. So set up custom dimensions/metrics after proper thought and planning.

#9 The values of custom dimensions (with hit, session, or user scope) and custom metrics (with hit scope) are sent to Google Analytics as parameters attached to other hits (like page views, events, etc.).

Consequently, values of custom dimensions and custom metrics can’t be sent after a hit has already been sent.

So, the following code won’t send the value of the custom dimension to Google Analytics:

ga(‘create’, ‘UA-1235-12’, ‘auto’);
ga(‘send’, ‘pageview’);
ga(‘set’, ‘dimension1’, ‘Value 1’);

The code below will send the value of the custom dimension to GA:

ga(‘create’, ‘UA-1235-12’, ‘auto’);
ga(‘set’, ‘dimension1’, ‘Value 1’);
ga(‘send’, ‘pageview’);

Similarly, the following code won’t send the value of the custom metric to Google Analytics:

ga(‘create’, ‘UA-1235-12’, ‘auto’);
ga(‘send’, ‘pageview’);
ga(‘set’, ‘metric1’, ‘Value 1’);

The code below will send the value of the custom metric to GA:

ga(‘create’, ‘UA-1235-12’, ‘auto’);
ga(‘set’, ‘metric1’, ‘Value 1’);
ga(‘send’, ‘pageview’);

In the case of gtag.js, custom dimensions and custom metrics are already configured in the Event call and can be sent only after the event fires.

#10 The values of custom dimensions and custom metrics with the product-level scope are sent to Google Analytics as parameters attached to product data.

Consequently, values of custom dimensions and custom metrics can’t be sent after the product data has already been sent.

How to delete a custom dimension or custom metric in Google Analytics

Once you have set up a custom dimension or custom metric in your GA property, you cannot delete it. However, you can edit it or disable it. 

Google recommends not to re-use or edit (i.e. change the name or scope etc.) a custom dimension or metric as it can create data integrity issues that cannot easily be fixed. So only set up a custom dimension or metric after careful thought and planning.

How to set up a custom dimension via Google Tag Manager

Using Google Tag Manager, you can send values to the custom dimension using a variable that pulls data from your web page or data layer.

Note: You must first set up a custom dimension in Google Analytics.

Follow the steps below:

Step-1: Login to Google Tag Manager

Step-2: Navigate to the ‘Tags’ tab:

ga dimensions metrics Tags Tab

Step-3: Edit the Google Analytics tag:

ga dimensions metrics GA TAg

Step-4: You will see a window like the one below. Click on the checkbox ‘Enable overriding settings in this tag’:

ga dimensions metrics enable override

Step-5: Click on ‘More Settings’ and then click on ‘Custom Dimension’:

ga dimensions metrics more settings

Step-6: In the ‘Index’ field, enter your custom dimension index number (e.g. 1), and in the ‘Dimension Value’ field, select the variable (from the drop-down menu) whose value you would like to pass in Google Analytics:

ga dimensions metrics GTM cd set up

In this case, we are passing the value of the variable {{Page category}} to custom dimension 1.

Values in the {{Page category}} variable (like ‘home’, product category page’, product page’, etc.) will be assigned to custom dimension 1

Similarly, you can set up custom metrics using Google Tag Manager.

Follow steps 1 to 3 above, then do the following:

Step-4: Click on ‘More Settings’ and then click on ‘Custom Metrics’

ga dimensions metrics more settings 1

Step-5: In the ‘Index’ field, enter your custom metric index number (e.g. 1), and in the ‘Metric Value’ field, select the variable whose value you would like to pass in Google Analytics:

ga dimensions metrics cm metric

In this case, we are passing the value of the variable {{User Age}} to custom metric 1.

Values in the {{User Age}} variable (like ‘32’,’58’, ‘69’, etc.) will be assigned to custom metric 1

Step-6: Click ‘Save’ and ‘Publish’.

Note: You can check and validate in Google Tag Manager debug console what values are being passed to custom dimensions and metrics:

ga dimensions metrics GTM preview 1

As you can see, Metric1 is assigned the value of the Datalayer variable “User Age”.

And if you click on the ‘Variables’ tab in the debug console, you can see that the user age is 58:

ga dimensions metrics GTM preview 2

Similarly, you can see that dimension1 is assigned the value of the DataLayer variable “Page Category”, and the value of the variable ‘Page Category’ is ‘Home’.

Six stages of custom dimensions and metrics set up in Google Analytics

There are six stages of creating and using custom dimensions and metrics in GA. They are:

#1 Planning – at this stage; you create a road map of exactly how you will collect the data and send it to Google Analytics via custom dimensions/metrics.

#2 Configuration – at this stage, custom dimensions and metrics are defined via Google Analytics property settings or GTM container tag settings.

#3 Collection – at this stage, you collect the required data (like values of custom dimensions or metrics) from your implementation and then send it to the Google Analytics server.

#4 Processing – at this stage GA server process the collected data according to their configuration values (like scope) and reporting view filters.

#5 Reporting – at this stage, the processed data become available in the GA reports.

#6 Querying – at this stage, a GA user can query the data via the reporting interface or the GA API.

I have explained all of these stages along with examples in great detail in the article: How to correctly measure conversion date and time in Google Analytics.

Further reading

You should also need to check out this complete guide to calculated metrics in Google Analytics


Frequently Asked Questions about dimensions and metrics

What is a dimension in Google Analytics?

A dimension is the attribute of visitors to your website. Google Analytics displays data in its reports, usually in the form of a table. Each row of the table represents a dimension.

What are predefined and custom dimensions?

Dimensions which are already available in Google Analytics reports are called Predefined dimensions. These are ready-to-use dimensions. If you want to measure the characteristic of a user which can not be measured by any predefined dimension, then you need to create and use your own dimension to measure such characteristics. Such dimensions are called ‘Custom dimensions’.

What is a metric in Google Analytics?

Google Analytics displays data in its reports, usually in the form of a table. Each column of the table represents a metric. A metric is a number used to measure one of the characteristics of a dimension. A dimension can have one or more characteristics.

What are predefined and custom metrics?

Metrics which are already available in Google Analytics reports are called Predefined metrics. These are ready-to-use metrics. If you want to measure the characteristic of a dimension (whether predefined or custom dimension), which cannot be measured by any predefined metric, then you need to create and use your own metric to measure such characteristics.

What are the differences between a dimension and metric in Google Analytics?

Though both dimensions and metrics are the characteristics of your website visitors, they are different in the way they are: configured, collected, processed, reported and queried in Google Analytics. For example, you can’t use (or query) dimension as a metric or metric as a dimension in Google Analytics either via the reporting interface or via API.

How do I classify dimensions in terms of scope?

Google Analytics dimensions can be classified into the following four categories in terms of scope:
1) Hit-level dimensions
2) Session-level dimensions
3) User-level dimensions
4) Product-level dimensions.

My best selling books on Digital Analytics and Conversion Optimization

Maths and Stats for Web Analytics and Conversion Optimization
This expert guide will teach you how to leverage the knowledge of maths and statistics in order to accurately interpret data and take actions, which can quickly improve the bottom-line of your online business.

Master the Essentials of Email Marketing Analytics
This book focuses solely on the ‘analytics’ that power your email marketing optimization program and will help you dramatically reduce your cost per acquisition and increase marketing ROI by tracking the performance of the various KPIs and metrics used for email marketing.

Attribution Modelling in Google Analytics and BeyondSECOND EDITION OUT NOW!
Attribution modelling is the process of determining the most effective marketing channels for investment. This book has been written to help you implement attribution modelling. It will teach you how to leverage the knowledge of attribution modelling in order to allocate marketing budget and understand buying behaviour.

Attribution Modelling in Google Ads and Facebook
This book has been written to help you implement attribution modelling in Google Ads (Google AdWords) and Facebook. It will teach you, how to leverage the knowledge of attribution modelling in order to understand the customer purchasing journey and determine the most effective marketing channels for investment.

About the Author

Himanshu Sharma

  • Founder, OptimizeSmart.com
  • Over 15 years of experience in digital analytics and marketing
  • Author of four best-selling books on digital analytics and conversion optimization
  • Nominated for Digital Analytics Association Awards for Excellence
  • Runs one of the most popular blogs in the world on digital analytics
  • Consultant to countless small and big businesses over the decade

Free GA4 Mastery Course (30 Days Access) – Certification Upon Completion! (Over 4000 Students)

X