How to Manage Cross-Platform Subscriptions
Building better cross-platform experiences
Talk to any mobile growth or product management team, and they’ll tell you that subscription lifecycle data is gold. It lets you know how you’re acquiring customers, what your retention and churn economics look like, and how successful you are at upselling new products and offerings. But raw subscription data isn’t valuable on its own — it only becomes valuable when you can analyze and act on it.
For example, your product team might want to iterate using lifecycle data from an A/B test. You might want to give your business team a complete picture of your customer data trending so they can decide where to make their next investments. Or you might want to set up if-then actions based on your data (like running a win-back campaign for when customers cancel their subscriptions).
Ideally, you want your subscription lifecycle data across Android, iOS, and the web to be unified by your subscription management platform and seamlessly flow into your tools, letting your team gain insights and confidently make decisions. However, managing subscription data can be challenging, especially as your business grows. Plus, you need to be able to adapt to changes in the market quickly.
In this article, we’ll explain the most common roadblocks and introduce you to how RevenueCat can serve as a central hub for your subscription data.
What makes it hard to analyze and act on lifecycle data today?
For various reasons, managing subscription lifecycle data tends to create a lot of overhead. Teams spend valuable engineering cycles managing their tooling and don’t have the agility to test new ideas and add new tools.
Here are the five most common challenges businesses face (often all at once):
1. Normalizing the data across multiple platforms
When you have an app that works on Android, iOS, and the web, to understand customer lifecycle events, you’ll need to address the fact that subscription data looks very different across platforms.
You’ll need to handle many bugs, edge cases, and failure scenarios, and the amount of metadata that’s reported and how it’s formatted varies widely. To unify your data, you’ll need to address some tough discrepancies, like the fact that Apple doesn’t provide transaction prices and the Play Store APIs won’t let you retrieve subscription data older than 90 days.
To make things even more complicated, each platform has different definitions for the standard parts of the subscription lifecycle. For example, if you want to figure out how many trial conversions you had last month across Play Store, Stripe, and Apple, you’ll find that each platform will give you different results.
2. Writing data pipelines for each of your tools
Because analyzing and acting on your customer data is so valuable, many tools are competing for your team’s investment. When you don’t find that perfect fit — say you’re working on retention marketing and not seeing success with a certain platform — you need to be able to change tools easily.
The challenge here is the setup time of getting your data streaming into each tool you use. The engineering costs can be significant. If you change tools, you don’t just have to install an SDK — you have to rewrite all of your API calls and JSON formatting to send data the way the new tool expects. It can take months to set up a new analytics tool and get everything running properly. As a result, teams end up feeling stuck between making an expensive change for an unknown upside versus sticking with a tool that isn’t getting the job done.
3. Data can look inconsistent across your tools
Even if you do manage to get your tools showing data from each platform, inconsistencies can crop up, making it hard for your team to trust your tools. The people working on demand generation might see different numbers than your data and product teams.
This is because different tools’ SDKs collect different data, collect it in different ways, and collect it client-side only, not server-side. As we’ll explain in a moment, many of your subscription lifecycle events can happen when the user is not in the app (like if they update their subscription via their browser or email). Missing these events will create discrepancies and lead to confusion across your business.
4. It’s very hard to capture real-time events correctly (but they’re extremely important)
If you want to get the full picture of what’s happening in your app and be able to send push notifications for win-back campaigns when someone cancels, you can’t just do client-side data reporting.
Why? Cancellation won’t necessarily happen when someone is in the app. They might never come back to the app itself. So how do you know they canceled if the tool you’re using only reports on client-side events?
You’ll only know what’s happening with your data if you also capture server-side events. But one of the biggest roadblocks to this is adding another level of complexity to your multi-platform support. If you support both iOS and Android, you must now collect and reconcile information from the apps and from Google and Apple’s server-based webhooks. This doubles the number of data sources, making it difficult for developers to normalize the data and test that everything is working properly.
Usually, even if teams have the resources to invest in capturing real-time server-side events (most don’t), they end up missing some of the data because it’s just too challenging to reconcile everything. They often resort to batch processing rather than truly streaming the events.
5. Changes to the platforms can break your integrations
When managing your subscription lifecycle data, you’ll need to stay on top of the constant evolutions in the data/tooling ecosystem. For instance, there have been recent changes in the iOS ecosystem with App Tracking Transparency and StoreKit 2. As a result, best practices are evolving, and the iOS tool stack will change rapidly based on what data can and can’t be sent.
Internally, that might mean one of your integrations breaks seemingly out of nowhere — and you spend dev cycles on an overhaul of your data pipelines and how you normalize data and ensure consistency across your tools.
How RevenueCat works as a central hub for subscription lifecycle data
With these challenges in mind, teams may look for a solution similar to Segment for their subscription data. That’s where RevenueCat comes in: our platform collects and standardizes subscription lifecycle events from every platform and provides a simple integration across a vast ecosystem of marketing, analytics, and other tools.
Normalized, consistent data everywhere
We clean and normalize your data across multiple platforms so you have a clear, consistent picture of your users and their subscription lifecycle events. This means solving data at multiple layers: everything from how data is structured across platforms to how identity is represented. (Read more about how we solve for identity in our article Managing Cross-Platform Subscription
We create a single source of truth for your subscription lifecycle events and push standardized data to your backend and third-party integrations, removing the burden for your team to cross-check and reconcile data across your tools. As new tools and best practices emerge (like ATT for iOS), we’re set up to quickly add new integrations and ensure that changes don’t break your data.
Events are handled server-side and streamed in near real time
You’ll miss out on critical business transactions like user cancellations and refunds when you’re only looking at client-side events (which is the case with most teams, as discussed above). We handle events server-side and stream them in near real time, which has many benefits:
- You can run effective win-back and customer engagement campaigns that are immediately triggered off of events.
- Your attribution partner (MMP) will have the most complete picture of what’s happening in your subscription lifecycles so they can optimize your ad campaigns.
- You can take full advantage of the retention metrics and user lifecycle analysis that a provider like Amplitude or Mixpanel is designed to show. Here’s an example of the data RevenueCat sends to Mixpanel.
- You can build useful integrations like running your customer support through Intercom or getting updates via Slack, which is only possible with real-time event streaming.
One-click integrations with all your tools
With RevenueCat managing the complexities of subscription data normalization and integration, you can turn integrations on and off with the flip of a switch. You don’t have to put a whole development sprint into adding a new tool, and you can easily test out new providers. We have built-in support for a wide range of third-party tools and add new ones regularly. With webhooks, you also can build your custom integrations.
Furthermore, we offer ETL exports to automatically deliver all of your apps’ transaction data to your cloud storage provider, giving you reliable data you can use however you want. With ETLs, we can deliver 24 hours of data at a time, and our customers use that to feed their data warehouses, where they can do more sophisticated analysis and pool data from other platforms.
Summary
While analyzing and acting on your subscription lifecycle data is key to your growth and monetization success, it can be a major hurdle as your team grows and wants to add new tools. You have to write a data pipeline for each tool you use, clean and unify your data across platforms, and figure out how to track real-time server-side events.
RevenueCat’s SDK makes supporting subscriptions and in-app purchases simple, so your engineering team can focus on building a great app instead of worrying about the ins and outs of subscription infrastructure. However, RevenueCat can be even more powerful by providing a unified, real-time view of your customers and their subscription status, especially for large or growing teams with a lot of data.
With these capabilities, you can easily extend your existing tools and adjust your stack with minimal effort. You don’t have to consider implementation, execution, or engineering time. Your data is ready to use however you want to drive insights and make decisions that will grow your business faster.
Ready to see how these features can benefit your team? Sign up for a free trial of RevenueCat.
You might also like
- Blog post
The complete guide to SKAdNetwork for subscription apps
Understanding Apple's privacy-first attribution
- Blog post
“A big market is great only if you can take a substantial share of it” — Patrick Falzon, The App Shop
On the podcast: estimating the revenue potential of an app, crafting an exit strategy, and why LTV is such a terrible metric.
- Blog post
Effective testing strategies for low-traffic apps
Is A/B testing off the table? Let’s rethink experimentation.