50+ Lists Of Custom Dimensions & Metrics [By Industry Experts]

Implementing Custom Dimensions & Metrics can take your analysis to a whole new level. In this article, we’ll just focus on the list of custom dimension & metrics which you can implement on your website.

These lists are collated from the various blogs by web analytics & industry experts across the web.  With that being said, let’s get down to the list.

I have broken down the list by scope so that it’ll be easier for you to jump through the sections. Also, keep in mind the limits for custom dimensions & metrics are 20-20 each, so plan ahead & select the relevant ones before implementing.

50+ Custom Dimensions & Metrics By Scope

Select the dimension/metric & the respective scope to filter the list

Kindly select the following options
Kindly select the following Scope

Custom Dimension

1.) User Id

Custom Dimension: “User Id”

Values: {{User ID}}

Scope: User-Level

Trigger: When someone Logs In To Your website.

If you have a log in feature on your website, you can implement the user id feature in google analytics. This will help you unlock the cross-device reports in GA & in-depth analysis at the user level.

2.) Client Id

Custom Dimension: “Client Id”

Values: {{Client ID}}

Scope: User-Level

Trigger: When someone lands on your website for the first time.

I think this is a must use custom dimension for any website. These are the same client Ids available in the user explorer report in google analytics.

You’ll be able to use client id as secondary dimensions in default reports & also as primary/secondary in custom reports.

3.) Lifetime Value

Custom Dimension: “Customer Lifetime Value”

Values:

  • $1-$500
  • $501 – $1000
  • $1001 – $5000
  • $5000+

Scope: User-Level

Trigger: When someone purchases a product on your website.

When a user purchases a product for the first time,  you can send the product revenue as a custom dimension & store it in a cookie & add it on subsequent purchases. The better way is to group the LTV into $$$ buckets.

So If someone has LTV of $650, you can add him in $500-$1000 bucket.

4.) Acquisition Source/Medium

Custom Dimension: “Acquisition Source/Medium”

Values:  {{Source/Medium}}

Scope: User-Level

Trigger: When the user visits your site for the first time.

The first Impression helps you analyze the LTV of each source & much more…

5.) Acquisition Landing Page

Custom Dimension: “Acquisition Landing Page”

Values:  {{Landing page URL}}

Scope: User-Level

Trigger: When the user visits your site for the first time.

You can send the first pageview URL as a custom dimension value. First impressions matter..!!! & you’ll get to know how the users behave based on the first page they viewed on your website.

6.) Acquisition Date

Custom Dimension: “Acquisition Date”

Values:  {{date of acquisition}}

Scope: User-Level

Trigger: When the user visits your site for the first time.

You can deep dive into the analysis of acquisition date cohorts. Also, you can segment different dates to see how the user drop off later on.

You can check the acquisition custom dimension for the setup.

7.) Acquisition Month

Custom Dimension: “Acquisition Month”

Values:  {{Monthof acquisition}}

Scope: User-Level

Trigger: When the user visits your site for the first time.

This is the same as the previous Acquisition date dimension, just that it sends the month.

8.) Internal Employees

Custom Dimension: “Internal Employees”

Values: 

  • Yes
  • No

Scope: User-Level

Trigger: When the user visits a page which only internal employees have access.

You can exclude the internal employees’ session from the analytics reports to remove any malfunctioned data.

This was a great suggestion by Bronwyn V in the google analytics advertiser community.

9.) Contact/About Us Viewers

Custom Dimension: “Contact/About Us Viewers”

Values: 

  • Contact Us Viewers
  • About Us Viewers

Scope: User-Level

Trigger: When the user lands on the about us/contact us page.

It will help you analyze how many users want to know more about your business before purchasing your product/service. You can analyze the conversion rate of these groups & more..

10.) Subscriber

Custom Dimension: “Subscriber”

Values:

  • Yes
  • No

Scope: User-Level

Trigger: When someone subscribes to your list.

If you have a website & a weekly newsletter to your subscriber, you can create a custom dimension “Subscriber” & pass “yes” or “no” values.

This will allow you to analyze the behavioral difference between these 2 groups.

11.) Leads/Customers

Custom Dimension: “Leads/Customers”

Values:

  • Yes
  • No

Scope: User-Level

Trigger: When someone (makes a purchase)/(submits a lead) on your website.

If you have an ecommerce website you can send “yes” or “no” values as custom dimension values when user purchases any product.

12.) Commentor

Custom Dimension: “Commentor”

Values: 

  • Yes
  • No

Scope: User-Level

Trigger: When someone comments your blog article on your website.

You can view the differences in user engagement between the users who comment & those who don’t.

13.) Chat Initiation

Custom Dimension: “Chat Initiation”

Values: 

  • Yes
  • No

Scope: User-Level

Trigger: When the user initiates a chat on your website.

You can see the performance of the user’s using the chat functionality vs other users. If you are using 3rd party chat plugins, you can check the documentation for the webhooks available for tracking.

14.) Checkout Account Type 

Custom Dimension: “Checkout Account Type”

Values: 

  • Guest
  • Registered

Scope: Session-Level

Trigger: On the checkout page, when the user selects the checkout option.

You can use one of the checkout ecommerce events to send the custom dimension value.

15.) Website CTA/Message

Custom Dimension: “Website CTA/Message”

Values: {{CTA/Message on Your Homepage}}

Scope: Session-Level

Trigger: When the user lands on the page where CTA/message is displayed.

You can analyze the behavior of users based on the message or CTA displayed on your website.

16.) Weekends/Weekdays

Custom Dimension: “Weekends/Weekdays”

Values: 

  • Weekends
  • Weekdays

Scope: Session-Level

Trigger: When the user visits your site on weekends or weekdays.

You can analyze the conversion rate & behavior of your website users based on weekdays & weekends.

17.) Seasons

Custom Dimension: “Seasons”

Values: 

  • Winter
  • Summer
  • Rainy
  • & so on…

Scope: Session-Level

Trigger: When the user visits your site on different seasons.

This will help you analyze the seasonality of your product/service.

18.) Quarters

Custom Dimension: “Quarters”

Values: 

  • Q1
  • Q2
  • Q3
  • Q4

Scope: Session-Level

Trigger: When the user visits your site on different quarters.

This will help you analyze the sales & conversion rate of your product/service in a year for different quarters.

19.) Time of the day

Custom Dimension: “Time of the day”

Values: 

  • Morning
  • Afternoon
  • Evening
  • Night

Scope: Session-Level

Trigger: When the user visits your site at different times in a day.

This will help you analyze the sales & conversion rate of your product/service in the year for different quarters.

20.) Logged In Status

Custom Dimension: “Logged In Status”

Values: 

  • Logged In
  • Logged Out

Scope: Session-Level

Trigger: When the user logs in to your website.

You can compare the performance of the logged in users vs the logged out users.

21.) Weather

Custom Dimension: “Weather”

Values: {{Value returned from Weather API}}

Scope: Session-Level

Trigger: When the user lands on your website & the weather API fetches the current weather.

Yes… This is the infamous script by Simo on his GTM blog. You can check out the step by step implementation there.

22.) Temperature

Custom Dimension: “Temperature”

Values: {{Value returned from Weather API}}

Scope: Session-Level

Trigger: When the user lands on your website & the weather API fetches the current temperature.

This is similar to previous “weather” custom dimension. You can analyze user behavior based on different temperature.

23.) Coupon code

Custom Dimension: “Coupon code”

Values: {{Coupon code}}

Scope: Session-Level

Trigger: When the user uses the coupon code on your website & makes a purchase.

You can analyze the performance of product purchases based on the coupon code used at the checkout.

24.) Discount Offer

Custom Dimension: “Discount Offer”

Values: 

  • 10% off
  • 20% off
  • & so on…

Scope: Session-Level

Trigger: When the user uses the lands on your website during offer period.

You can analyze the performance of product purchases based on the coupon code used at the checkout.

24.) Comment Sentiments

Custom Dimension: “Comment Sentiments”

Values:

  • Very negative
  • Negative
  • Neutral
  • Positive
  • Very Positive

Scope: Hit-Level

Trigger: When someone comments on the article on your website.

You can use the setup if you have more user comments on your blogs/forums. It is useful to gauge the user sentiment for different article topics & to focus more on what makes the user happy.

The setup requires using cloud-based machine learning APIs. This idea was presented at Superweek Hungary 2017 by Mark Edmondson and Peter Meyer. You can check the whole article here.

