Understanding Cross Device Measurement and the User-ID

One of the fundamental new features of Universal Analytics is user-centric measurement. This includes measurement across multiple devices – computers, smart phones, tablets, kiosks, etc. But this change introduces a number of new challenges for analysts and marketers. In order to do cross device measurement you need to understand some of the challenges and limitation. […]

One of the fundamental new features of Universal Analytics is user-centric measurement. This includes measurement across multiple devices – computers, smart phones, tablets, kiosks, etc.

The User-ID feature let's you measure the user journey across multiple devices - and even in stores.

But this change introduces a number of new challenges for analysts and marketers. In order to do cross device measurement you need to understand some of the challenges and limitation. Let’s begin our exploration of cross device data with a discussion about how it works.

How Cross Device Measurement Works

You’ll recall that most analytics tools set an anonymous identifier to measure users. On websites the JavaScript code creates the identifier and stores it in a cookie. On mobile apps the SDK creates the identifier and stores it in a database on the device. (We call this default ID the Client-ID).

We actually discussed this concept in our Google Analytics Platform Principles course. Skip to 21 seconds for details – but the whole video is helpful :)

The User-ID feature lets you override this default behavior. So rather than letting the tracking code create the a Client-ID, YOU can create and use your own identifier. How do you do that?

Well, your business needs to have some way of identifying users. Don’t worry, most businesses do. A CRM system or customer database usually has a User-ID that you can use.

The important thing is that you can create the technology that moves the ID from your database into your website, app or other digital experience where your users interact with your content.

The User-ID value must originate from your systems. It must eventually appear in the tracking code on your site or in your app. The User-ID will then be sent to Google Analytics  with each data hit.

The User-ID value must originate from your systems. It must eventually appear in the tracking code on your site or in your app. The User-ID will then be sent to Google Analytics with each data hit.

In the above diagram the company would need to create code that pulls the User-ID from the database, then passes it through the web servers, and finally places it in the Google Analytics Tracking code that appears on the website.

I know – that seems like a lot of work! But a good tech person can make this happen.

After you add all the necessary code, and set up the User-ID feature in Google Analytics, then the actual id value that you supply is sent to Google Analytics with each hit (see my post on hits, sessions and users to learn about all the different hit types in Google Analytics.)

Then, as Google Analytics processes the data, it groups hits with the same User-ID together. It does not matter if the hits come from a website, mobile app or some other device.

Hits from the same user can be grouped together as long as each hit has the same User-ID.

Hits from the same user can be grouped together as long as each hit has the same User-ID.

In the above image there would be three unique users – one user with a User-ID=1, one user with a User-ID=2 and one user with a User-ID=5. Again – it doesn’t matter where the hits come from (mobile, web, kiosk, etc.).

But what about instances when the User-ID is not present? For example, what if the user is not logged in and we can not retrieve the User-ID? Good question.

In this case, Google Analytics will go back to its default behavior and generate it’s own User-ID (again, this is called a Client-ID, because the ID is specific to the client or device). Obviously this ID can not be used to measure across devices as it will only exist on the device where it is set.

But now we have a scenario where a user might have two different User-ID numbers for a single user? Isn’t this going to have an impact on the data? Aren’t we trying to avoid that? This sucks!

Well – it’s not that simple. Let’s talk about something called Session Unification.

Session Unification

The above scenario is very common. You will not always be able to set the User-ID in Google Analytics – even for known users. The result is some hits and sessions will have a User-ID value, and some with an automatically generated User-ID value.

It's not always possible to send your own User-ID to Google Analytics.

It’s not always possible to send your own User-ID to Google Analytics.

Google Analytics has a feature called Session Unification. When activated, it will unify, or group, hits with the manually set User-ID and hits with an auto-generated User-ID together. This means that Google Analytics can associate some hits that were received prior to setting the User-ID.

Here’s the definition of Session Unification from the Google Analytics Help center (I think it’s pretty good!):

Session unification allows hits collected before the User-ID is assigned to be associated with the ID, as long as those hits happen within the same session in which a specific ID value is assigned for the first time.

