Community Tip: Cross-platform Apps - Mixpanel
Blog Post

Community Tip: Cross-platform Apps

Last edited: Mar 1, 2022

In this Community Tip, we highlight the benefits and best practices for accommodating all of your varied products, environments, and platforms under a single Mixpanel project. Using this guide, your team can decide how to best track your cross-platform app data within Mixpanel.

If you’re one of the many users working with cross-platform apps, you may have wondered whether it’s best to combine everything into one Mixpanel project or split everything up and analyze it separately. We’ve found that creating separate Development and Production projects to avoid cluttering your Production data is a great best practice, but the question of what to do with cross-platform Production apps is a matter of preference.

The good news: Mixpanel is flexible enough to handle cross-platform scenarios in any configuration you’d like to implement. The choice is yours, and each approach comes with its own set of benefits.

This Community Tip is here to help you and your team decide on the best way to track data moving forward, as well as to provide a sampling of the powerful cross-platform analytics you can run if you do combine cross-platform apps into a single Mixpanel project.

Why consolidate multiple platforms into one project?

To think through these scenarios, let’s take a look at a hypothetical company, DataPoint Games. DataPoint Games has two games: Andy’s Odyssey & Bingo Kings. Each game has three versions: Web, iOS, and Android. There are a few different options here for how to structure this cross-platform data within Mixpanel.

If the team at DataPoint Games wants to keep everything separate, the simplest way would be to have six distinct projects: one for Web, iOS, and Android for each of the two apps. If DataPoint Games has dedicated, mutually exclusive teams for each version of each app, then this may be what they want! Data for the six different versions will be kept totally distinct, with one project each.

The downside of this setup, however, is that it’s more difficult to analyze user journeys that span more than one platform. If a cohort of users starts out playing Bingo Kings on iOS, but later starts playing the Web version as well, the team will not recognize this as the same user. Furthermore, without a raw data export and some custom analysis, DataPoint Games will not be able to see how an app’s various platforms are doing compared to one another.

By combining the various platforms into one Mixpanel project, we’re down to two separate projects instead of six, and the team is now able to analyze user journeys as they play games across multiple platforms. The conclusion? If your users might engage with an app on multiple platforms, you should consider combining the platforms into a single Mixpanel project.

The “next step” in consolidation here would be to combine multiple apps into a single Mixpanel project. Much like the cross-platform analyses that the team would enjoy by combining each app’s three versions into a single project, working with a single “Master” project for both apps would allow the team to track users as they installed and played through the company’s entire catalog of games.

This way, DataPoint Games can easily pull reports discerning how many users end up enjoying one game so much that they install the other. DataPoint Games can also determine how many unique users are playing each individual game as well as those who have played either game. Perhaps the games are advertising one another, and DataPoint wants to see how many users are following through and installing one game based on an ad in the other.

There is one caveat if you’re combining apps and also using People analytics to send push notifications: there can only be one Push Certificate, per platform, per project. As a result, you’ll only be able to send push notifications “to” one app. Switching certificates is not advised as push tokens from the other apps will be invalidated and removed whenever a user is targeted for a push. Keeping this caveat in mind, If your team wants to see user journeys both within a single app and across multiple apps, you might consider consolidating all apps & platforms into a unified Master project.

Here are a few excellent customer use cases we’ve seen for cross-platform projects:

  • Compare retention, signup flows, and virality for your entire suite of apps, so your product team knows what to replicate or alter in future releases
  • Track users who sign up on the web, send some of them an experimental message announcing your mobile app launch, and then determine how many install the new version as compared with a control group
  • Find high-value users in one app and invite them to beta-test your new product

Best practices if you do combine platforms

Combining a single app across platforms is relatively straightforward. Mixpanel automatically assigns an “Operating System” super property (along with a slew of other useful properties) to all events sent from web, iOS, or Android projects, so you’re equipped right away to look at overall stats or filter down to just one or more of your platforms for a deeper dive.

Mixpanel will automatically distinguish platforms, so it’s easy to adjust your level of detail on-the-fly.

Sending data from multiple apps into a single project is simple, but there are a few best practices to keep in mind to make sure you’re organizing your project in a way that will make it easy to build reports and scale effectively over time:

1. Set up a Super Property at app launch indicating which app is sending events

Super Properties are an easy way to tag a user’s entire set of events with a given property. Placing a single line of code at the start of a user’s interaction with an app ensures that all subsequent events are labeled for easy segmenting & filtering in the UI later on. Simply register a super property (see documentation for Web / iOS / Android) like this:

mixpanel.register({"Game ID": "Andy's Odyssey"});
[mixpanel registerSuperProperties:@{@"Game ID": @"Andy's Odyssey"}];
//Java (Android)
JSONObject props = new JSONObject();
props.put("Game ID", "Andy's Odyssey");

You’ll have the ability to compare retention, funnels, or event occurrences across all your apps, and dig deep into a single app’s statistics as well.

2. Set up People Properties to target Notifications, Surveys, & A/B tests

Cross-platform implementations provide benefits for People Analytics as well. Consider tracking date properties & incremented counts measuring engagement with each app and across apps. Here’s an example in Javascript:

//Upon playing a round of Bingo Kings
//where "currentTime" is the current UTC time in YYYY-MM-DDTHH:MM:SS format
mixpanel.people.set({"Last Match: Bingo Kings": currentTime});
mixpanel.people.increment({"Play Count: Bingo Kings": 1});
//Also track the overall engagement counts for all apps
mixpanel.people.set({"Last Match": currentTime});
mixpanel.people.increment({"Play Count": 1});

This way, you can group your users based on which apps they’ve engaged with, and how engaged they are.

Ultimately, combining your multi-platform apps into unified projects can be a powerful method for increasing the flexibility of your analytics. Whether you want a strategic overview of every business segment, or to drill deep into a specific group of events or users, Mixpanel is flexible to implement with your desired setup.

Need help finding the best structure for your team? Reach out to to speak to someone smart, quickly.

Get the latest from Mixpanel
This field is required.