Cross-platform analysis allows you to see the full customer journey, including every path across every web and mobile platform, providing you with valuable insight into behavioral behavior. This guide covers best practices and caveats for using Heap to conduct cross-platform analysis.
Best practices for implementation
Install Heap for all platforms
To make the most of cross-platform analysis, you’ll need to make sure you’ve install Heap on all of your platforms. See our developer guides for steps to QA your installation to make sure data is flowing in correctly from all of these platforms.
Identify users across all platforms
To conduct cross-platform analysis, you must identify your users across all platforms. This enables you to see the full user journey as they engage with your product across the web, mobile, and all other platforms you may have Heap installed on.
To capture user info, make sure `heap.identify()` calls are consistent across all platforms. If you don’t identify users on a platform, you will not be able to do cross-platform analysis for that platform.
See our identify API docs for information on how to do this in every language we support, including mobile languages.
Set up `heap.track()` API calls
Once Heap is installed, you’ll receive a wealth of autocaptured data from all platforms that Heap is installed. You can see a list of autocaptured data in our Autocaptured Data guide.
If you’re missing a key piece of data across any platform, you can set up uniform `heap.track()` calls across all platforms you have Heap installed in. More info on this API, along with additional APIs we recommend for cross-trackng, is available in our guide on manually tracking events.
Add accessibility labels (Android & iOS only)
For mobile implementations, we always recommend adding accessibility labels to all components. If you don’t have target text capture enabled, this is especially useful for analysis as a way to define unique properties to differentiate between otherwise identical elements on the same view.
For info on adding accessibility identifiers in iOS, see Apple’s documentation on accessibilityIdentifier.
For info on content labels in Android, see Google’s documentation on Content labels.
Configure prop capture (React Native only)
If there are properties that you know exist in your app that aren’t captured by default, you can use prop-capture configurations to capture these components. See Configuring Prop Capture in our React Native quickstart guide to learn more.
Capture additional interactions (Android only)
To capture any interactions in Android that aren’t already autocaptured by Heap, see our guide on Improving Android Autocapture.
Best practices for data management
Create combo events
Combo events allow you to combine multiple versions of the same event, such as separate iOS, Android, and web login events, into one event to measure this action holistically across platforms. These events may have different names across different platforms depending on how those components are named in those platforms.
You’ll need to create combo events to set up the analysis examples further down in this guide. To get started with combo events, see How to combine events using a combo event.
Apply filters and group bys
When conducting any type of analysis, we recommend applying a filter or group by to get a sense of user behavior across different platforms. As long as you have Heap installed on those platforms, you’ll see data for them using this event.
The property that you choose to filter or group by varies based on what you want to learn about your user journey, as follows:
- Source is the Heap library that was used to collect that data when the user did the event. Results include iOS, android, react_native, web (for client-side web events), and server (for server-side web events).
- Platform is the name and version number of the operating system the user was on when they did the event. Results include iOS, Android, Windows, Mac, Chrome, and a few others, with version numbers (ex. Mac OS X 14.0, Android 12, Windows 10, etc.)
Note that your analysis results will differ for events done on a web browser running on a mobile device. For example, for an event done in the Chrome browser on an iPad, Source will show Web, whereas for the same event, Platform will show iOS. Source will only show iOS if the event was done in a native iOS app.
In general, we recommend grouping by Source to know whether the event was captured on a web or mobile device. If you wish to drill down into different versions, you can use the Platform property.
You can also try grouping by both properties to check out what they’ll show you, as seen below.
Analysis examples
Now that you’ve set up your combo events and understand the nuances of filters and group bys, you’re ready to dive into cross-platform analysis. Here are a few examples and templates to get you started.
Checkout funnel
To set up a simple cross-platform checkout funnel, first, you’ll need to create a combo event set up for your complete checkout action that includes different versions of this event across all of your platforms. Note that if this event is coming from Shopify or another eCommerce integration, you’ll want to include that Shopify/integration event in this combo event.
Once your combo event is set up, complete the following steps:
- Navigate to Analyze > Funnel
- For step 1, select Heap’s default Pageview event (this event is set up to automatically include pageviews across all platforms)
- For step 2, select your combo event (in our example, this is Submit – Checkout (all platforms))
- Apply a group by for the Source property
- Click View results to create this chart
Directly below your funnel chart, you’ll see a group analysis tab which shows a breakdown of this funnel by source, which will look something like this.
To learn more about how funnels can provide valuable insight into conversion behavior, see Funnel analysis overview.
Logins by platform
To set up a simple chart measuring login across platforms, first, you’ll need to create a combo event set up for your login action across all platforms.
We recommend double-checking your login/logout flow across all platforms to better understand your analysis results. Depending on your app UX, mobile users may appear to stay “signed in” for longer, or have fewer “sign in” events. Also, some apps are set up to more frequently sign you out on certain platforms for security reasons.
With that said, here are steps to set up a simple chart to see login by platform:
- Navigate to Analyze > Usage over time
- Make sure Total events is selected at the top
- In the event drop-down, select your combo event (in our example, this is Submit – Login (all platforms))
- Apply a group by for the Source property
- Click View results to create this chart
Depending on what date range and chart type you selected, your chart will look something like this.
To learn more about how to leverage usage over time charts for all kinds of analysis, see Usage over time analysis overview.
Cross-platform journeys
Journeys allows you to see the full customer journey, including all unique paths taken throughout your product. You can customize your journey analysis in a variety of ways to compare journeys into and out of cross-platform events. Here are a couple of examples to get you started.
Compare the same path on different platforms
This journey allows you to compares the same path across two different platforms, such as comparing your checkout flow in mobile vs. web.
- Navigate to Analyze > Journeys
- In the “What percentage of users who” drop-down, select completed
- Click the Add a branch button to the side of the current set of steps (the icon of a forked path) to set up a second fork
- For the last step of your first fork, select a combo event that corresponds to the end of this journey for both platforms (in our example, this is Submit – Checkout (all platforms))
- Click Extend path to add a step to this path
- For the first step of your first fork, select an event that corresponds to the start of the path for one platform only (in our example, this is View – Any page (web))
- For the last step of your second fork, select the same combo event that corresponds to the end of this journey as you did for the first fork (in our example, this is Submit – Checkout (all platforms))
- Click Extend path to add a step to this path
- For the first step of your second fork, select an event that corresponds to the start of the path for your other platform (in our example, this is View – Any screen (mobile))
Your complete setup will look something like this:
Last but not least, click View results to see a comparison of both journeys on different platforms.
Your results will vary depending on the platforms you are comparing, so try customizing this analysis to get different insights, such as comparing iOS to Android.
See cross-platform paths that end with the same step
This journey allows you to see often users take certain steps cross-platform before completing the last step of this journey, such as if users switch to mobile or web while completing their profile.
- Navigate to Analysis > Journeys
- In the “What percentage of users who” drop-down, select completed
- Click the + Add step button to set up your first fork
- In your first fork, select an event that corresponds to the start of the path for one platform only (in our example, this is View – Any page (web))
- Click the Add a branch button to the side of this step (the icon of a forked path) to set up a second fork
- In your second fork, select an event that corresponds to the start of the path for your other platform (in our example, this is View – Any screen (mobile))
- For the empty event drop-down below these two steps, select a combo event that corresponds to the end of this journey for both platforms (in our example, this is Submit – Complete Profile)
- You may choose to add additional steps to this path based on your journey flow by clicking the Extend path button – in this example, we’ll add steps for key milestones in completing your profile, including setting an email, password, and profile photo
Your complete setup will look something like this:
Last but not least, click View results to see paths through these journeys leading up to the last step.
Your results will vary depending on the platforms you are comparing, so try customizing this analysis to get different insights, such as adding steps or setting up different branches and forks.
Journeys is an incredibly robust chart type that you can use to dig into near-infinite variations of cross-platform paths. To learn more about how to leverage journeys for insight into all kinds of unique paths users might take through your product, see Journeys overview.
Templates for cross-platform analysis
To quickly get started with charts that will allow you to see customer engagement across web and mobile, we recommend using our Audience Overview (Web + App) dashboard template. For charts to compare Android and iOS behavior, see our Mobile App Overview template.