This means that Google Analytics will only associate hits collected in the same session AND it must be in the first session where the User-ID is set.

This functionality is sometimes called “stitching” – and it differs from one tool to another.

Google Analytics will not go back in time and stitch every single session from a given user together. I can hear the groans now – and the comparisons to other tools. I hope to write about session unification in a later post. But I think a lot of people that are going to complain about this are missing the point. It’s not “can we stitch data together” it’s “should we stitch data together?”. Rant over.

So how does Session Unification impact the data? Well, to understand that we need to talk about another topic the User-ID View and reports.

The User-ID View

We all know the basic hierarchy of a Google Analytics account. Within your account you can create a number of properties. Under a property you can create a number of views – which were formerly called profiles.

Now you can designate certain views as User-ID views. This means that the view will be filtered and the only data in this view is data that contains hits where you set the User-ID value.

Only a Google Analytics view with User-ID enabled will display information about cross-device users.

Only a Google Analytics view with User-ID enabled will display information about cross-device users.

Obviously this view will have less data than a standard view where the User-ID is not enabled. But the idea is that this view will be able to provide deeper insights into how users who are logged in – a VERY valuable segment of your users – interact with your business across multiple devices.

To view all of the data, hits with and without a User-ID, you would use a standard view.

Let’s also consider the scenario from above – when a manually set User-ID is present in some sessions, but not others. The result is that the data from sessions without your User-ID will not be in the User-ID view.

Only hits that contain a manually set User-ID will be included in a User-ID view.

Only hits that contain a manually set User-ID will be included in a User-ID view.

There are also some other significant differences between views that do, and do not, have User-ID feature enabled.

1. Certain metrics are calculated differently. Obviously if a User-ID view contains different data, then certain metrics will be calculated differently.

For example, the number of Users is calculated based on the number of unique User-ID values. This will provide a fairly accurate view of the number of users. It will probably be less than the number of users in a standard view because that that view will also include users where you do not set a User-ID.

2. Cross device reports. This is the HUGE benefit of a User-ID view. These reports provide some awesome insights into how users access your content from multiple devices. More info about the reports below.

3. Limited date range. When working with a User-ID view you can only change the date range to the past 90 days. This is consistent with the standard 90-day user look-back window in other features, like Multi-Channel Funnels and user segments.

Implementing Cross Device Measurement

Implementing the User-ID feature can be involved, depending on your specific infrastructure. Here’s a brief overview of the process.

1. First, you need to “turn on” the user ID feature for a given property.

2. Second, you need to add the actual user ID value to the data collection. For website, this means you need to modify the JavaScript tracking code. For mobile apps you need to change the SDK.

3. Third, create a User-ID view. This is a special data view that includes new reports.

Let’s get into a bit more detail.

1. Enable User-ID Feature

This is really important to read and understand the terms. For example, it’s important to note that you can not use personally identifiable information as the User-ID. This includes an email address, name, etc.

To use the User-ID feature you must read the User-ID policy and agree to the terms.

To use the User-ID feature you must read the User-ID policy and agree to the terms.

You also really need to take a look at your own privacy policy and make sure it complies with the following:

You will give your end users proper notice about the implementations and features of Google Analytics you use (e.g. notice about what data you will collect via Google Analytics, and whether this data can be connected to other data you have about the end user). You will either get consent from your end users, or provide them with the opportunity to opt-out from the implementations and features you use.

2. Implement User-ID in your Tracking Code

Now for the coding! Go get your nerds and Red Bull! Just kidding.

As I mentioned above, the User-ID value must come from you. You must generate the ID from one of your systems. Once you do that you must place it inside the tracking code. The hard part is writing the code that moves the User-ID from your systems and puts it in {{ USER_ID }} in the code snippets below..

Let’s look at some of the most common code formats.

Adding the User-ID to website tracking

Adding a User-ID to the JavaScript code is fairly easy – it’s a single line.

ga('create', 'UA-XXXX-Y', 'auto');
ga('set', '&uid', {{ USER_ID }});
ga('send', 'pageview');

Remember, the User-ID needs to be set before any hits are sent to Google Analytics. So make sure you call the set command before a pageview, event, transaction, etc. is sent.

It’s also recommended that you include the set method on ALL of the pages, not just one page.

See the developer docs for more about JavaScript information.

Adding the User-ID to the Android SDK

t.set("&uid", {{ USER_ID }});

See the developer docs for more Android information.

Adding the User-ID to the iOS SDK

[tracker set:@"&uid" value:{{ USER_ID }}];

See the developer docs for more iOS information.

For both the Android code and the iOS code, you only need to set the User-ID once. Once it is set once the User-ID will be sent with all subsequent hits. But try to set it before any hit is sent to Google Analytics.

Adding the User-ID to the Measurement Protocol

Adding the User-ID to a measurement protocol hit is actually really easy. All you need to do is add the uid parameter in each hit. So a hit might look something like this:

http://www.google-analytics.com/collect?v=1&_v=j16&a=164718749&t=pageview&_s=1&dl=http%3A%2F%2Fcutroni.com%2F&ul=en-us&uid=hsjfy4782jduyth6k4

Adding the User-ID via Google Tag Manager

A quick note that you can also set the User-ID with Google Tag Manager. You’ll find the setting in the ‘More Settings > Fields to set’. You’ll also need to create a macro to pull the actual User-ID value from a cookie or the data layer.

You can set the User-ID value with Google Tag Manager.

You can set the User-ID value with Google Tag Manager.

In addition to adding the User-ID to your data collection code, you must also choose if you want to use Session Unification. See above for more information on session unification.

The second step in setting up the User-ID is to add the actual identifier to the tracking code for your site or app.

The second step in setting up the User-ID is to add the actual identifier to the tracking code for your site or app AND configuring the session unification setting.

Now it’s time to add a User-ID view.

3. Create a User ID View

As mentioned above, a User-ID view is a filtered view of your data. It only includes hits in which you have set the User-ID value. This view also contains reports that show cross device usage and other user-centric metrics.

Please note, this view is in ADDITION to the other views that you have for a property. This means that you will need to configure things like goals, filters custom reports, dashboards, etc. on this new view.

You must create a new User-ID view to see the Google Analytics cross device reports.

You must create a new User-ID view to see the Google Analytics cross device reports.

That’s really it. I don’t want to oversimplify the implementation. But most of the work is really creating the code that pulls your User-ID from your systems and then places it in the correct tracking code.

Data and Reports

We finally made it, let’s look at some data and figure out how we can use this.

Remember, in all of these reports we’re trying to understand the behavior of our users. And we’re not just looking at the behavior of everyone – we’re looking at the behavior of those users that have self identified. This is really important as this group is naturally very valuable.

User-ID Coverage

Let’s start by understanding what percentage of our users are actually logged in.

Remember, you’ll have two different profiles with data. One profile will just be all of the data, the other will be a User-ID profile that only contains information about logged in users.

The Coverage Report identifies the data that has a User-ID associate with it vs. the data that does not have a User-ID.

The User-ID Coverage report shows what percentage of your sessions have a User-ID associated with them.

The User-ID Coverage report shows what percentage of your sessions have a User-ID associated with them.

Remember, you’re probably not going to get 100% User-ID coverage – unless your online experience requires authentication. But this depends on your specific business and your specific implementation.

You can use this data to get a better understanding of how big your data pool is – will you be making decisions on 1% of sessions or 50%?

Device Overlap

Ok this is where we start to get into the really interesting data. Here’s a visualization that shows the device overlap. That means the percentage of users that use various combinations of devices.

Device overlap shows the number of users and the value of users based on combinations of devices.

Device overlap shows the number of users and the value of users based on combinations of devices.

Rather than just looking at how many people use certain combinations of devices, let’s look at the associated revenue from those combinations. Notice that you can change the display using the selector at the top of the chart?

The Device overlap report also includes detailed information about how combinations of devices drive value.

The Device overlap report also includes detailed information about how combinations of devices drive value.

