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 Or Google Tag Manager

Use Javascript Libraries to Easily Send Events

Develop Goals & Baselines

Use Reports and Dashboards For Key Metrics

Why Should My Company Care About Product Analytics?

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?

Product Analytics Sounds Cool But My Company Can’t Do All This Fancy Stuff.

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:

  1. Become familiar with event driven tools like Heap Analytics, Mixpanel or Amplitude.
  2. Create a tracking plan with 5-10 events to track important actions around your product (I included a free template and video at the end of this article).
  3. Implement those 5-10 events.

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.

Problem Uno: Paying Too Much to Acquire Users i.e. a High CAC

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.

Using Analytics to Solve Problem Uno

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 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:

To something like this:

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.
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.

Problem Dos: Losing (or Churning) Too Many Users i.e. Low User Retention

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.

Using Analytics to Solve Problem Dos

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.

Bonus Round: More Tactics to Level Up Your Product Analytics strategy:

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:

  1. Google Analytics: almost every company uses it in some way or another. GA is great at answering marketing related questions.
  2. Mixpanel: an event based tool that is really good at helping you segment your data, funnel analysis and user retention. Mixpanel is popular among mobile apps and web apps for everything that happens after a user signs up.

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.

Tactic 1: Use a Metrics Framework like AARRR

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.
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.

Tactic 2: Start by Tracking a Handful of Metrics

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:

  1. Easier to implement: If you’re implementing the events yourself, it will be faster to only do a handful to begin with. This means your developers can get back to working on your product quicker.
  2. Easier to debug: Almost all product analytics implementations will have bugs that affect the data. Tracking and fixing issues on a handful of metrics is easier than doing it on 20-30 metrics.
  3. More focus: instead of trying to improve 20 metrics, half of which may not be that important right now, you can focus on improving the metrics that do matter. The goal here is to start improving important parts of our product marketing, not every possible area.

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.

Tactic 3: Use Events to Track User Actions

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.

Tactic 4: Use An Analytics Tracking Plan

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
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:

  1. Duplicated events
  2. Duplicated properties
  3. Firing events at the wrong times

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:

  • Event Name
  • Event Properties:
    • Event Category
    • Event Label
    • Event Value
    • Event Action

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:

  • Event Names
  • Event Properties:
  • People Properties
  • Super Properties

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.

Tactic 5: Use a Consistent Naming Convention

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:

  1. Consistency: use the same naming scheme for all of your events and properties. There’s no right or wrong naming scheme so if you want to use past tense camelCase e.g. “SignedUp”, then that’s fine. Just use the same thing everywhere.
  2. Easy to Read: Your events and properties should be easy to read, especially for non-technical people. I seen events that have some kind of cryptic naming scheme like “xxzzSignUpzz”. I’m sure this naming scheme makes sense to whoever came up with it but it doesn’t to the new marketing team member.

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.

Tactic 6: Use the Right Tool for the Job

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:

  • What are they pitching in their website? What industries are they talking about?
  • What are other companies using it for? What are they known for from their customers?

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.

Tactic 7: Use a Wrapper or Tag Manager like Or Google Tag Manager

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.

How do GA Events Look in GTM?

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:

Tactic 8: Use Javascript Libraries to Easily Send Events

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:

  • City ($city) – The city of the event sender, parsed from IP.
  • Region ($region) – The region (state or province) of the event sender, parsed from IP.
  • Country (mp_country_code) – The country of the event sender, parsed from IP.
  • Browser ($browser) – Browser name (not versioned).
  • Browser Version ($browser_version) – Browser version number.
  • Device ($device) – The name of the event sender’s device, if they’re on mobile web.
  • Current URL ($current_url) – The full URL of the webpage on which the event is triggered.
  • Initial Referrer ($initial_referrer) – Referring URL at first arrival.
  • Initial Referring Domain ($initial_referring_domain) – Referring domain at first arrival.
  • Operating System ($os) – OS of the event sender.
  • Referrer ($referrer) – Referring URL, including your own domain.
  • Referring Domain ($referring_domain) – Referring domain, including your own domain.
  • Screen Height ($screen_height) – The height of the screen of the device.
  • Screen Width ($screen_width) – The width of the screen of the device.
  • Search Engine ($search_engine) – Search engine a customer used when they arrived at your domain.
  • UTM Parameters (utm_source, utm_medium, etc.) – Any utm tags associated with the link a customer clicked to arrive at your domain. Each utm will be collected under its own property.

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.

Tactic 9: Develop Goals & Baselines

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:

Tactic 10: Use Reports and Dashboards For Key Metrics

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.

Mixpanel Dashboards

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.

One more thing before you go!

I send a weekly newsletter called the Growth Needle. It's short, sweet, and full of interesting—and dare I say provocative—ideas. It's the best way to access my latest thinking and share your own thoughts. The next edition will be out on Tuesday, and you can receive it by subscribing below.

Want to see the goods before signing up? No problem! Here are a few of the recent editions: