Last Updated on October 8, 2020 by Ritwik B
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.
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:
- Google plus
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:
Most of the custom dimensions are sources from popular analytics blogs by industry experts. For detailed implementation process do check out this awesome articles. These are as below in no order:
- Simo Ahava: https://www.simoahava.com/analytics/13-useful-custom-dimensions-for-google-analytics/
- Bounteous: https://www.bounteous.com/insights/2012/08/28/20-ways-use-custom-dimensions/
- Moz: https://moz.com/blog/content-analysis-google-analytics
- Simo Ahava: https://www.simoahava.com/analytics/send-weather-data-to-google-analytics-in-gtm-v2/
- Yehoshua Coren: http://www.analytics-ninja.com/blog/2015/12/google-analytics-custom-metrics-calculated-metrics.html
Hi I can’t find the post about custom dimensions “Internal employees” for excluding internal employees. Could you please send me URL?