A beginner’s guide to Mixpanel for startup founders

As if analytics wasn’t overwhelming enough, the tools required to understand business and product performance are typically incredibly powerful, technical and highly unintuitive.

This post aims to take some of the mystery out of one of those tools – Mixpanel.

Mixpanel is an events-driven analytics platform with two core concepts – ‘user engagement’ and ‘people’. Essentially, Mixpanel allows you to see which users are doing what, when and where. Pretty powerful stuff, as long as you know what you’re doing…

While this post is about Mixpanel, a lot of what’s in here will be applicable across analytics platforms.

In this post, we’re going to look at some of the basics of Mixpanel, including:

  • Why choose Mixpanel?
  • The language of Mixpanel (and analytics tools in general)
  • Things to consider when setting up Mixpanel
  • Creating reports that actually mean something
  • A brief overview of Mixpanel’s engagement tools

Why Mixpanel?

Mixpanel tracks user actions – what do people do in your mobile or web app? Whereas Google Analytics focuses mainly on pageview tracking, Mixpanel focuses specifically on engagement.

Outside of Google Analytics, which is free, analytics tools aren’t cheap, so before you even consider implementing Mixpanel (or any analytics tool), it’s essential that you understand what you want to track and in what format you want the resulting data.

Whether or not you need a tool like Mixpanel depends entirely on your business goals and KPIs. If you don’t know what those are, check out our blog post A model to identify startup KPIs.

The language of Mixpanel (and analytics tools in general)

First, let’s get some clarity around the language Mixpanel uses. This is the same across a range of tools, and applicable to analytics-chat in general.

Event: Mixpanel defines an event as “an action someone takes in your application or on your website”.

Property: A property is any additional information surrounding an event (e.g. browser, location, referrer etc). Mixpanel (and loads of other tools) will track certain properties by default, and allow you to create custom properties (i.e. you write code telling Mixpanel what information you want and where to find it).

Super property: Super properties are properties that you set once and are inherited by every subsequent event. Super properties are useful when you want to track a property across all your events in the MixPanel dashboard.

People property: Event properties and super properties relate to events while people properties describe your users’ current states. The difference between super and people properties only really becomes apparent when creating reports, but Mixpanel recommends that “in general, Property values that may change over time and whose change is valuable data may be best tracked as both a People Property and a Super Property.”

Incremental super properties: Incremental super properties tell you how many times a user has done something specific. They are not included in libraries and require some extra coding. They are especially useful with engagement metrics, e.g. where you define an engaged user as one who does a certain event 3 or more times a month.

Profile: In Mixpanel, each individual user of your app or website gets their own profile. In here you can see properties attached to that user and a timeline of events so you can see everything a user has ever done in your app.

Things to consider when setting up Mixpanel

As with all analytics tools, it’s absolutely imperative to understand what you want to track before you start trying to track stuff. This sounds obvious enough but it’s so common for developers to try to implement these tools because they know they should, without thinking about the importance of the resulting data and how it will be used. In fact, don’t even talk to a developer until you’ve thought about the following…

Funnels

Before setting up any analytics tools, you need to understand which funnels you want to track. It’s helpful to break down your funnels based on specific incremental goals. For example, you might have a signup funnel, a login funnel, a purchase funnel etc.

Each funnel will include:

Events

Let’s use an example of what a signup funnel might look like…

A user:

Views the homepage > views the pricing page > selects a pricing plan > fills out the registration form > views the confirmation page

In this case, the events you want to track might be:

  1. Pageviews of homepage
  2. Pageviews of pricing page
  3. Clicks on buttons choosing specific pricing plans
  4. Form submission
  5. Pageviews of confirmation page

Properties

Next we need to consider which additional information, or properties we want to attach to the events. For example, if we’re tracking pageviews, we probably want to know which page a user has viewed, if we’re tracking button clicks, we probably want to know which button has been clicked.

So, using the above funnel:

  1. Event = pageview, property = page name
  2. Event = pageview, property = page name
  3. Event = clicked button, property = plan name (e.g. basic, pro), plan cost (e.g 9.99, 19.99)
  4. Event = submitted form, no additional properties needed
  5. Event = pageview, property = page name

Creating reports that actually mean something

Have we mentioned that the single most important thing when creating reports that actually mean something is to decide what you want to know before you start trying to track or report on it? This can’t be said enough times. Remember, your tools should never dictate your metrics.

We usually recommend startups use the Pirate Metrics model to choose the 5 most important KPIs, and track these alongside customer acquisition cost (CAC) and customer lifetime value (LTV).

If you can assign an event and properties to each step in Pirate Metrics, then you should be able to use Mixpanel to create a fairy comprehensive analytics dashboard.

Mixpanel have a really good blog post on tracking Pirate Metrics with the tool which you can read here.

A note on A/B testing: A/B testing tools like Optimizely will give unique IDs to your landing page variations. If you set up super properties for landing page IDs, you will be able to segment your data based on landing page variations. This means you can look at each funnel step and see which landing page variations lead to more conversions.

Engagement

Mixpanel allows you to send notifications (email, SMS or push) based on events and properties, e.g. email people who haven’t made a purchase in 6 weeks, text someone about an event coming up near them etc. Notifications require people profiles to be set up.

However, bear in mind that a notification will only trigger once for a user. So even if the user meets the same criteria again, it won’t fire the notification a second time.

For example, if you set up a notification to re-engage a user who hasn’t done an action for the past week, this will trigger the first time they meet this criteria but if they come back to the app and then go absent for another week, it won’t trigger.

For this reason, you don’t want to rely on Mixpanel’s notification system for too long, although it can be really useful until you get your own server side notification system in place.

Summary

Mixpanel is a powerful tool with a lot of functionality, some of which is amazing, some less so.

Mixpanel is just one of many tools that claim to help you make the most of your metrics, but the single most important thing is understanding your own business first.

Only once you know exactly what you want to measure, including the questions you want to answer and example values you want the answers to be in, should you start working with developers to implement the right tools to get the job done.

If you want to collaborate on your project, get in touch with Simpleweb today.

If you're an early stage business or startup, why not talk to us?