So what’s the actionability here?

Do people who use a certain combination of devices behave differently than others? Are people who use tablet and desktop more valuable than those that use tablet and phone? If so – how do we encourage more of that behavior? Is it via marketing? Changes to the platform?

And don’t forget, you need to add a LOT of context to this data. You need to keep in mind your marketing initiatives along with the user experience that you offer your users on each device.

Device Pathing

Now let’s move on to device pathing. This report shows the device used for a sequence of sessions.

Device Pathing shows the user sequence of devices.

Device Pathing shows the user sequence of devices.

You can look at a specific path prior to, or after, a user action. The action could be a goal conversion, a pageview, a transaction or an event.

You can view the device path prior to, or after, specific user actions.

You can view the device path prior to, or after, specific user actions.

What’s the actionability here? Let’s look at a use-case.

If you have a SaaS business you may offer your users a free trial. In this case the user would create an account for the trial and then use your service. At the end of the trial they would need to upgrade to a real account.

The first thing you could do is look at the user’s device behavior after creating their free trial account. Did they perform any specific tasks on a specific device? Was one device more popular than another? If so maybe you can simplify the workflow on that device.

You could also look at the device path at the end of their trial, when they upgraded to a paying account. Did they perform the upgrade on a certain device? Or, more importantly, was the conversion rate higher on on a certain type of device? If so, you might want to simplify or optimize the process on that type of device.

Don’t forget to look back at the Device Overlap report to understand if a certain combination of devices yielded a more valuable customer.

Also notice that there are a lot of ways that you can configure this report to view different paths. One of the most important things to note is that you can not choose specific instances of each item. For example, if a user generates multiple transactions you can not choose a specific transaction.

You can choose to view the device path before or after various user actions.

You can choose to view the device path before or after various user actions.

My suggestion is to create a goal, page or unique event for the most important user actions – the ones that represent the transition from one phase of the customer lifecycle to another. That way you will always be able to see the device path before and after the action.

Device Acquisition Report

Finally we have the Acquisition Device report. This is similar to the Device Overlap report in that it helps you understand the value of users on a certain device. But the difference is that it shows the value based on the first device type.

Use the Device Acquisition report to understand if users acquired on a certain device generate revenue on the same device or different devices.

Use the Device Acquisition report to understand if users acquired on a certain device generate revenue on the same device or different devices.

What’s the actionability here? Do users acquired on a specific type of device generate more value on the same device or on other devices? If so how can you drive more of that behavior?

Segmentation

One final thing to mention. You may have noticed that you can apply segmentation to all of these reports. Segmentation will work the same in these reports as it does in all other GA reports.

If you create a session based segment then Google Analytics will show all the paths that include a session that meets your criteria.

If you create a user based segment then Google Analytics will show all of the paths generated from users that match your criteria.

Did you make it to the end? I hope this post gave you some insights into how Cross Device Measurement works. There’s going to be a lot of chatter about User-ID and cross device measurement – some positive, some negative. And I have a lot more to say – but this post is long enough!

How to Use Google Analytics Content Grouping: 4 Business Examples

Content Grouping is a useful feature that let’s you group your website or app content together and view aggregate metrics for each group. This is particularly useful if you have a lot of content to analyze. Rolling up your content, based on your specific business structure, is very helpful when creating dashboards and other custom […]

Content Grouping is a useful feature that let’s you group your website or app content together and view aggregate metrics for each group. This is particularly useful if you have a lot of content to analyze. Rolling up your content, based on your specific business structure, is very helpful when creating dashboards and other custom reports.

In this post I’ll talk about how to actually use the data and walk through some examples for various business types.

If you have not set up content groupings, please check out my post on how to set up Google Analytics content groupings.

Standard GA Reports

Your content groupings are available in Google Analytics behavior reports. Navigate to the Behavior > Site Content > All Pages report. Notice at the top of the data table there is a selector for the primary dimension. This drop down list all of the content groupings that you added to Google Analytics.

Use the selector to choose a specific content grouping in your Google Analytics Content reports.

