Google Analytics

11 Google Analytics Custom Dimensions that every website should use

person using macbook pro on black table

Google Analytics already supports an incredible amount of tracking data, which can be used to evaluate a wide variety of information. With custom dimensions and custom metrics, the basic data can be enhanced with individual data. This data has to be specially integrated into the tracking, but then provides a better overall picture of website usage. In this article, I have written down a list of custom dimensions that I like to include in every new setup for customers.

What are custom dimensions?

Custom Dimensions (CDs) are those handy extra pieces of information that can be sent to a web analytics tool with every request. Each tool differs in scope and technical requirements. Google Analytics offers up to 25 CDs in the free version and up to 200 in the GA360 version. The custom dimensions are available in different scopes: User, Session, Hit and Product. The scope defines how long the value is valid. Depending on the content, this can make a big difference and meet the exact requirements of the desired report.

CustomDimensions for eCommerce stores

As a freelancer for web analytics, I often have to find bugs in the tracking. That’s where the raw data access of BigQuery is super helpful. But no matter if GA Free or GA360, there are some custom dimensions that can be incredibly helpful for debugging and should always be included.

Custom dimensions are also important for creating special reports. They can give your data the right sense.

1) Web page release

Normally the developers of the web pages should have versioning. If you have this in the dataLayer and send it to GA as a custom dimension, it is very easy to find out if a certain release has broken the tracking. And this happens often enough 😉

2) Timestamp

If you save the timestamp as a dimension, you can get certain hits sorted by time from the API to a GA Free account and calculate time intervals between hits. In GA360 with BigQuery, hits.hitNumber and hits.time would be available to do such time calculations.

3) User-Agent

As soon as the hit arrives at Google, the user agent string is broken down into its parts and broken down. The dimensions available are the browser, operating system, versions, etc. Sometimes, however, it is still possible to have practically the entire original User-Agent String available, which GA does not store by default. Possible scenarios include retroactive evaluation of inApp browsers or finding bots & crawlers.

4) GA Client ID

The GA client ID from the GA cookie is also not a dimension retrievable in GA, even though this information is generally collected by GA. The use case here is that the Client ID can be used to read hits from a single user. When debugging, for example, only my own hits.

5) User ID

If the UserID is passed to Google Analytics as a uid-parameter, the same ID should be stored in a custom dimension, since the uid-parameter is also not available as a dimension in the GA frontend.

6) URL

Depending on the setup it can be helpful to always save the current URL in a custom dimension.

7) Referrer

But especially the URL of the referrer is interesting. For analysis/debugging of session starts you can get more insights how certain users have behaved.

8) Page country code

If your website is divided into countries, the country code should be stored in a custom dimension. This way you can not only create single views, but also separate the countries in reports very nicely. It is important to note that the GeoIP would contain the location of the user, but that it does not have to match the country version of the website.

9) Page Language Code

The same applies to the language variants: If the website differs in different languages, the language should be saved on a CD.

10) Page gender

If a subpage can be assigned to a gender, a custom dimension with gender information can help you build practical reports. For example, in a fashion online store a hit-based CD with the gender. With this, you could separate all pageviews in a piechart by men vs. women vs. (not set). Or you could look at sessions and how the relationship between male and female pages is there.

11) Login status

The login status helps to build reports, which differentiate between logged-in vs. guest users. This allows investigation of the behavior of these two groups. Logged in users are usually more loyal and buy more on a website.


Custom Dimensions are an indispensable tool to tailor your web analytics to your needs. From experience, I can say that it makes sense to deal with which CDs you want to record early on and should then implement this. Historical data is very valuable. And especially during debugging it is a pity if exactly one important piece of information is missing.

Leave a Reply