Getting Serious About Measuring Virality

Aggregate data is great for tracking key metrics and understanding trends, but it doesn’t tell the full story of how consumers use a product. Your customers are unique, why shouldn’t your data be too? That’s where anecdotal insights come in. When a business zeros in on the story of how a single person uses their product they can unlock valuable insights that are otherwise lost in a flood of data.

Mixpanel’s new Activity Feed does just that by combining your existing data–actions–with your specific customers in our People product. With no extra work and on a moment’s notice, you can see the full story of how an individual customer has used your app from their first visit to latest activity. Activity Feed brings together event-based data and consumer behavior, displaying a timeline of each action–as you’ve already defined them in Mixpanel–that an individual customer takes every time they use and engage with your product. Sudden insight this powerful can inform and unveil surprising discoveries about your users’ habits, as well as serve as a powerful customer service tool.

But don’t just take our word for it. Dollar Shave Club, a rapidly growing ecommerce start-up that delivers razors to its members for as little as $1 per month and a new Mixpanel customer, values the ability to see both their aggregate data and understand how their individual members move through their site.

Todd Lehr, VP of Engineering, said: “We looked at several options before we chose Mixpanel. They created a simple, easy funnel analysis for user behavior on our site, have a powerful dashboard and were easy to implement. Activity Feed lets us see what our members are doing on our site which helps us make decisions on how to optimize their experience.”

Dollar Shave Club is just getting started with Mixpanel, but has already used Activity Feed to uncover interesting insights into what their members are doing when they visit their account page. They are also starting to use Activity Feed to understand how their members use new features.

The powerful combination of aggregate data and anecdotal insights opens up new opportunities for businesses to improve their products and customer interactions. We are doing the work so you can combine the action and customer data you have in Mixpanel, fulfilling one of the biggest requests we hear from our customers.

We all know virality is an important part of growth for many businesses, but there’s been plenty of confusion as to how to best measure it. Here at Mixpanel we believe that measuring virality still comes down to answering one simple but very important question: how many of your users send invites, and what percentage of those invites become new users.

Anatomy of a Viral Funnel

A viral funnel is at its core no different than any other funnel in Mixpanel. Each step in the funnel must be tracked as an event, and the properties of those events allow us to gain insights about the users traversing the funnel. However, viral events tend to be slightly more exotic. Take, for example, the following funnel (each line is an event):

  1. Invite Prompt Rendered
  2. Invite Form Submitted
  3. Invite Sent
  4. Registration form loaded (by invitee)
  5. Registration completed (by invitee)

This funnel has events done by more than one user, but traditional conversion funnels follow a single user as they complete a process… which begs the question: which user are we following through the funnel? If an analyst chooses only one user to focus on, they’ll lose important visibility into the viral process. Instead analysts should follow both customers–the existing user who send the invite and the new user who accepts in the invite–in parallel through the funnel. This allows us to get the full picture.

Parallel Event Tracking in Viral Funnels

Every event that is sent to Mixpanel must be attributed to a user. This is done using a property called “distinct_id” which is sent with every event. By default in the Javascript, iOS, or Andorid libraries, the distinct_id of a given user is stored as a super property and, like all super properties, appended onto every event sent by that user. However, if you want to send a one-off event on behalf of another user, you’ll need to send that event with the property “distinct_id” set to another user’s distinct_id. This can be done client or server side. In JavaScript it would look like this:

mixpanel.track(“event”, {“distinct_id”: “Other ID”});

We call this “parallel event tracking.” The diagram below illustrates the process (here user A is inviting user B).

So as a user moves through the process of inviting, accepting an invite, or registering as a result of an invite, they send out two events: one on their own behalf and one on the behalf of the other relevant party. To do this you just need to have both distinct_ids available. We recommend registering them as super properties, so you can view them in reporting if you desire and grab them client side you want to use them to dispatch another user’s events.

But how do we ensure we can register that property in the first place? One way to track which hits on your registration page are coming from invitations is to include a parameter in the URL that you place in the email. We recommend you include the distinct_id of the inviter in that URL as well. This allows you to use javascript to check for both params, register them as super properties, and then use the appropriate user’s distinct_id to send your parallel events.

But what about K-factor?

K-factor is a formula that describes the growth rate of an app/site. Companies use it to understand the number of new registrations that are created from viral channels and quantify the associated growth in their user base. Parallel event tracking lets you use Mixpanel funnels to get the same insight. It even takes it one step farther because you can richly filter and break out our funnels based on what’s important to your business, but the conversion rates on these funnels should not be confused with your K-factor.

Here’s why: K factor is the total number of registrations per unique inviting user. All the building blocks of K factor are expressed in Mixpanel’s funnels, but the activity is split between the two points of view (inviter vs. invitee). So you can see the total new users in the invitee- side funnel. And you can see the conversion rate for a given subset of inviters in the inviter-side funnel.

We believe that structuring the data like this is more useful for optimization efforts, gives a more complete picture of your virality, and is more actionable in general.

Get the latest from Mixpanel
This field is required.