Use the selector to choose a specific content grouping in your Google Analytics Content reports.

This selector also exists in the navigation flow, so rather than viewing how users move from page to page, you can view how users move between the different types of content on your site.

You can also use your content groupings in the Navigation Summary report.

You can also use your content groupings in the Navigation Summary report.

Very handy for understanding the behavior of users!

It also exists in many other content reports, like the Landing Pages report and the Site Speed Page Timings report.

But who uses the standard reports these days? :) Analysis driven organisations use Custom Reports and Dashboards. Let’s look at how you can use content groupings in both features.

Custom Reports & Dashboards with Content Groupings

When you create a content grouping, Google Analytics will create a dimension for each content grouping.

Remember, a content grouping contains a number of groups, and each group can contain a number of pages or screens.

Each content grouping contains multiple content groups. A content group contains multiple pieces of content.

Each content grouping contains multiple content groups. A content group contains multiple pieces of content.

This means that the values for the content grouping dimension will be all of the content groups that you created within that grouping.

You can create up to five content groupings in Google Analytics, therefore you could have five new dimensions, one for each content grouping.

Use the content grouping dimensions just like you would any other dimension. Here’s a simple custom report that shows some a potential content grouping for a blog.

You can use your content groupings in a Google Analytics custom report.

You can use your content groupings in a Google Analytics custom report.

Then, when you look at the report, you’ll see something like this:

When you add a content grouping to a Google Analytics custom report, the data will be aggregated based on content group.

When you add a content grouping to a Google Analytics custom report, the data will be aggregated based on content group.

Note: I added this custom report to the Google Analytics solutions gallery. You can add it directly to your account here.

You can also use the content grouping dimension in your dashboards. Here is a very simple example using the page value metric and the content grouping dimension.

You can also use the Content Grouping dimension in a Google Analytics Custom Dashboard.

You can also use the Content Grouping dimension in a Google Analytics Custom Dashboard.

That’s really all there is to using content grouping in Google Analytics custom reports and custom dashboards. No go and give it a try!

One other note – the content grouping dimensions are hit level dimensions. This means that you can only use them with hit level metrics, like pageview, time on page, etc. You can not use them with session level metrics, like conversion rate, or revenue per visit.

Content Grouping Strategies

To really take advantage of content groupings you need to plan your content grouping carefully. You need to understand how your organization wants to analyze this data. So let’s look at a how different types of businesses might use content grouping.

Ecommerce: Patagonia.com

Patagonia sells outdoor equipment for men, women and children. They’re known for their ethos that you should travel “fast and light” when in the outdoors – take only what you need. They’re also known for their environmental advocacy. They incorporate both of these messages into their marketing stories.

Effectively breaking down the content structure could help each department at Patagonia better understand their marketing initiatives and site optimization efforts.

So how might we create a content grouping strategy based on their business?

Google Analytics Content Grouping can be used to organize the content on an ecommerce website.

Google Analytics Content Grouping can be used to organize the content on an ecommerce website.

Product pages: I would start by grouping all product pages together. It’s really important to understand what percentage of your users are making it to product pages. If people don’t look at product pages then they usually can’t buy something. And I’d take it one step further – group product pages by product line. I’d also be sure to differentiate category pages from the generic product pages.

You can mimic your product architecture with your content groupings.

You can mimic your product architecture with your content groupings.

Special selling tools: One cool feature that the Patagonia site has is the ‘kit builder’. This is a tool that let’s a customer build the best clothing combination for different conditions or activities. This is another section that could really use it’s own content group.

Special shopping tools can be categorized in their own group.

Special shopping tools can be categorized in their own group.

Checkout pages: Next I’d group all checkout pages together. These are all the pages in your checkout process. The percentage of people that see checkout pages might be very small, but I like to put these pages in their own group. They’re not product related, and they’re not marketing related. So they need their own group.

Account management pages: Many ecommerce sites let customers manage account settings, check the status of their order, manage returns, etc. I would lump all of these pages together in an Account Management group.