25.) Article Word Count

Custom Dimension: “Article Word Count”

Values:

  • 1-500
  • 501-1000
  • 1001-2000
  • 2000+

Scope: Hit-Level

Trigger: When someone views your blog article on your website.

You can track article word count to see if there are any differences in engagement. You can send the following values depending on the length of your blog.

26.) Article Author

Custom Dimension: “Article Author

Values: {{Name Of Author}}

Scope: Hit-Level

Trigger: When someone views your blog article on your website.

You can track article author to see whose article gets more engagement & shares.

27.) Article Category

Custom Dimension: “Article Category

Values: {{Name Of Category}}

Scope: Hit-Level

Trigger: When someone views your blog article on your website.

You can track the article category to see which category gets more engagement & shares.

28.) Article Published Date

Custom Dimension: “Article Published Date

Values: {{Date Published}}

Scope: Hit-Level

Trigger: When someone views your blog article on your website.

You can track the article date published to see the engagement in the first few days after publishing.

29.) Social Shares

Custom Dimension: “Social Shares

Values: 

  • Facebook
  • Twitter
  • Google plus
  • Linkedin

Scope: Hit-Level

Trigger: When someone shares your blog article on your website.

You can track on which platform the users share the most by sending the custom dimension value as the social network name.

30.) Hit Timestamp

Custom Dimension: “Hit Timestamp”

Values: {{Local time of user’s browser}}

Scope: Hit-Level

Trigger: Every hit on your website.

You can track on the hit timestamp with the format 2018-05-29T15:04:51.361+03:00 (year-month-dayThour:minutes:seconds.milliseconds timezone_offset). The time would be local to user’s browser.

31.) Hit Type

Custom Dimension: “Hit Type”

Values: 

  • Event
  • Pageview 
  • Timing
  • etc

Scope: Hit-Level

Trigger: Every hit on your website.

You can track on the hit timestamp with the format 2018-05-29T15:04:51.361+03:00 (year-month-dayThour:minutes:seconds.milliseconds timezone_offset). The time would be local to user’s browser.

32.) Full Referrer

Custom Dimension: “Full Referrer”

Values: {{document.referrer}}

Scope: Hit-Level

Trigger: Every hit on your website.

You can track referrer for every hit to analyze which was the referred page both internal & external.

33.) Payload Length

Custom Dimension: “Payload Length”

Values: {{byte length}}

Scope: Hit-Level

Trigger: Every hit on your website.

If you have a site with huge traffic. you can track payload length of a GA hit. This is will help you monitor the payload limit of 8192 bytes as the hits exceeding the limit do not get sent.

34.) GTM Container ID

Custom Dimension: “GTM Container ID”

Values: {{container ID}}

Scope: Hit-Level

Trigger: Every hit on your website.

This will help you monitor the spam hits as they would be without container ID. Also, if you have multiple containers firing on same site, it will help you debug the hits if any errors.

34.) Redirect Count

Custom Dimension: “Redirect Count”

Values: {{Redirect Count}}

Scope: Hit-Level

Trigger: Every hit on your website.

You can use redirect count to see the number of redirections when the user loads the page. This will help you analyze the requests for different sources.

35.) Navigation Type

Custom Dimension: “Navigation Type”

Values: 

  • Navigate
  • Reload
  • Back/Forward
  • Other

Scope: Hit-Level

Trigger: Every hit on your website.

This custom dimension will help you to analyze how users landed on the page. You can check more about the setup on the below-mentioned sources.

36.) Tab Type

Custom Dimension: “Tab Type”

Values: {{Tab Type}}

Scope: Hit-Level

Trigger: Every hit on your website.

This custom dimension will help you to analyze if the user has opened the current page on the new tab or the old tab

36.) Tabs Open

Custom Dimension: “Tabs Open”

Values: {{Tabs Open}}

Scope: Hit-Level

Trigger: Every hit on your website.

You can use this custom dimension to view the number of tabs open on the user’s browser.

37.) Tab ID

Custom Dimension: “Tab ID”

Values: {{Tab ID}}

Scope: Hit-Level

Trigger: Every hit on your website.

You can use this custom dimension to group the number of hits based on the tabs.

38.) Product Availability

Custom Dimension: “Product Availability”

