Community Tip: 3 Revenue Best Practices | Mixpanel
Blog Post

Community Tip: Revenue Best Practices

Revenue is a crucial metric for any company. Here are three best practices for leveraging the power of Mixpanel to learn more about the health of your business.

Track a Purchase event with revenue included as a property

Segmentation is Mixpanel’s bread and butter — it’s where you go when you need to learn how specific cohorts of users are engaging with your product. If you track a Purchase event along with a numeric revenue property (i.e. the price or subtotal).

For example:

mixpanel.track("Purchase item", {Price: 27.00, "Item Category": "Books"});

Sum and average numeric properties in Segmentation

Then you can use Segmentation to see which customer segments are driving your business.

Use people.track_charge to leverage Revenue Analytics

Using a people.track_charge call will let you segment Lifetime Value and Average Revenue per Paying User by all the other people properties you’re tracking in Mixpanel People. This will let you analyze how different groups of customers are performing over time. If you set “first transaction date” as a people property, you can break this out by the time that your users turned into paying customers. Rolling up revenue into People properties such as marketing or advertising source will let you calculate the ROI on your acquisition spend in under a minute.

Set an incremental people property against your People profiles

Along with your track_charge call, it’s also a best practice to send in your own revenue property through:

mixpanel.people.increment("Lifetime Revenue", 27);

Having this property will let you filter for high-value users so that you can re-engage with them through Notifications. You can send emails, pushes or In-Apps, A/B test the copy, and track your conversion rates through the analytics tab. You could even send a mobile survey to find out why they love your product.

Taken altogether, your code might look something like this( using JavaScript syntax, but you can do the same from iOS, Android, or your server):

// For transaction-centric analytics
mixpanel.track("Purchase item", {Price: 27.00, "Item Category": "Books"});
// For person-centric Revenue Analytics
// To send notifications to your users based on revenue
mixpanel.people.increment("Lifetime Value", 27);
mixpanel.people.set("Last Item Purchase", new Date.toISOString());

Including more properties with your events and People profiles in Mixpanel has no effect on your final bill, so there is absolutely no down-side to sending this data to all sides of the tool. For anyone interested in learning more about our best practices, feel free to reach out to

Get the latest from Mixpanel
This field is required.