Marketing pages: Now we get into a large chunk of the content – marketing pages. Patagonia has a lot of information about their brand, and initiatives. Rather than lump all of this together as just Marketing pages, I would actually break all of this up into groups based on the different initiatives.

In the case of Patagonia I would use all of these different groups that you can see in the navigation.

Use a Google Analytics Content Grouping to categories marketing pages.

Use a Google Analytics Content Grouping to categories marketing pages.

Support pages: Business is all about relationships – and that’s represented by different types of support content. We can create a support group that containing any materials related to support. Again, you can create sub-groups for different types of support content (product support, order support, etc.)

Error pages: I like to group all error pages into a single group, then I can drill into the group and view the specific errors. This group can contain all different kinds of errors, depending on your personal preference. It could be technical errors, like 404 or 502 errors. Or it could be more functional errors, like when a user adds an incorrect credit card number during their purchase.

Software as a Service: Mailchimp.com

Mailchimp is a popular service that helps businesses manage their email marketing initiatives. Like all SaaS sites it’s primarily divided into two sections: a marketing section and an application section. The content grouping will mimic this general structure of content.

Product marketing pages: If people are going to sign up for the Mailchimp service then they need to know about the features! Product marketing page are pages dedicated to product information, this includes information about price, features, etc.

For a SaaS site, create groups for different kinds of marketing content.

For a SaaS site, create groups for different kinds of marketing content.

In addition to specific product information, there’s also a lot of thought leadership material to help drive marketing.

Marketing content pages: These pages are non-product marketing pages that help you demonstrate your thought leadership. It may be blog pages, or other content. In our example of mailchimp.com, there might be multiple groups. For example, they have a blog, but they also have a ton of research about email marketing. I would put this material in a marketing content group. Or even better, in the Reports group!

I would create a Google Analytics content group for the research reports on the MailChimp site.

I would create a Google Analytics content group for the research reports on the MailChimp site.

Application pages: The other side to a SaaS site is the actual application. This is the section of the site where you log in and actually use the product. Like the marketing pages, there can be many different types of application pages. Let’s go back to our example of Mailchimp.com. I would break down the content based on product features.

Perhaps we could use the application navigation as a template for the content structure.

You can create different groups for each part of the online application.

You can create different groups for each part of the online application.

Account management pages: Here’s another example of grouping different parts of the application together. We could easily group together the pages that control account management. And you can see from the image above that there are sections of the app dedicated to other functionality – all should be grouped accordingly.

Error pages: Like other types of sites it’s a good idea to group all error pages together. See the ecommerce section above for more details. These groups can be both website errors or application errors – like a login error page.

Gaming Application: Clash of Clans

We all use our mobile devices for incredibly important things, like waging medieval warfare on other clans! HA! Anyone out there like Clash of the Clans?

You can categorize app content using Google Analytics Content Groupings.

You can categorize app content using Google Analytics Content Groupings.

In reality, gaming apps are very similar to other business models – like publishing and commerce. Some games generate revenue from in-game ads while others up-sell users on features, like new levels. Some do both. We can group games content together just like we do ecommerce.

Game level screens: Most of the content for a game is probably level based. We can replicate this base structure in Google Analytics. If you’re a fan of Clash of the Clans then you there are other parts to the game in addition to levels. There are attack screens, chat windows, etc. All of these screens can be added to groups to roll-up the data.

Ecommerce screens: These screens are used to sell the user on pay features. In the case of Clash of Clans you can buy more gems, which can then be used to purchase other items, like more armies!

I would put all ecommerce app screens into a separate content group.

I would put all ecommerce app screens into a separate content group.

Configuration screens: Most apps have a configuration section. This is where the user can change everything from the language, to colors, etc.

Error screens: Last but not least we have error screens. Again, these can be technical app errors or functional errors, like login issues.

For Publishers: MarketingLand.com

Let’s face it, content grouping was made for the publishing industry! They’re the ones that have to organize thousands of pages of content. I don’t want to dwell on publishing too much, but let’s take a look at MarketingLand.com, a popular destination for anyone working in the digital marketing world.

