Product Analytics: Everything You Need to Know Including Advanced Tactics
I remember when I read that email. One of my clients was doubling down on their product analytics. I was excited.
It was clear that this was their biggest problem but they weren’t spending enough time on it. Instead, they were trying to acquire more users.
They were trying to add more water to a bucket that was full of holes! If you did this in real life, you would quickly stop. It would be obvious that you’re wasting your time and you’re probably getting wet.
What made this company finally decide to stop adding water to a leaky bucket?
Their analytics data made it obvious. They were able to see that their retention (through a cohort analysis report) was terrible. Meanwhile, their conversion rate for new sign ups was pretty good.
They didn’t have to gamble or take risky decisions. They could weigh their options and use actual data to back up their strategy.
This is the power of data. More specifically, this is the power of product analytics.
Product analytics give you insights around how your users use your product. Who are your best users? How do you get more like them?
In this post, we’ll go deep into the world of product analytics. To help you move around, you can use the links below to jump to the most relevant section for you.
Why Should My Company Care About Product Analytics?
Product Analytics Sounds Cool But My Company Can’t Do All This Fancy Stuff.
Two Common Problems That Product Analytics Can Help You Solve:
Problem Uno: Paying Too Much to Acquire Users i.e. a High CAC
Problem Dos: Losing (or Churning) Too Many Users i.e. Low User Retention
Bonus Round: More Tactics to Level Up Your Product Analytics strategy:
Use a Metrics Framework like AARRR
Start by Tracking a Handful of Metrics
Use Events to Track User Actions
Use An Analytics Tracking Plan
Use a Consistent Naming Convention
Use the Right Tool for the Job
Use a Wrapper or Tag Manager like Segment.com Or Google Tag Manager
Use Javascript Libraries to Easily Send Events
Use Reports and Dashboards For Key Metrics
Product analytics encompasses the analysis of your products. This can include the behaviour behind how products get sold or used. For our purposes, let’s focus on a specific type of product: technology companies who sell web or mobile apps.
For these companies, we have a great definition provided by the folks over at Amplitude:
“Product analytics show you who your users are, what they want, and how to keep them” – Source
In short, we want to use analytics data to identify our best users and how to get more of these users.That’s it.
This means answering questions like this:
The company that I mentioned at the beginning of this article is using data to figure out how to keep (retain) more of their users. What product features should they emphasize? What kind of messages can they use to bring back users to their product?
Yes and no. Some tools are quite complex BUT there are basic options that any company can start using today.
This is the process that you can follow to get started:
You’ll then be able to create the reports that I’m going to show you later in this article. Small insights like “my users struggle to go from step 1 to step 2 in our onboarding funnel” will start to show you the power of data.
Also keep in mind that these tools aren’t for everybody. You’ll get the most out of these tools after you already have active users (low thousands for B2C apps and low hundreds for B2B).
Let’s now explore two common problems that you can tackle with product analytics.
Nearly every company that I talk to is interested in acquiring more users. It’s all about the hottest acquisition channels or the tactics that will double their acquisition rate.
These companies are on the right track but they are focused on the wrong metric. It isn’t about acquiring more users but acquiring better (i.e. higher quality) users.
I had a client once that was in acquisition mode. They decided to run a money giveaway promotion where you would get $5 for every user that you referred to the platform.
Within hours of launching this campaign, they had 1000 new users. It was so successful that they had to stop it. This a good problem to have right?
A week later, the party came crashing down. They logged in to their analytics tool and decided to see the retention of these new users. 0% or as close as you can get to that.
Almost no one was using the app. They had paid $5-10 for each of those users and they were all gone.
This is the worst combination to have: high CAC and bad retention.
The good news is that this client was able to track exactly what was working and what wasn’t. They could run experiments like this and abandon them if the numbers didn’t look good.
To solve this problem, we will first turn to Google Analytics. This is the gold standard for analyzing marketing traffic making it perfect for our user acquisition efforts. If you have a mobile app, you will need a tool like Appsflyer or Branch.io to analyze app installs.
There’s two things that you need here: goals to track conversions and UTM parameters to track marketing channels.
1. Google Analytics has a feature called “Goals” which is used to track important conversions for your web or mobile app. Things like user signing up or subscribing to a newsletter can be set up as goals.
I wrote a detailed guide for a site called GrowthLab on how to create goals. Check that out if you want step by step instructions.
2. You then want to “tag” all of your marketing traffic. This means using UTM parameters which takes your links from something like this:
rubenugarte.com
To something like this:
rubenugarte.com/?utm_source=growthlab&utm_medium=referral&utm_campaign=guest-posting&utm_content=90%25-google-analytics-post
The bolded part are the UTM parameters. These get picked up by tools like Google Analytics allowing you to use them in your reports.
Once you do these two things, you can create a report that shows you where you traffic is coming from and how each channel performs against a certain goal (i.e. conversion).
This is the “Channels” report under “Acquisition” in Google Analytics. The “Source / Medium” are two types of UTM parameters and the column on the right hand side (Conversions) are the goals we created earlier.
You can also store these UTM parameters as user attributes in tools like Amplitude or Mixpanel. You might need to work with your developers to capture them but once you do, they will look like this:
UTM Parameters inside a Mixpanel profile.
Tracking this data will let you see exactly what kind of users a channel brought. You’ll be able to see if a channel has a high conversion rate AND if those users tend to stay around to use your product.
Low retention is a tougher problem to tackle. There usually isn’t just one thing that you can do to improve everything.
Instead, you’ll have to dive deep into what your users are doing (and not doing) and try to understand what could be missing. Qualitative data like interviews will be incredibly helpful here. This is also heavily tied to customer success or loyalty.
The client that I mentioned at the beginning of this article used a few different reports to understand their retention problem.
We start with a high-level funnel report that will look at our onboarding flow or a series of actions that we want our users to take. Users that don’t even complete a basic funnel will have crappy retention so this is a good place to start our analysis.
This is the funnel report by Mixpanel. It shows us where users are dropping off. More importantly, it shows us where we can focus our efforts to get the biggest reward (step 2 to step 3).
The next report that they used was a cohort analysis. This is the classic retention report that shows you how many users are coming back and using your product within 1 day, 1 week, etc.
This report can help you measure your progress from week to week or month to month.
Finally, you’re trying to find individual users who seem to be doing better than the average when it comes to retention. These are the power users of your product.
You’ll then be able to see the profiles of these users with every action that they took inside your product.
If you have multiple power users, you could try and find similarities among them (demographics, actions they took, etc).
This is also where qualitative data will come in handy. Emailing them or calling them can sometimes give you more insights that simply looking at all of their product analytics data.
Related: If you’re in charge of marketing or product at your company, be sure to check out the 6 Reports That You Should Be Running to increase the growth of your product and company.
Once you understand the basics, you can start diving into more advanced tactics. Below you find will 10 ideas or strategies to improve your product analytics data.
Not every idea will be useful but most will and any of these ideas will be worth 10X the time it takes to implement them.
As you read through them, I want you to keep in mind why you need better analytics data (it starts with better questions). Great questions will give you great answers.
Apart from helping you answer questions, I will also give you step by step instructions for how to implement these tactics in two popular tools:
You could also apply these tactics to similar tools. For example, Kissmetrics/Amplitude/Woopra are similar to Mixpanel while Pwiki/Hotjar/Appsflyer/Branch are similar to Google Analytics.
Analytics frameworks like AARRR will give you a model to easily understand how different metrics play together. They will also help you prioritize what areas of your product to focus on.
After all, there’s no point in trying to improve your user retention if you barely have any users signing up.
AARRR was developed by Dave Mclure from 500 Startups (this is the Slideshare presentation) and it can be summarized in the chart below:
You logically start by acquiring users until you have enough to then focus on activating them and then retaining them. This doesn’t mean that you need to acquire thousands of users but enough to let you fully understand the next steps.
Under each step, you will have different metrics that matter to your company. It’s hard to find a set of universal metrics for all startups so these will vary for each company There are also other frameworks like the Startup Pyramid by Sean Ellis and Lean Analytics Stages. Choose the framework that makes the most sense to you.
AARRR and Google Analytics
As mentioned before, Google Analytics is really good at the first step in this framework, Acquisition. The one thing you need to set up in GA (besides adding the tracking code to your product) is to create a “Goal” to track the signup conversion. This is when users go from Acquisition to the Activation step.
To do that, go to the “Admin” section of GA and then find the correct account and the correct property. In the far right, you will have “Views” and just under that, “Goals”.
After clicking it into it, you can create a new Goal which will give you the following options:
Choose the right category for your goal and then press “Continue”. You are then given a few options for how to measure this goal. If you have a dedicated destination page for your users after they complete the goal e.g. a thank you page, then use that.
You can also use events which I will cover in a tactic below.
You can finish by saving your goal. You can now use this goal to segment your Google Analytics data like in the image below, where I’m segmenting my traffic sources by a newsletter signup goal.
Once you have a goal set up, you could use it to optimize your Facebook Ads for example.
AARRR and Mixpanel
Before Mixpanel can send you any data, you need to send events to it. I’m covering how to send events on a different tactic below but let’s imagine how you would set up the remaining steps of AARR in Mixpanel.
You need an event that gets fired when users get “activated”. This might mean that they complete the onboarding process or that they have taken certain actions. You could then create a funnel showing how many users sign up for your product and then get activated.
You can create funnels by going to “Funnels” on the left hand side and then clicking the plus icon next to the pencil at the top to get the screen below:
You then choose the events that you want for each step and Mixpanel will create the funnel for you. You will then end up with something like this:
This gives you a quick overview of your conversion rates from the Acquisition step to the Activation step.
For retention, we also need specific events that users must complete to be counted as “retained”.
Let’s use the “First Time” report that simply says “show me users who did X and then came and did Y”. X can be your sign up event and Y can be the event that users complete when they are retained. You would then get a cohort analysis report which looks like this:
How Mixpanel shows you cohort tables.
You can see the drop off in usage as the days increase. You want to work to reduce this drop off and retain more of your users.
Finally, Mixpanel offers revenue specific reports that you can take advantage of. They require special setup (with a developer again) but once you set it up, you can get reports like this one:
The last step in this framework, Referral, is a bit tricky to track with Mixpanel. You could have events that fired when users referred other users but it won’t be perfect. A dedicated tool for referrals will be much better.
Startups have this burning desire to track everything. Maybe this is a variation of the popular FOMO. Anyway, this is the wrong approach to take when you’re just starting.
The reality is that you only need 3-5 metrics to start with which means you only need 5-10 events. There’s a few benefits to taking to this iterative approach:
There’s a great interview with VSCO who was tracking too many metrics and barely using any of them. Matt, a Product Manager, said this about their challenges:
“There was this thought that we needed to track anything someone could do. Then, five months later, you realize no one is looking at it.” – Source
Implementing a Handful of Metrics in Google Analytics
Google Analytics collects a lot of data, most of which you might never use. Figure out what key actions you need and add goals for them (you might need events too). You can then add these key metrics to a dashboard in Google Analytics which only shows the metrics that you care about. It looks like this:
I’ll go into more detail on how to create these GA dashboard and how to use existing templates in a tactic below.
Implementing a Handful of Metrics in Mixpanel
For Mixpanel, you need to figure out which events you actually need to track. You can do this by translating your key metrics into events. For example, let’s say that you want to look at signups. This can be tracked by using one event “Sign Up”.
However, some of your metrics may be more complex like user retention. For this metric, you might need 3 events which cover the different actions that users must take in your product before they are considered “retained”.
The next tactic goes deeper into events and properties, two core concepts that will help you properly setup tools like Mixpanel.
Events in analytics are used to track user actions. Typical actions include things like signing up for your product, downloading a PDF or interacting with your product. Most events are sent through Javascript libraries but you can also send them through other languages like Ruby, PHP, etc.
Tools like Mixpanel function exclusively on events while tools like Google Analytics use a combination of events and page views.
Using Events in Google Analytics
GA has a great guide on how to send events through Javascript and I will give you a quick breakdown. This is how the Javascript code looks like to send events:
ga(‘send’, ‘event’, [eventCategory], [eventAction], [eventLabel], [eventValue], [fieldsObject]);
You give your event a name and then you have a few optional values (i.e. properties) like eventCategory, eventAction and eventLabel. An event for tracking signups might look like this:
ga(‘send’, Sign Up]);
You then fire this event when a user successfully submits a form. No need to track any optional values in this event.
Using Events in Mixpanel
Mixpanel is very similar to Google Analytics and their full Javascript documentation is a great place to start.
You can send an event by using this code:
mixpanel.track(‘Registered’, {‘Gender’: ‘Male’, ‘Age’: 21});
We can see that the event is called “Registered” and we are also sending two properties: Gender and Age. Properties are really powerful concept in Mixpanel because that’s where you can store all the details about that event.
Mixpanel even has ways to track clicks on links and form submissions, two common actions that your users will take. To organize all your events and properties, you also need a tracking plan which is our next tactic.
Analytics tracking plans are excel documents where you can document all of your events and properties. It’s a simple document that will save you a lot of time and frustration.
Practico SaaS Tracking Plan Template
Download a Free Copy of This Exact Tracking Plan
The most common issues that I see when companies implement analytics tools are:
All of these issues can be fixed with a tracking plan. If you start by implementing your product analytics events directly into your code, you will end up with duplicated efforts.
Related:You can download the same tracking plan that I use with my own clients. There’s two formats: Google Sheets (my preference) and Excel.
Planning this out in Excel will make it easier to condense similar events and to reuse the same property names across different events.
Tracking plans also function as an onboarding tool for new team members. They can use the tracking plan to reference what events should exist instead of having to go through your web analytics tool looking at each event one by one.
Tracking Plans and Google Analytics
The events in GA contain the following options:
You can store your GA events alongside your Mixpanel events while keeping this structure.
Tracking Plans and Mixpanel
Tracking plans are a must for tools like Mixpanel. You can track these options:
The properties for Mixpanel are defined by you so keeping track of what properties you have used in previous events is crucial. You also need to track any special people properties and super properties which are properties that get applied to all events.
This tactic is small but will make your life so much easier. Tools like Mixpanel let you choose what to name your event and properties. There’s two things to remember here:
Naming Schemes in Google Analytics:
Apart from the tips above, reuse certain event properties in GA. For example, “Event Category” is a property that is meant to be reused across different events. Remember that these values are case sensitive so “Homepage” and “homepage” are two different things to GA.
Naming Schemes in Mixpanel:
Naming schemes are crucial for Mixpanel. If you aren’t sure if your naming scheme is easy to read, open the “Live View” in Mixpanel and expand on one of your events.
Anyone should be able to understand all of these properties at a glance without having to guess what they mean.
Don’t use the wrong tools. Obvious when you think about it but I see companies do this all the time. For example, they might they try to use Mixpanel for analyzing marketing spending (Mixpanel is not meant for that). It works but not very well.
Figuring out what each tool is good for is tricky but you can look at a couple of things:
If you still can’t figure it out, email them! The will tell you what they are really good for. If a tool tells you that they can do everything, I would be worried.
What is Google Analytics Good For?
GA is great for analyzing marketing spending. Think:
It comes down to the difference between pageviews and events, which I covered in a previous post.
What is Mixpanel Good For?
Mixpanel is great at analyzing what happens after a user signs up:
Related: If you’re in charge of marketing or product at your company, be sure to check out the 6 Reports That You Should Be Running to increase the growth of your product and company.
With so many options for analytics tools, you may be wondering how to easily test them all. The answer is to use a wrapper like Segment, which sits on top of your analytics tools. You would then send your events to Segment (using their libraries)and they will translate them into tool specific events like Mixpanel.
This means that you can easily swap out your Mixpanel implementation for Kissmetrics without having to rewrite your event code. You can also just send your event data to a warehouse like your own Postgres database.
Segment also functions as a tag manager just like Google Tag Manager (GTM). Tag managers make it easier to deploy event code and other marketing pixels without having to commit new code. You simply add the tracking code for the tag manager to your product and then use the GTM interface to add new snippets of code.
You could even use GTM and Segment together, making it easier for frontend developers and marketers to add new events.
Tag Managers and Google Analytics
Google Tag Manager is designed to work well with Google Analytics, especially when it comes to sending events. You can easily create a new tag that uses Google Analytics as the product and then choose to send an “Event”. You are then presented with the typical options for GA events.
This is by far, the easiest way to deploy GA Javascript events into your app.
Tag Managers and Mixpanel
GTM can still be used with Mixpanel. You just simply use the “Custom HTML Tag”and add your Mixpanel specific code as seen below:
Most tools let you send analytics events through a few different libraries: Javascript, Ruby, PHP, etc. but Javascript libraries are the preferred option because they can capture more information by default.
For example, the Mixpanel Javascript library captures all of these properties by default:
I have seen a few companies decide to use backend libraries to send all of their events and then they are confused when their events don’t contain basic properties like browser type or location. In the beginning, Javascript libraries will help you collect more information.
Some events will have to be sent from backend libraries. Think events like: payments, upgrades, etc. There’s also a new rise in companies using Javascript libraries but adding them through frameworks like Angular or Ember. This tends to be a good approach for a lot of startups.
Javascript Libraries for Google Analytics & Mixpanel
Javascript is the default way to send events to these two tools and you can view the documentation for GA and the documentation for Mixpanel to learn more.
You can learn more about the different libraries for Mixpanel here.
Related: If you’re in charge of marketing or product at your company, be sure to check out the 6 Reports That You Should Be Running to increase the growth of your product and company.
Another common mistakes that I see companies do is that they have no goals or baselines that they are working towards. If you’re trying to improve you signup conversion rate, what is your goal? How do you know when this metric is “good enough”?
You may think that you will simply continue to improve this conversion rate forever but you don’t have that much time. You need to prioritize where to spend your energy and you should be spending your energy where your efforts can have some serious impact.
You can keep track of these baselines and goals using Excel just like in the example below:
The final tactic is to use automated reports and dashboards for your key metrics. You should be able to check your progress on your metrics within a few clicks and so should the rest of your team.
You can then just bookmark these reports and check them on a regular basis. While there’s a dedicated dashboard tools like Cyfe and Klipfolio, you can also do this within GA and Mixpanel.
Dashboards in Google Analytics
GA lets you create dashboards by clicking the “Dashboards” menu option on the left hand side and then clicking “New Dashboard”.
You can manually create your dashboard or choose to “Import from Gallery” which will let you pick pre-existing templates. The second option is my recommendation since you can find nearly all metrics already put together into dashboards.
Dashboards in Mixpanel
In Mixpanel, you want to take advantage of “Bookmarks”. Once you have your report (query) ready, you can click the plus icon in the top right next to the words “Bookmarks” to create a new saved report.
You can then easily load this bookmark to see this exact report. You can also save this report as a browser bookmark and come back to it whenever you need to.
Product analytics isn’t a magic bullet. It won’t give you all of the answers that you’re looking but it will it get you closer to your goal. Small insights can compound over time, giving you some serious growth.