5 Things I’d Like to See in Google Analytics’ Cohort Reports

Google Analytics has always been terrible at understanding User behaviour.

Let me explain.

Google Analytics spun out of Urchin, a bit of tracking software developed back when websites were simple beasts. They existed to present content. There were no flashy ‘logins’ or ways in which the user could interact with the page. People simply read text and looked at the pictures.

As a result, Google Analytics is very much ‘session based’. It wasn’t designed to report on people visiting a website multiple times, or interacting in complex ways.

The problem isn’t that Google isn’t collecting the data (It is. And if you are on Google Analytics Premium you can get access to the raw hits via the Big Query integration). It’s that they haven’t build many reports within the standard interface to surface this data.

Over the past three years Google have released features to attempt to become more ‘User’ orientated, sensing that their platform is lagging behind in this area.

User ID reports were introduced in 2014, but when you compare the information you can get out of the front end with that of analytics platforms purposely built to track users, not sessions, this enhancement isn’t much to shout about.

Sequencing was also released around 2015 to allow you to build segments based around Users and the order in which they do things. But they are a little clunky and it still isn’t possible to create a simple timeline of what user did what actions in what order.

Cohort reports were released mid 2015, and these are what I want to discuss.

What are cohorts?

Cohorts are time based segments. An event is picked, and everyone who completes the event within the time period goes into that cohort.

If you left school in 2000, then you are in the ‘2000 cohort’, if the event is ‘Leaving School’.

Why create cohorts? Because they are the best way to understand if changes you are making to your app, website or marketing strategies are having a real impact.

Pretend you’re the head master of a school, and your main aim is to increase the average A Level grade of students in Maths.

Pupils who took the exam in 2010 scored a mean result of 60%.

The next year, you change the curriculum. The pupils who take the exam in 2011 score a mean result of 65%.

The change you made has resulted in a positive outcome, because Cohort 2011 achieved higher marks on average than cohort 2010.

How to use cohort report to measure success

I follow the following general guidelines when performing cohort analysis for clients.

  1. Agree on a daily, weekly or monthly cohort size. This depends on the nature of the business being analysed. Weekly is normally a good choice.
  2. Put people into cohorts based on the date they do a key event, typically either their first visit or date of sign up.
  3. Pick another conversion point of interest. Examples include account activation, first purchase, first friend referral, first use of widget, etc.
  4. For each cohort, measure how many people get to the second conversion step and how long it takes them.
  5. Make a change to your website, app or marketing strategy.
  6. Analyse whether a higher percentage of cohort members following the change achieve the second conversion step, or if they achieve it more quickly.

Why Google Analytics cohort reports suck

Try and execute the above process in Google Analytics and you’ll run into the following problems:

  • You can’t run them for cohorts older than 30 days. If you run a website with a long purchase cycle, or have an app where people sign up and might not reach the conversion step for several weeks, this is a big obstacle.
  • Cohort size and time to second conversion must be the same unit. If you want a weekly cohort (ie everyone who signed up in week X), you can only see how many people got to the second conversion step by week. You might instead want days or months.
  • You can’t change the cohort definition. People are put into a cohort based on the date of their first visit to the website (referred to as Acquisition Date in Google Analytics). Want to make date of sign up or any other interaction what defines the cohort? You’re out of luck.
  • Second conversion step options are limited. In an ideal world you’d be able to choose any event or goal as the stage you want to optimise for. For example, if I want a cohort based on sign up, and to measure what percentage of people complete their user profile, I can’t do it within the standard Google Analytics reports. Google Analytics only lets you choose a transaction as a secondary conversion point, or if someone has completed ANY goals. That’s fine if your website has only got one goal defined, but if you’ve got 5, there’s no way to tell which goal they achieved. Plus your cohort analytics would be polluted with conversions from the other 4 goals.
  • Cohort reports only really work when user ID tracking is done well. There’s no point in doing cohort reporting if you can’t measure someone moving across devices. Your data will in inaccurate. An example would be someone signing up for your service on the website, then downloading your app and completing a secondary key action. If you build a cohort report based on the web data alone, you couldn’t know the person had converted.

Until Google Analytics improve these features of their cohort reports I’m not using them for any serious analytics.

Better Cohort Analysis

What should you do if you need to do cohort analysis? There are a few options depending on your situation.

  1. Deploy another analytics tool that does cohort analysis better. MixpanelKissMetrics or Snowplow spring to mind. Downsides are you’ve got to pay for those plus do another implementation.
  2. Upgrade to Google Analytics Premium and do the Big Query integration. Fine if you have the budget, plus a BI team who can query the data and build you some nice looking reports. Out of reach for the standard marketer.
  3. Hack Google Analytics. Set user ID in a custom dimension (rather than using Google Analytics’ own uid parameter which you don’t have access to in the interface) and capture this whenever a key event happens. Export the event data, along with date and user ID, then run a script to build the cohort report. It’s free to do, but you’ll need to be fairly technical to get this working.

Can’t be bothered?

If you run a website or app then you really should be doing cohort analysis! I know you can see the benefits, but probably don’t want to invest the time in generating the reports of setting up Google Analytics in a way that will collect the data.

That’s where Metric Mogul comes in. We’ll help you choose the right approach for your business, then help you put in place everything you need, from tracking code to automated reporting.

Give us a call for a free consultation. We’d be happy to help.


Ed Brocklebank (aka Metric Mogul) is an analytics and digital marketing consultant. He helps business of all sizes become more data-driven through measurement, strategy and activation. He works as a Strategic Analytics Director at Jellyfish in London, as well as delivering training on behalf of Google and formerly General Assembly.