I’ve actually written about how to customize google analytics for publishing sites in the posts Custom Variables for Publishers and how to measure how far users scroll down a page. I think both of those techniques still apply.

But now, if you’re a publisher, you can also use content groupings to organize the data about your content. This provides one more way to roll up data for analysis.

Content Category: Almost all publishers group content by category – and now this can be done with the content grouping feature.

Publishers can create content groups based on the organization of their content.

Publishers can create content groups based on the organization of their content.

Some publishing sites organize content in other ways, like by author or publication date. I would suggest creating content groups for topic categorization, and custom dimensions for any secondary organization (author, date, etc.)

Account pages: Some publishers, like the New York Times, offer a premium membership service. This is not the case with MarketingLand.com. But, if it did have a member’s section, you could group all of those pages together.

Error pages: Do I need to go over this again :)

I hope this post provides some inspiration for how you might use Content Grouping for your business. Ultimately how you organize your content groupings will be based on your organization. There is no right or wrong – just use a structure that is useful.

Questions or comment? Leave a note below – and happy grouping!

How to Set Up Google Analytics Content Grouping

Today everyone is creating content – lots and lots of content. Measuring that content can be a challenge given the sheer volume that’s out there. That’s where Google Analytics Content Grouping can help. This feature let’s you categorize your content based on your own business rules. Then, rather than view your data based on page […]

Today everyone is creating content – lots and lots of content. Measuring that content can be a challenge given the sheer volume that’s out there. That’s where Google Analytics Content Grouping can help.

This feature let’s you categorize your content based on your own business rules. Then, rather than view your data based on page URL or screen name, you can view based on your specific groups.

In this post I’m going to talk about how content grouping works and how you set it up.

Key Vocabulary: Groupings and Groups

There is a little terminology we need to cover before we get into the setup: groupings and groups.

You can create multiple content groupings in Google Analytics.

Within a grouping you can create multiple content groups.

A group is a collection of content. It could be pages in a certain section of your website. Or it might be screens from a certain part of your app. It can be just about anything.

A grouping is just a bunch of groups.

Each content grouping contains multiple content groups. A content group contains multiple pieces of content.

Each content grouping contains multiple content groups. A content group contains multiple pieces of content.

You can create multiple content groupings in Google Analytics and switch between them in the reports.

Here’s an example. For my blog I created a grouping called Blog Content Categories.

Within that grouping I create a number of groups to categorize the different types of content on my blog. There’s a group for posts, a group for about me pages, a group for error pages, etc. In the configuration I created a rule that puts each page in a group based on the structure of the URL.

You can view your content data based on groups, rather than URL, screen name or title.

You can view your content data based on groups, rather than URL, screen name or title.

Any item that is not added to a group will appear in the (not set) content group.

It’s important to know that there is not one specific report where you access this data. When you create a grouping it’s literally becomes a new dimension of data. You choose to view that dimension in almost all of the content reports.

Let’s take a look at how you actually create a grouping and groups.

Creating Groupings & Groups

Google Analytics does not automatically create content groupings – you must configure the tool to do that. Navigate to the settings for a specific view and choose Content Groupings.

Content Grouping is a view level setting.

Content Grouping is a view level setting.

Here you will see a list of all your groupings. You can choose to create a new group or edit an existing group.

Here's a list of your Google Analytics content groupings. You can add or edit groupings here.

Here’s a list of your Google Analytics content groupings. You can add or edit groupings here.

There are three methods you can use to create a content group – let’s take a look at each.

Tracking Code Method

This method requires you to add a small piece of code to each page on your site or in your app. The code will literally set the name of the content group when the page or screen renders. Here’s how the code would look for Universal Analytics:

ga('create', 'UA-XXXXXXXX-Y', 'example.com');
ga('set', 'contentGroup5', 'Group Name');
ga('send', 'pageview');

Or, if you’re working in iOS the code might look like this:

id tracker = [[GAI sharedInstance] trackerWithTrackingId:@"UA-XXXX-Y"];
[tracker set:[GAIFields contentGroupForIndex:5]
value:@"Group Name"];

