Google Analytics Custom Dimensions - 5 Questions

Google Analytics Custom Dimensions

Cardinal Path articleCreating audience segments is one of the most important things you can do with a web analytics tool. When your segmentation rules do a good job of highlighting the different motivations of your site visitors, the behavior of each segment can help you make your site more relevant to each group, and thus increase the likelihood that your site will deliver on your goals.

Google Analytics already lets you segment on more than 130 default dimensions, so it can seem a little intimidating to consider adding even more breakouts with custom dimensions – additional attributes of a user, session, or action that you collect via your tracking code.

And the opportunity gets bigger with Universal Analytics: if you use that newer version of the platform underlying Google Analytics, you can now track up to 20 custom dimensions (or 200 if you're using Google Analytics Premium with Universal Analytics). So even if you've mastered the concept of Custom Variables in "classic" Google Analytics, when you plan a migration to Universal Analytics, you suddenly have to consider four times as many custom fields!

But don't get paralyzed by considering every fancy data point you could track. Ultimately, you want custom dimensions to give you new perspectives on which visitors and elements are driving results on your site. With that in mind, take a step back and consider these 5 questions.

1. Which fields can you use to join web analytics data with offline data?

A big dream of the Universal Analytics platform is to unite online behavioral data with other data sources in your organization, and setting up custom dimensions related to form fields is a great way to make those connections. Most CRM records begin with web form data, so collecting the same (non-personally-identifiable) form fields in your CRM and your web analytics tool can provide a lot of shared data points to help join up your data.

For example, higher education admissions departments commonly analyze offline data to predict a given applicant's likelihood to enroll or graduate based on attributes like previous education, program of interest, and years of work experience.

Since those data points are also often collected in inquiry forms, those schools could collect those attributes as custom dimensions in Google Analytics, then break out their standard acquisition, behavior, and conversion reports by previous education, program of interest, and experience to compare the browsing history of the most promising visitors. Does the same traffic source attract the likely superstars and the less-promising candidates in equal amounts? And how much research does each type of prospect do before submitting an application? Without using custom dimensions to connect applicant data with browsing behavior, you may never know.

And don't forget about the low-hanging fruit: ZIP codes are commonly collected on forms and are easily actionable (by matching to offline spending, for example). But they aren't collected by default in Google Analytics, so acquire it via a custom dimension if you’re using a form.

2. Which content attributes can't be implied from URLs and page titles?

Logical URL structures and title tags aren't just good for user experience – their appearance in Google Analytics can also tell you a lot about user intention. For a basic example, people who visit a URL containing "phones" are probably interested in phones (to paraphrase a famous ad by Google). Since you could create an advanced segment of "phone interested" users who ever viewed a URL with phones, you might not want to use up one of your precious custom dimensions to capture that user interest in a redundant field. However, if an important content attribute is on a page but not in your URL, a hit-level custom dimension can be really valuable.

For instance, the URL for an e-commerce product page about a particular phone would probably contain the word "phone" as well as the brand and product ID, but it might not identify whether the phone is available for purchase online only, offline only, or both. This factor could clearly affect user actions like adding the item to an online shopping cart or looking up offline store locations, but product availability may change often and without warning, and it can be a nightmare to match parsed page data with a promotional history database.

As long as the product availability information is contained in a consistent page element that you could access with JavaScript, custom dimensions are the way to go here. Configure your Google Analytics tracking code to set that value for the "product availability" custom dimension, then send that data along with the pageview hit to Google Analytics.

3. How will the values of each custom dimension actually appear in reports?

You can't re-process the values of a custom dimension if they've been collected in an unexpected or messy way, so before you deploy any tracking code for your custom dimensions, you should obsessively specify and sanity-check the potential values that the code will return.

  • If you're collecting hard-coded values, be sure that conventions for spelling and delimiters are what you want to see in reports. (Basic, but still overlooked all the time).
  • If you're collecting data from open-text form fields, be sure that those fields are only being sent to Google Analytics once: after validation and on form submit.
  • Always be confident that the variable won't collect personally identifiable information about a user.

4. Which other data points should be connected to the latest value of each custom dimension?

Whenever you send a new value for a particular custom dimension to Google Analytics, the new value replaces the previous value, but "scope" determines how many other data points in a visitor's history are associated with that value. Sometimes it's a straightforward decision, as in these examples:

  • If visitors submit their year of birth on a form, it's logical to continue to associate that value with all of their activity going forward, across all events, pageviews, and visits, at the "user" level.
  • The weather in a particular geographic area is likely to be consistent from click to click, but not necessarily from visit to visit. If you're tracking the weather in a visitor's city (as in this amazing implementation from Elisa DBI), it makes sense to set that dimension's scope to the "session" level.
  • A price range should only be associated with hits to the relevant product pages, so that dimension should be scoped to the "hit" level.

Sometimes, the relevant scope isn't as clear. For example, logged-in status could be worth collecting with three different custom dimensions, one for each scope:

  • User scope: at a high level, knowing whether a visitor has ever logged in (not necessarily whether they were logged in during a particular visit) indicates that visitor's depth of engagement with the site, beyond visit count.
  • Session scope: can be used to calculate how often users are logging in.
  • Hit scope: can be used to diagnose how the logged-in status affects granular actions during a visit. For example, did the users see personalized elements when they added to cart? Did they see gated content when they exited the site?

5. Will this custom dimension actually drive any changes on your site?

Don't collect data just because you can. Begin with the end in mind, and collect data that will help you take action. Google gives you so many dimensions to choose from, and so many opportunities for customizing your own that you really have to stay focused on what makes sense to track.

Bottom line: Always ask yourself how tracking a particular custom dimension will make your analysis easier and make your site better.

Online Behavior © 2012