We analyze the performance of our content every day. Sometimes it's subconscious, like when we check the number of tweets we get from a new blog post. Other times, we make more conscious efforts, like reviewing performance metrics in Google Analytics.
This feedback—both formal and anecdotal—informs what we do next. It influences future blog posts and validates our strategies. Reviewing content performance on a regular basis has been key to the growth of many online publishers. We should all be taking note of these successes as we build our own content marketing efforts.
Paying attention to which of your content efforts are working well is the cornerstone to data-driven marketing. The companies that make these investments can produce tremendous results. For an in-depth analysis on the importance of being data driven, here are two recent articles that inspired me:
- How A Real Estate Blog Went From 2,000 To 18,000,000 Visits Per Month In Two Years
- Quantifying the Clickbait and Linkbait in BuzzFeed Article Titles
These articles show how taking data-driven approach to producing content can produce great results. Exponential traffic and revenue in these cases.
I don't know about you, but exponential traffic sounds pretty great to me!
But we will never get there without taking a methodical and data-driven approach to our efforts. We will never get there if we are only counting page views.
It's time to take things to the next level!
Using Google Analytics Content Groupings and Dimensions to inform our content strategy
For many of us, Google Analytics is the tool of choice for analyzing website performance. It's free, easy to use, and extremely powerful. But because of the free and easy nature, most users do not explore the more advanced features of the product.
One of the more advanced features that you have at your disposal is content grouping. Content grouping allows you to gather your content into common themes to create a more meaningful analysis of your data.
For example, you can group your blog posts by the type of content that they represent. This grouping is helpful if you cover many topics on your website or sell many products.
This is something that I have been doing for years on my own site. It helps me understand which topics resonate the most with readers. It also helps understand which topics drive organic search visitors.
In the past, I would have to do this in a manual fashion. It involved exporting data into Excel and grouping content by the presence of certain words in the page URL. This was an ugly manual process that I would not wish on anyone.
With content grouping in Google Analytics, we can get a view of this data with little effort involved. Here is a screenshot of traffic performance by content groups, based on common topics that I cover on my blog.
This simple screenshot is quite revealing. It shows which topics resonate the most, as well as content deficiencies. And these reports get even more valuable once you start to segment your data. More on this shortly.
Configuring content groupings in Google Analytics
Before we can get into deep analysis of our content, it makes sense for us to talk about how we can configure this report in Google Analytics.
There are three ways to set up this feature. The easiest way to do it is by creating rules to define your groups. Rules work like advanced segments in Google Analytics. Set the criteria for your groupings and Google Analytics will do the rest of the work.
Note that these rules work only on the page URL, page title or screen name (for apps).
Here is an example of how to configure groupings matching words found in your page URLs.
The definitions work as a waterfall. If a page url/title fits in your first definition, we exclude it from each future definition. For this reason, we want to be specific with our first rules and then leave the more general and "catch all" rules for the end.
Notice how I used a regular expression to define what makes up a PPC Page. The pipe (|) symbol serving as an "or" statement in the expression. You can also use the "or" statement on the right, but this can get unwieldy fast.
For long regular expressions, use the extraction method for content grouping. This works wonders for complex regular expressions with several criteria to classify posts.
Using code to define your content groupings
The above options use the data that you already send to Google Analytics with each page view (page URL and page title). While this works well if we have search friendly URLs and titles, it is also limiting in our ability to perform analysis.
If you would like to analyze beyond words in your content, then you will need to use code to push this data into Google Analytics.
While this sounds daunting, it is not too bad. I was able to get this code working in less than 30 minutes to provide a proof of concept.
What are some groupings that you might want to use for measuring content performance?
How about the length of your content? Many of us have seen studies on the importance of the length of our content. Is it worthwhile to write longer articles, or is that just a "best practice" that does not apply to your site?
Let's measure it!
How about the date that you published your content? If you put the date of your post in the URL, you can use rules to build these content groupings. I don't include the publishing year in my URL, so I would need code to get this done.
Here is how I configured Google Analytics to track word counts and publishing year of articles.
First, you set a new definition for your content grouping in the admin section. I selected indexes 4 & 5 to avoid any potential conflicts.
As soon as you have defined your grouping, Google will give you code snippets to use for tracking in Google Analytics. There is code for Classic and Universal Analytics.
I use Google Tag Manager on my website, so I pushed data into the system using the data layer functionality.
My code looked like this for tracking word count, word count range and year published:
We trigger this code on every page of my website using native functions from WordPress. If you are using Google Tag Manager and WordPress, I would be more than happy to provide you with the code that I used to build this data layer.
Next, I created a macro in Tag Manager to recognize these variables. I gave a default value of 0-200—in the event that a word count is unavailable from WordPress, it will list 0-200 words. Then in my Universal Analytics tag, I set content groups in the tag configuration options. My indexes correspond to the groups we set in the Google Analytics interface. The words in the {{}} brackets represent the macros we defined above. After publishing, every page load will send content grouping data into Google Analytics. Pretty awesome!
Once your definitions are in place, you will see your groups listed in the admin section of Google Analytics. You can define up to 5 unique content groups per view. For even more on the topic of setting up content groupings, here is an awesome article by Michael King on content groupings for the user journey.
Viewing this data in Google Analytics
Once your definitions are in place, Google Analytics will start to push this data into your account. Note that these definitions do not work retroactively—only on data moving forward. Unfortunately that means that you will need to wait a few days for meaningful analysis of this data.
But when the data starts to come in, it's beautiful!
Let's start with the content grouping definitions for post topic type. I have had these in place for a while, so this data is already providing meaningful insights. Here is what we start to see when looking at website visits by topic type.
While WordPress pages drive the most traffic, they have relatively low value per page view. This does not count any affiliate revenue, but it is indicative of the traffic brought in by this topic. High traffic volume/low value.
This high traffic volume, low page value metric helps me draw two conclusions:
- I need a better call to action and offer for WordPress content. I can't write about this topic without having an action for visitors to take. I may need to invest in some sort of premium content for this topic.
- As I plan my content strategy, it may not make a lot of sense to focus on WordPress if I cannot find a way to get more value out of the visits. It is clear that Google Analytics content is more valuable for me.
By grouping my content into themes, I now have a fresh perspective on the effectiveness of my content. Instead of choosing the topic on my mind on any given day, I may benefit by only writing about Google Analytics.
This level of insight is not possible without content grouping. Content grouping is incredible when you have this data tied into the goals you have already set up with Google Analytics.
Checking in on our code-driven content groupings
As you can see, content grouping provides excellent insights into your content strategy performance. If you have thousands of articles on your website, content groupings will help you sift through the noise and go right to the signal.
You can gain insight into other aspects of your content strategy through this same method. Let's check in on the groupings that we set up through code earlier in this article. Please note that this is a proof of concept with only a small amount of data to support the groupings. Over time, your picture will start to become more valuable as you see conversions rolling into your account.
How many page views are we getting for the content we produced over the past 4 years? This is easy to view with our content groupings. This is a traffic pattern that I had assumed in my mind (I wrote much more in 2013 than 2014). Now, I have the numbers to prove it.
What about by word count?
Not surprising, lower word count pages (like the homepage) are getting the most traffic.
This data will get even more interesting over time.
Applying segmentation to our content groupings
We have grouped our content by length of the article and when it was published. Now we can measure how these factors impact our organic search traffic. We can do this a few ways. My preferred method is to look at the medium of organic search and then use a secondary dimension of content group.
Again, we see that our shorter articles are driving the most search traffic. This is for two reasons. 1) The default content range is 0-200, so this includes articles with no word count defined by WordPress. 2) It includes our home page, which often ranks for branded search results.
If granular keyword data were still available in Google Analytics, we would be able to segment brand/non brand traffic. But alas.
We can do this same analysis by year as well.
Notice that the current year is receiving the most organic traffic. I can only assume that this is again due to branded traffic.
Content grouping makes everything better!
Where else does content grouping make Google Analytics data shine?
Many of your favorite Google Analytics reports get better with content groupings. The behavior flow report comes to life with your content groupings.
We no longer need to look at this report with several branches of data hidden from view. Now you can see how people visit your site based on your pre-defined content groupings.
Custom Reports
You can also use custom reports to combine several fields together. For example, try to view organic visits by the year you wrote the content and the topics into a single report.
You can also start to add your conversion data in place and understand the value of the content that you have produced over the years.
Several years ago I wrote a post about investing in SEO for YouMoz. The basic premise is that SEO investment does not fit into normal budget constraints. For example, you may budget for all your SEO efforts in 2015, but there is a revenue impact of these efforts for years to come.
A custom report by post year can help you better understand the continued return on your SEO investment over the years.
What other content groupings make sense to explore?
Once we start grouping our content for analysis, many possibilities become available. Here are a few more ideas for what we can measure for content groupings:
- Grouping by social share counts. How do share counts affect traffic and conversions? I have done a proof of concept with social shares in the past and the data is revealing.
- Grouping by external links using the Mozscape API. Push this into your data layer and you can start to analyze how links may be impacting your content performance.
- Grouping by any on page metadata for your post. We included word count here, but we can also include title length, keyword usage, etc.
- Grouping by targeted keyword. Use a custom field from WordPress (or your CMS) to push this into your data layer for content grouping.
- More specific date based grouping. Instead of grouping by year, group by month or week to see how strategies take hold more quickly.
- Grouping by author of content. Which authors drive the most traffic and revenue?
- Grouping by department of company. Are certain departments producing better content?
You can measure pretty much anything with content grouping. The only real limitation being your imagination AND Google's current limit of 5 content groups in each view. You can even get around that by using multiple views if you want.
What type of questions can we answer with content groupings?
With content groupings in place, we can answer more business questions than standard content reports. Here are a few business questions I can start to answer with the content groupings we have already discussed.
- Is our content marketing hitting the mark?
- Are we making progress toward our goals with our recent content marketing?
- Did our SEO investment mature like we thought it would?
- Has our new focus on converting visitors affected overall revenue significantly?
Through content grouping, we can find answers within our pre-defined points of analysis. We no longer have to look at individual posts and pages to find answers.
We provide the taxonomy that works for our business. Then we use this taxonomy to show how visitors reached our website through acquisition reports. We see how they performed on the site through conversion reports.
Now Google Analytics starts to think a lot more like our business. It uses our own words to describe content within a structure we define. Plus, we have the tremendous processing power of Google Analytics to handle our queries.
Bonus: Use custom dimensions to make these reports even more useful
If you were paying close attention to the data layer variables I showed earlier in the post, you will see a third variable. This third variable is the exact word count for each page. This variable was added to the data layer as I was starting to do analysis on the content groupings. I found that some analysis may become easier if I have the exact word count available in Google Analytics.
In Google Tag Manager, I set a custom dimension of Word Count using my third data layer variable. Now, I can view post topic by word count of the article in Google Analytics.
Useful? Definitely! There are many times when you need an exact number available to conduct analysis.
You can add up to 20 custom dimensions per web property in Google Analytics. It only works with the Universal Analytics version.
What type of content analysis are you going to do now?
Groupings are like a cheat-code for content marketers to take their analysis to the next level. You get to push your own data into Google Analytics. You get to use your own definitions within the tool.
There are really no limits to what you can measure. What is it going to be? I would love to hear your ideas in the comments section.
Fantastic article and unbelievable detail on how to do it. This one will be bookmarked and referred to for the foreseeable for me!
Good article friend. I think that Google Analytics are one of the best tools in the SEO world. Congratulations
I agree that google analytics always have to consider but we must also use the support of other programs to compare results. Google is not infallible.
Yes. In all of my presentations, I am sure to make this very clear. You should be using more than one tool to analyze your data. But as far as Google Analytics goes, it is on over 75% of all websites, so when you write articles for mass audiences, it needs to be about GA in order to reach them.
I did a quick search for details on GA content grouping & was happy to see Moz had an article ranking right at the top. Then I clicked-through & was super pleased to see it's a piece written by one of the best digital marketing teachers I've come across. Great job, Jeff! Incredibly valuable article!
AWESOME article!!!!!
Great article Jeff Sauer!
Hi Jeff,
i have never thought for our content Analysis so much deeply through Google Analytic. Fantastic efforts Jeff.
Glad it helped spark some new ideas. Looking forward to hearing about your results!
Awesome guide, Jeff! There is wordpress plugin too to make content groups simple based on categories and tags. Megalytic did a write-up on this. Although, analysis by word count and year won't be possible this way but it could be a great solution if you just want to basic analysis on type of content.
Plug: We are building a content marketing software that makes it very simple.
Hi Jeff, you mentioned
"If you are using Google Tag Manager and WordPress, I would be more than happy to provide you with the code that I used to build this data layer"
Can you please send me this code? I suppose it is a custom script for GTM?
Thank you!
Lore
Here is the code to add to your functions.php file in WordPress https://github.com/jeffalytics/wp-gtm-variables/blob/master/functions.php
Hello!
I had not really discovered this content grouping option you mention and is very good.
This is going to provide a little more life.When I read your article I started researching and defining our own rules and grouping the content that most interest us, it is easier to analyze the performance of our products and categories of content.
It is always good to read your articles because you learn a lot with them ...
Hi Jeff,
It's a great article. I can tell that your post is very valuable because I also use content grouping. I use it in e-commerce website to separate each type of page (listing, detail, etc.). On Blog, grouping is also useful on category and author level so that we can easily know which categories and authors are performing better.
That is a great use of the feature. I can see it being particularly useful for a business like yours.
Thanks for your feedback!
That was gem of an article Jeff. Do you think it is possible to combine Content Groupings with Segmentation reports to deduce any meaningful information?
Thanks
Yes, you should combine groupings and segments - that is really the value here. Content groupings alone are decent, but much better with segmentation.
As a rule, I think three levels deep into the data provides you the answers. Level 1 is surface, level 2 is content groupings (or a segment or a dimension or anything beyond the surface) and level 3 is some sort of drill down of the data combining your segments and dimensions/outcomes. That is where the real value happens!
Great post . ! Thank you, we 're learning a lot with Moz . And we use your advice on our website . Thanks for the post Jeff . !!
Fantastic article. Google Analytics can be a very daunting task, and at first, most people (myself included) probably take a look at all of the different dimensions and just kid of nod their heads in approval. When you take the time to learn what exactly the different functions do and how they can both benefit and streamline your work, the true magic of Analytics comes to light. It was the "ah-ha" moment for me at least.
This article hit the nail on the head for some of the more advanced metric analysis that I was looking to tackle. Once again, great job, Jeff!
Hi Jeff.. Greeting from Indonesia ! I believe this kind of info is previously known only by few people and this actually your edge as a consultant/web analytic practitioner... I don't think this kind of 'revelation' is not enough to have feedback like 'thanks for sharing'.. so i'm virtually send hugs, bouquet, and pizzas to express my gratitude..oh i'm gonna be like tony stark of web analytic in my project just because of this info..
Thanks for the kind words - I really appreciate it! You are right - this is giving away a competitive edge in the name of the greater good. I realized long ago that I can either hold the information to benefit 1 person (me) or share with the world and create much more benefit overall. I'm grateful for Moz giving me a platform to do so. Glad you enjoyed and when I am in Indonesia, I'll let you know so you can have the pizza ready!
"As I plan my content strategy, it may not make a lot of sense to focus on WordPress if I cannot find a way to get more value out of the visits. It is clear that Google Analytics content is more valuable for me."
THIS.
I can't tell you how many clients want to start working through a content / content marketing strategy, but they are giving zero value or calls to action for readers. Engaging in content just to put out content, is SOO faking the funk. Without having a well structured strategy AFTER content is published, you'd be best investing your marketing dollars elsewhere.
Hi Jeff.. Greeting from Indonesia ! I believe this kind of info is previously known only by few people and this actually your edge as a consultant/web analytic practitioner... I don't think this kind of 'revelation' is not enough to have feedback like 'thanks for sharing'.. so i'm virtually send hugs, bouquet, and pizzas to express my gratitude..oh i'm gonna be like tony stark of web analytic in my project just because of this info..
Very interesting method and analysis hints.
I must say I am still a fan of the "export in Excel" method and will remain so until Google fixes content groupings.
My main complain is the 5 group limit. I generally use 10 as I define "zones" in a given website.
Also: why do we have to define groupings in the code AND set them up manually? We should be able to do it directly in the tag, with no further intervention.
If I remember well, tThis is the method used by Xiti in its tool with chapters and subchapters. It works fairly well.
Crawling a website and doing the content grouping in Excel has other advantages:
The main drawback is that you cannot use those groups in GA. But you can import GA data using the API and make the same type of analysis on a page sample, then group them.
Also, this only works for rather small websites (<100000 pages) otherwise filtering in Excel becomes impossible.
For websites over which I have some control, I add the groups in a meta robots tag. When I crawl the site, I use this data to create the groups.
Over time, I generally find that I create the same groups on most websites. For instance, for an e-commerce website it would be: homepage, product category, product page, blog category, blog post, utility, media, errors and redirects.
I am still hoping that Google improves content grouping to be able to fully use it in GA.
Zones would be 1 content grouping. Then you would have 4 others you can define as well. So that is not a real limitation of content groupings, seems like more of a misunderstanding.
As for defining groupings in code and setting up in Google Analytics, this is to give Google context on what you are achieving. I am not sure why adding a definition one time (a 30 second task) after spending hours getting the code to work is a big deal?
There are plenty of reasons beyond these that Excel and the API is a better solution for advanced users. Content groupings will never take the place of performing a comprehensive data mining and analysis for a website. Then again, that was never their design.
For the 99.5% of websites that use Google Analytics and currently only look at surface level traffic metrics/sources, content groupings are revolutionary. For the other .5% that are already tapping into the API/Big Query and the like, this feature is underwhelming.
Indeed it seems that I had misunderstood the 5 content grouping limits.
Thanks for clearing it, I really did not understand why we would be limited to 5 groups.
I have set it up on one of my websites with the same groups I use in the meta keywords for Excel and will test a few reports.
Can you elaborate extras on organic rankings from Google Analytics data with an advanced customer filter ?
I don't think I understand the question.
I do not understand the question either,,,
i will apply the rules for my sites
thanks.
You provide us with huge amount of valuable and detailed data regarding Google analytics and the correct way that every seo professional should use every aspect of it. I am glad that your post is fully aligned with the new Cohort Analysis report and the overall tracking capabilities.
Great article Jeff! :)
Thanks!
I accept that content grouping is a better way to view data as it sums up all things at a particular place. But sometimes Google analytics gathers such data in heaps which is useless mostly. Due to this problem I changed to GoStats and now I am free from that.
Great post Jeff!
Would be great if you can share the code you have used to build the wordCount and wordRange requests:
We trigger this code on every page of my website using native functions from WordPress. If you are using Google Tag Manager and WordPress, I would be more than happy to provide you with the code that I used to build this data layer.
Next blog post idea: can you deep dive into what values we can capture with GTM and use it to enrich SERP using JSON-LD markup tags in GTM.
Wow...this is SUPER useful! Reminds me that there is so much in Google Analytics that I am not even using (or aware of!)...
Jeff, I agree with you that for your content marketing to be really successful you have to base it on previous data in order to capitalise on opportunities. Really detailed article and some of the data to be compared in terms of grouping and year/word count is interesting. Does GA allow you to see Pageview averages per post for each individual group? It seems as though at the moment pageviews/unique views data is not discerning enough - after all if 75% of your articles are on Wordpress they are bound to have more views. I would be more interested in the averages across grouped articles in order to see the true value of topics.
Yes, you can drill down into the content group to see the individual articles.
I agree that pageviews alone don't give a ton of insight, because it might be biased toward quantity of writing. However, page value (average amount of money you make when people visit that page) is very valuable for analysis. High page value / low traffic volume means it's a topic you should consider writing more often.
In addition, these groups become particularly effective when you apply segmentation. The base content groupings are just that: a baseline for where you get started before drilling down.
Absolutely a new angle to analysis contents, thank you for those brilliant ideas!
Very awesome, detailed and worth bookmarking post. I don't see how much more detailed you could have gone with the writing here. The next step to go in further details would have been to just make a video. Thanks a lot.
Hey Jeff,
Thanks for presenting this valuable post. Honestly speaking, I haven't tried this feature before but now I can not wait further to play with it.
Just wanted to know, is there any chance of loosing other important data while setting this up?
Cheers,
This will not impact your existing data. Content groupings are a segmentation tool you can use in your Behavior/content reports in GA. This does not alter the main view of content - just adds another layer of abstraction.
That sounds good. Will buzz you if I need any assistance.
Superb post about Google Analytics, an essential to measure the ROI of our online business tool. This article has been a favorite for life . Congratulations !!
Does Content Grouping actually work in combination with Goals?
I have managed to group my content but I can get the same data as you show here. But when I create a custom report and try to add goals (like social media clicks) there is no data.
When i go back to the goal tab without content grouping I can clearly see that a goal has been fired and that it belongs to my content group (where the goals was triggered).
It only works from the point you enable moving forward.
Very useful tips here! I'm definitely using them starting now
Hi Jeff, this is a brilliant article. I tried to implement the things you said but since I am not that good at coding and never used Tag Manager got a bit stuck.
I tried to do the same code for tracking word count, word count range and year published in tag Manager, and did the macro layer but it doesn't seem to be the same as in your screenshots.
You mentioned you can give the code for this if we ask. Would it be possible to get the code for tracking word count, word count range, year published and social shares in tag Manager? If it's not too much to ask.
Awesome stuff though. I am a new fan of content groupings.
Hi Rodica - I can email you the code if you'd like. It is fairly straight-forward, but also has caveats that go along with code. That is why I did not include in the article, because everyone has a different situation. jeff at jeffalytics
Hi Jeff,
That sounds awesome. Will send my email in a message.
Thanks Jeff for sharing this wonderful content analysis in Google Analytics. I have not applied this option yet...
And as Mike Lowry said that i have never thought for our content Analysis so much deeply through Google Analytic.
You did such a good efforts Jeff...
Thanks! I agree that many people are unaware of all that you can do in Google Analytics with a little configuration. Hopefully articles like this start to increase that capability for everyone!
Hello Jeff Sauer,
I have some questions:
After read your article I setup content grouping for my website but I have confusion about "what is select index in tracking code". I am not find this question's answer on Google analytics help so please explain me what is "Select an index number (1-5)" option.
Second I find the not set in content grouping so please tell me about why it show not set.
for ans I see same Google analytics help but I find that a single line "Any page that does not contain the
_setPageGroup
function is included in the (not set) Content Group."what is this function please explain me.
Mohit,
You are allowed up to 5 content groupings in Google Analytics. When you set your content grouping by code, you need to choose which of the 5 content groupings to use. This is your index (1-5). I chose index 4 and index 5 for mine, just to be safe that they wouldn't conflict with each other.
You are seeing not set because content groupings only work moving forward from when you set them up. You will not receive data until tomorrow and onward. This is not applied retroactively.
Hey Jeff,
I really appreciate the blog post, the part on behavior flow definitely solved an issue I've been contemplating for a while. Have you written anywhere on integrating some of this data in other API sources with Google Sheets, or about Content Groupings vs. Segments (centered around specific content URLS) generally?
Thanks!
I have not written on this topic before.
Thanks Jeff Sauer,
This nice guidance and Great, Now I see list of pages .
Thats an amazing article Jeff, I have a question here, can we by any chance set these custom content group on Google Analytics Dashboard?
Absolutely - your groupings will show up in your dashboard if applied when clicking on "add to dashboard"
Awesome!
Thanks Jeff!
Hi Jeff, Can you shed some light on how you derived the wordCount variable? Did you use some custom Javascript to scrape that information. Thanks!
Robby - I pulled the variable from WordPress... they have a variable that you can use to output word count. You can find it here: https://github.com/jeffalytics/wp-gtm-variables
very nice article..i think there are lot many things to do in analytics. i will apply the code and use it as per explained in this
Excellent article on Content Analysis. One can easily get the idea of using this analytical method if he reads this article carefully. Thanks J Sauer.
Google Analytic is always a best tools for every blogger. Hope to see more information about these type of seo tools and thank you for sharing this amazing information...
Good post friend! Congratulations!
I've learned something new today for sure! Great article!
Brilliant Post..... its helpful for me thanks!!!
We are Learning and Earning thanks for such a nice article.
Awesome Post.....Great Idea in Google Analytic Customized, Still Gettting Difficulty to getting it..Can U Please Share one PPT on It....
I am not sure I understand the request. This is about as detailed as I can get the post.