Values: 

  • In Stock
  • Out Of Stock

Scope: Product-Level

Trigger: For all the ecommerce hits where product data is sent.

You can guage the interest of your users based on the ecommerce events data & stock the right products beforehand.

39.) Product Color

Custom Dimension: “Product Color”

Values: {{Color}}

Scope: Product-Level

Trigger: For all the ecommerce hits where product data is sent.

You can guage the interest of your users based on the ecommerce events data & stock the right products beforehand.

40.) Product Size

Custom Dimension: “Product Size”

Values: {{Size}}

Scope: Product-Level

Trigger: For all the ecommerce hits where product data is sent.

You can guage the interest of your users based on the ecommerce events data & stock the right products beforehand.

41.) Product Condition

Custom Dimension: “Product Condition”

Values: 

  • New
  • Refurbished

Scope: Product-Level

Trigger: For all the ecommerce hits where product data is sent.

You can gauge the interest of your users based on the ecommerce events data & analyze if they are interested in buying new or refurbished products

41.) Product Refund Policy

Custom Dimension: “Product Refund Policy”

Values: 

  • 7 days
  • 10 days 
  • 15 days
  • etc

Scope: Product-Level

Trigger: For all the ecommerce hits where product data is sent.

You can see the if there are any engagement or conversion differences based on the different refund policies of the product

Custom Metrics

1.) Page Visible Time

Custom Metric: “Page Visible Time”

Values: {{Page Visible Time}}

Scope: Hit-Level

Trigger: When the user leaves the page. (on beforeunload event)

This metric can help you gauge the time when your website was on the active tab. You can check the article named time on visible & hidden page.

2.) Page Hidden Time

Custom Metric: “Page Hidden Time”

Values: {{Page Hidden Time}}

Scope: Hit-Level

Trigger: When the user leaves the page. (on beforeunload event)

This metric can help you gauge the time when your website was on the hidden tab.

3.) Add To Cart

Custom Metric: “Add To Cart”

Values: 1

Scope: Hit-Level

Trigger: When the user clicks on add to cart for the specific product.

You can analyze which sources or product have more add to carts. You can use custom reports to add custom metrics

4.) Add To Wishlist

Custom Metric: “Add To Wishlist”

Values: 1

Scope: Hit-Level

Trigger: When the user clicks on add to wishlist button for the specific product.

This is similar to the last metric “Add To Cart but you might encounter many users add to wishlist before adding it to the cart.

5.) Selected Color

Custom Metric: “Selected Color”

Values: 1

Scope: Hit-Level

Trigger: When the user selects the color for the specific product.

You can track how many users choose to select the color of the product.

6.) Selected Size

Custom Metric: “Selected Size”

Values: 1

Scope: Hit-Level

Trigger: When the user selects the size for the specific product.

You can track how many users choose to select the size of the product.

7.) Recently Viewed Products Clicked

Custom Metric: “Recently Viewed Products Clicked”

Values: 1

Scope: Hit-Level

Trigger: When the user clicks on the recently viewed product widget.

You can track how many use your recently viewed product widget to view the previous products.

8.) Recommended Products Clicked

Custom Metric: “Recommended Products Clicked”

Values: 1

Scope: Hit-Level

Trigger: When the user clicks on the recommended product widget.

You can track if your recommendation engine is better or not based on the click rate of the users.

9.) Product Cost

Custom Metric: “Product Cost”

Values: {{Cost Of Product}}

Scope: Product-Level

Trigger: When the user purchases a product successfully. (Only on ecommerce transaction hit)

You can track the Cost of goods sold to calculate the ROAS of your marketing campaigns. You can check the article here for more.

10.) Profit

Custom Metric: “Profit”

Values: {{Revenue – Cost of goods sold}}

Scope: Product-Level

Trigger: When the user purchases a product successfully. (Only on ecommerce transaction hit)

You can directly send the Profit data for each product rather than calculating via calculated metrics. You can check the article by yehoshua for more info.

Sources:

Ritwik is Web Analyst & Growth Hacking Consultant. He loves to write technical & easy to understand blogs for Marketers & Entrepreneurs. Focused on Google Analytics, Tag Management, GScripts & more. Google Certified Professional. A Firm Believer in Teaching -> Learning -> Growing. :)