The code for a content group is similar to the code for a custom dimension. You can set 5 content groups using the tracking code. Each group is associated with a number, one through five, as shown in the example above.

Check the Google Analytics support documentation for more code examples.

Basically this method let’s you suck in the group name, via code, from some other system. It might be a CMS, a data layer, or just the HTML of the page.

The key is that you somehow add the name of the group to the Google Analytics code.

Pros: Using the tracking code method you can use code to automatically adjust to changes in your content and new content groups.

Cons: It requires IT involvement to set up. But once it’s configured very little IT support.

I should also mention that content grouping is coming to Google Tag Manager. This will provide another way to programmatically set the content group – so stay tuned.

Extraction Method

The extraction method extracts (get it) the name of your content groups from an existing dimension of data. The idea is that you use a regular expression to parse the dimension and automatically extract the name of your group.

For example, the name of your content groups might be in the page title, like this:

Your website might use the name of the content in the Page Title or Screen Name dimension.

Your website might use the name of the content in the Page Title or Screen Name dimension.

I would need to specify that my group name is in the Page Title dimension, and then provide a regular expression that extracts the appropriate value.

The content grouping extract method will automatically pull the name for a content group from a dimension of data.

The content grouping extract method will automatically pull the name for a content group from a dimension of data.

For those of you that do not use regular expression, the value in the parenthesis will automatically be extracted. Google Analytics will then use the value as the group name.

You can see that this one rule will work for every product page on my site – as long as they are well formatted.

Pros: No coding involved. Flexible collection.

Cons: You might need to update your regular expressions when you add new content to your site or app. Specifically something that does not match your existing rules. Believe me – updating settings SUCKS. People forget to do it all the time.

In you’re new to regular expressions check out this reg ex tutorial in the Google Analytics help center.

Rules Method

The rules method is almost exactly like the extract method. The ONLY difference is that you have to MANUALLY name the group. The value for the name is not automatically pulled from a dimension of data.

The content grouping extract method will automatically pull the name for a content group from a dimension of data.

The content grouping extract method will automatically pull the name for a content group from a dimension of data.

Like the extract method you can create rules based on different dimensions of data- the page title, page url or the screen name. If the dimension value matches the rule then the content is added to the group.

Pros: No coding. Don’t need to know regular expressions.

Cons: You need to remember to update your rules when you add new content or if your site urls or app screen names change. Again – updating your analytics settings SUCKS. People forget to do it all the time.

Which method should you use?

That’s a tough question. Personally, I think page category is a critical piece of data that should be added to a page data layer. If you take this approach then using the tracking code method is very scalable.

I also like the extract method. It’s very flexible and reliable – as long as you have processes in place to maintain your implementation :)

Important things to know

Ok, so here are a few very important things to know.

You can use all three methods for creating groups within the same content grouping.

The grouping logic is applied to your data sequentially. That means that Google Analytics first applies the tracking code method first. Then it applies the extraction method. And finally it applies the rules method. You can use all three methods for your implementation.

When a page or screen matches a rule it is added to that group.

A page or screen can only be in ONE content group at a time! That means that an page or screen can only belong to one group at a time.

And finally, content groups are NOT applied to historical data. They are only applied from the moment you configure the feature.

A Best Practice

Because Google Analytics applies all grouping methods to your data, it is possible to use a combination of grouping methods.

But, because they they are applied SEQUENTIALLY, it’s a good idea to put your very specific grouping rules first, followed by your general rules. This way the later, general rules will catch anything that slips through the early, specific rules.

Content Group methods are applied sequentially.

All three content grouping methods are applied to each piece of content. They are applied sequentially.

It’s really, really important to try and get your groups right the first time. While you can edit your groups, there is no way to change the data that has already been processed.

Make sure you test your groups first before announcing them to your entire team.

It’s also a good idea to add an annotation to Google Analytics so everyone knows when the data was added.

Ok, I think that’s it for how to implement this feature.

Don’t worry – I’ll explain how to use content groups in a couple of days.