As a product manager juggling tasks for the current sprint, customising web analytics has often fallen down my to-do list. Yet measuring how customers use your current product often holds the key to prioritising what to build or fix next.
How annoying then to skip the detailed setup and find months later you are not measuring the right thing. That has certainly happened to me…
In this article we will look at tracking how customers (or ‘users’) engage with your website/app across many visits. For many digital products, whether advertising or subscription driven, repeat engagement by a customer is an essential step to profitability.
To start generating useful KPIs like Average Revenue Per User (ARPU) or Lifetime Customer Value (LTV), we first need to have a view of what each customer – not just browser – is doing day by day.
Let’s take a look at the theory, and then how to set this up in 3 common tracking platforms: Google Analytics, Mixpanel and KISSMetrics.
The standard session tracking setup
So, a quick aside about session tracking:
By default, Google Analytics creates a cookie when your browser first loads a page with the tracking script installed. This cookie doesn’t know who you are, so it assigns a random ‘client ID’ to your computer or browser.
This GA cookie lasts for 2 years, so if the same browser is seen on the site within that time they are classed as a ‘repeat visitor’ – but only if it is from the same device.
Log in from your work computer, or your phone, or your tablet, or clear your cookies in the interim and you will be counted as a new visitor with a new client ID.
If you track a goal based on registration you can see what pages that person subsequently visits on the device they registered on – but not on any other device.
Google Universal Analytics
I’ll focus here on the standard approach Google Analytics (GA) is rolling out from April 2014 (although it may not work right now).
When a user registers or logs in, you pass a user ID to the GA cookie. Once that user ID is sent in a given web session, all subsequent traffic is tracked on a separate ‘logged in users’ view on GA – until they log out on that device.
You can optionally turn ‘session unification’ on, which means all the pageviews before they logged in are linked to that user (see the Mixpanel diagram below).
By setting up a separate user ID view, you get specific cross-device tracking reports on GA, but at the disadvantage of not analysing your logged-in user behaviour alongside anonymous pageviews.
Note: you are not allowed to use the customer email as a unique identifier for Google, which may make it harder to link in other payments or CRM data in the future.
Mixpanel & KISSMetrics
Both of these platforms have customer tracking built in from the start, so they tend to be simpler to implement.
The principle involves sending an ‘alias’ command every time someone registers with a unique identifier (internal ID, email or even full name) to link this to their previously anonymous profile.
Then, every time the same person logs in, you send an ‘identify’ command with that same unique ID. Whatever device the user is on, it then links the current session and any pageviews/events to their existing profile:
IMHO, Mixpanel is the easiest and most flexible for developer setup from scratch, but that is often outweighed by being able to continue with the existing reports and data on Google Analytics.
Tracking customers over visitors gives you much more power to analyse who is using your website, and which groups of users tend to perform certain actions.
But it has taken trial-and-error across a number of products to hone this technique, so feel free to contact me if you have specific questions or think there’s another way to achieve the same effect.