We are often asked if the same API Key should be used for the iOS and Android versions of the same app or if web and mobile data should be tied together. The quick answer is that it highly depends on the kind of apps you have and the kind of analyses you want to do.
For some cases each platform behavior is independent or different, so your top priority is to analyze how each platform (Android, iOS, and web) performs on its own. In other cases, understanding a user's behavior irrespective of the platform is the top priority -- you know your users can come from any platform, and you primarily care about a user's actions and not so much about the platform from which they did the action.
To help you decide whether you should combine data from various platforms into a single Amplitude project or separate them, let us dive deeper into the pros and cons of each option.
Table of Contents
- When You Should Do a Cross Platform Instrumentation
- When You Should Do Separate Platform Instrumentation
- Always Separate Production From Test Data
- Sending Data to Amplitude
When You Should Do a Cross Platform Instrumentation
- You expect frequent user crossover between platforms (we recommend including an event property called “Platform” with each event so that you can segment by them in your analysis).
- You want to analyze user behavior across platforms (requires a User ID system) as a key focus for your company.
- You have had experience using the same API key in another analytics product.
- You have read and understood the advantages of using the same API keys (found below).
- Totals: You can see totals across all platforms in one view.
- Cross platform analysis: You can create funnels/retention charts that analyze user behavior across platforms.
When You Should Do Separate Platform Instrumentation
- Your app acts as a standalone on each platform and user crossover analysis is not important.
- Your focus as a company is to understand how users are engaging within each platform.
- Platform differences: Even if your app has the same primary functions on iOS and Android, there are slight differences when it comes to how certain actions are tracked (e.g. asking for permissions) that you will want to separate. Slight differences in the apps themselves (e.g. showing different landing/tutorial screens) will be best managed if separated as well.
- Different update cycles: Instrumentation changes happen all the time and it is rare that app updates are released on the same day, meaning data and possibly new events from a new version on a certain platform could be mixed in with data and old events on the old version, polluting the dashboard and taking focus away from the important metrics.
- Difficulty of finding errors: Having events from multiple platforms on the same dashboard makes it more difficult to spot errors and bugs in instrumentation and make the necessary fixes.
- Web and mobile are VERY different: The experiences on web and mobile differ vastly and the kinds of events you will want to track will be very different.
Always Separate Production from Test Data
On top of that, we recommend creating two API keys for each production project you have. One API Key should be used for testing/integration and the other should be used for production data. Keeping testing and production data separate will ensure that the numbers you are looking at accurately reflect how people are using your product. The entirety of this integration process should be done on the test project first before pushing to production.
Sending Data to Amplitude
Find specific information on how to send data to Amplitude here:
- Amplitude SDKs: Find our list of SDKs here.
- Amplitude HTTP API: Use our HTTP API to send server-side event data.
- Segment.io: See Segment / Amplitude Integration for more information.
- mParticle: See mParticle / Amplitude Integration for more information.