Benefits and Best Practices for Cross-Platform Apps

In Mixpanel you can send data from your website and app to the same project or two separate projects.

It’s best practice to create separate development and production projects to avoid clutter in your production data.

Mixpanel can manage cross-platform scenarios in any configuration you implement. The choice is yours, and each approach comes with its own set of benefits.

This article can help you and your team decide the best way to track data, as well as provide a sampling of the powerful cross-platform analytics you can run if you combine cross-platform apps into a single Mixpanel project.

Benefits of Consolidating Multiple Platforms into One Project

Let’s examine 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 options on 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 configuration could be helpful.

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

Combining the various platforms into one Mixpanel project creates two separate projects instead of six.  The team is now able to analyze user journeys as they play games across multiple platforms.

If your users engage with an app on multiple platforms, you should consider combining the platforms into a single Mixpanel project.

The next step in consolidation is to combine multiple apps into a single Mixpanel project.

Similar to the cross-platform analyses that combines each app’s three versions into a single project, 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.

Now DataPoint Games can easily pull reports to see how many users enjoy one game enough to 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.

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 in a single app and across multiple apps, you might consider consolidating all apps & platforms into a unified Master project.

Here are a few customer use cases Mixpanel has 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 about your mobile app launch, and then determine how many install the new version as compared to a control group.
  • Find high-value users in one app and invite them to beta-test your new product.

Best Practices for Combining Platforms

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


Mixpanel automatically distinguishes 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 as you organize your project in a way that’s easy to build reports and scale effectively over time:

  1. Set up a super property at app launch to indicate which app is sending events. Super properties are an easy way to tag a user’s entire set of events with a given property. 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 and filtering in the UI later on.

Here’s an example of how to register a super property(for more information, see Web/iOS /Android): 


<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 can now compare retention, funnels, or event occurrences across all your apps, and dig deep into a single app’s statistics as well.

  1. Set up people properties to target notifications, surveys, and A/B tests.

Cross-platform implementations provide benefits for people analytics as well. Consider tracking date properties and incremented counts that measure 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});

You can now group your users based on apps engagement. Ultimately, combining your multi-platform apps into unified projects can be a powerful method to increase 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 your desired setup.

Is this article helpful?
3 out of 5 found this helpful



Please sign in to leave a comment.