Skip to main content

Hello Everyone,

Right now, I'm developing a mobile app with pricing variations for iOS and Android that offers three different subscription tiers: basic, premium, and pro. We manage our subscriptions and in-app purchases with RevenueCat, and I'm looking for guidance on a few important points.

Price parity across platforms: How crucial is it to keep iOS and Android prices the same? Have you discovered that certain pricing schemes perform better on some platforms than others?

Upgrades and Downgrades of Tiers: For those of you with several subscription tiers, how do you handle requests from consumers to change their tier mid-cycle? Is it possible to make this changeover go smoothly without confusing users or having an impact on their retention?

Providing Regional Pricing: In light of the recent adjustments to exchange rates and localised pricing tactics, how are you handling regional pricing disparities? Does RevenueCat take this into account automatically, or do I have to set it up individually for each region?

Cross-Platform User Syncing: How do you handle syncing a user's subscription status if they switch from one platform (like iOS) to another, or vice versa, for users who subscribe on one of those platforms? Exist any best practices in RevenueCat that guarantee a seamless interaction between the two platforms?

Analytics: Lastly, I'm interested to see how RevenueCat's analytics are being used by others. Do you suggest concentrating on any particular KPIs or indicators to assess user retention and subscription gcp performance?

I’m eager to learn about other people's perspectives on these matters.

Thank you in advance for your support.

Hey @suzen,

I’ll share what I know:

I can’t say whether pricing parity between iOS and Android matters, but I have seen pricing parity for different regions is pretty common. You can always use price experiments to test the best prices on each platform and decide that way. You will have to set up region pricing manually in App Store Connect/Google Play Console outside of RevenueCat but once you do that RevenueCat will keep track of the prices.

Upgrades and downgrades are handled automatically on iOS: https://www.revenuecat.com/docs/subscription-guidance/managing-subscriptions#app-store You just have to configure the details of the logic in App Store Connect. Generally when moving up in tiers, Apple cancels the existing subscription immediately and starts the new subscription so they have access as soon as possible. And when moving down in tiers, Apple waits until the end of the billing cycle to do so. Apple seems to have standardized this behavior so that customers are used to this kind of flow, Android upgrades and downgrades are handled by you in code: https://www.revenuecat.com/docs/subscription-guidance/managing-subscriptions#google-play so I recommend mirroring Apple’s behavior to keep things consistent. Most customers generally understand how this flow works.

The major thing about keeping subscription data in-sync across platforms is to have a user authentication system in place. If you identify a customer to RevenueCat, then any time they log in they’ll get all of their purchases from across platforms. One issue that you’ll want to keep in mind is that Apple subscriptions can be cancelled only on an Apple device that the customer is logged in on. So if the customer is using an iPad and an Android phone, and purchases the subscription on their iPad, they’ll get access to it on their Android, but will need to use their iPad to cancel the subscription. You can help them out by providing the managementUrl that RevenueCat generates for you: https://www.revenuecat.com/docs/subscription-guidance/managing-subscriptions#using-the-managementurl-to-help-customers-cancel-a-subscription It redirects the customer to the appropriate portal to cancel their subscription.