Use cases for RevenueCat Billing

3 ways you can use the new RevenueCat Billing beta today.

Charlie Chapman

Charlie Chapman

Published

We’re super excited today to launch the beta of a brand new product we call RevenueCat Billing.  RevenueCat Billing is a JavaScript SDK and web backend that allows you to integrate subscription purchases into your website. These subscriptions work perfectly with the existing RevenueCat backend for mobile applications to make managing user access to entitlements across mobile platforms and the web seamless.

Here’s how the RevenueCat Billing beta core components look today at launch.

Core component diagram for the RevenueCat Billing beta.
Figure 1: Core component diagram for the RevenueCat Billing beta.

This is just the initial beta, so it’s not the complete vision we have for the product. You’ll need to build a website (or expand an existing one), design a web paywall UI, and you will need some form of user authentication in your mobile app so you can associate purchases with a user-id. 

Even in this initial beta form, there are some interesting ways you can RevenueCat Billing right now to grow your mobile app business. Let’s go through a few of them, starting with the least complex to implement and working up to the most complex.

Win-back campaigns

If your mobile app already has a login system and you collect user emails, you can use RevenueCat Billing to set up a simple win-back campaign. You may already be sending occasional emails with special discounts to users who have churned to try to win them back as subscribers. How far you can discount may be limited by the App Store and Google Play Store’s commission.

Because RevenueCat Billing charges users outside of the store, the commissions per transaction are much lower. Fees for purchases through RevenueCat Billing are the same percentage you pay to RevenueCat for in-app purchases plus the standard 2.9% +$0.30 Stripe processing fee. Since you’re saving on fees, you could offer a steeper discount. Let’s look at how you could set this up.

To start, you’ll send your users a win-back email offering them a discounted subscription with a link to a website that includes the user’s user-id in the query string parameters. When user’s open this url, they’ll open a simple paywall website you can build using the RevenueCat Web SDK.

Web Paywall UI mockup that you will need to build on your website.
Figure 2: Web Paywall UI mockup that you will need to build on your website.

Your site can show the appropriate set of products by fetching the offering from the RevenueCat backend using the RevenueCat Web SDK just like you already do in your mobile apps with the mobile RevenueCat SDKs. Once the user selects their plan your site can initiate the Stripe purchase flow.

Payment modal for users to enter credit card details presented by the RevenueCat Web SDK.
Figure 3: Payment modal for users to enter credit card details presented by the RevenueCat Web SDK.

Once the user completes the purchase, the transactions will post to the RevenueCat backend and the user’s entitlements will be unlocked across each platform you have set up in your RevenueCat project. You can link the user to redownload the app. Once they sign in on your mobile app, their features will all be unlocked.

During the purchase flow, users will specify their email address. RevenueCat Billing will handle sending user’s payment receipts, renewal notifications, and billing errors. These emails will include a link to a page where users can manage their subscription such as canceling or updating their credit card information.

RevenueCat hosted customer portal web page for user subscription management.
Figure 4: RevenueCat hosted customer portal web page for user subscription management.

This is a very simple way to seamlessly set up a web-based winback campaign for your cross-platform mobile app. The website you need to build is very straightforward and the only 3rd party integration you need to integrate is the new RevenueCat Web SDK. 

Because the RevenueCat Web SDK is powered by our existing RevenueCat backend, you’ll automatically see your web subscription data combined with your mobile data in our powerful charts. You’ll also have the ability to run A/B tests with our experiments feature just like you can on mobile.

Let’s look at another use case that’s a little bit more work but opens your web purchasing flow to the public.

Landing page with purchase

For the win-back campaign use case, you set up a simple website that uses a user-id included in the link URL to identify which user is making a purchase. This means you don’t need to build your own authentication system into the website, but it also means your website can only be accessed by users coming from a link you emailed them.

If you add an authentication system into your website, you can then build a publicly accessible landing page where users can subscribe to your app immediately on your website, without needing to download the app first.

Website landing page mockup with subscription purchases built in using the RevenueCat Web SDK.
Figure 5: Website landing page mockup with subscription purchases built in using the RevenueCat Web SDK.

To do this, you’ll need a mechanism to allow users to create and log in to their account. Once they’re logged in, you will have a user-id and can use the same process as outlined above in the win-back use case.

User experience for purchasing a subscription from your website.
Figure 6: User experience for purchasing a subscription from your website.

By allowing users to subscribe directly through your website, you won’t have to adhere to Apple or Google’s in-app purchases policies and you will avoid the store fees. You will also have a more direct relationship with your user.

Once again, RevenueCat Billing will handle emailing your users receipts and provide a subscription management website for your users to update or cancel their subscriptions. And all of your web subscription data will flow into the RevenueCat dashboard to easily access through our powerful charts.

The previous two use cases both enable users to make purchases through your website. But to access the features they’ve purchased, they will still need to download your mobile app and sign in. But you’re not limited to just a purchasing flow!

The RevenueCat Web SDK integrates with RevenueCat’s existing entitlement system. This means you can use it to easily check a user’s active entitlements and unlock features on your website to the appropriate users.

1try {
2
3  customerInfo = await purchases.getCustomerInfo(appUserId);
4
5    if ("gold_entitlement" in customerInfo.entitlements.active) {
6
7      // Grant user access to gold entitlement features
8
9      grantEntitlementAccess();
10
11    }
12
13} catch (e) {
14
15  // Handle errors fetching customer info
16
17}

Using the RevenueCat Web SDK, you could create a web app with feature parity to your existing mobile applications. With the same free and paid features with access managed by RevenueCat’s entitlements. Or you could add some basic web features with the full experience still requiring your mobile applications.

Conclusion

Even with this early beta, RevenueCat Billing offers the opportunity to expand your mobile app’s user experience and grow your business. From a simple win-back campaign up to a full blown web app, there is a lot you can build with it already. And this is just the beginning.

The RevenueCat Billing Beta is available to users on our Pro, Scale and Enterprise plans. If you have thoughts, please share them! We’re at the very beginning of this journey and we want your feedback now to help shape the direction we take. You can share your feedback by joining our Discord.

For the full details on what the RevenueCat Billing beta looks like today you can check out our launch post or read through the comprehensive documentation.

In-App Subscriptions Made Easy

See why thousands of the world's tops apps use RevenueCat to power in-app purchases, analyze subscription data, and grow revenue on iOS, Android, and the web.

Related posts

What is SKErrorDomain Error 0 and what can I do about it?
Engineering

What is SKErrorDomain Error 0 and what can I do about it?

What to do when seeing SKErrorDomain Error code 0 from StoreKit on iOS.

Charlie Chapman

Charlie Chapman

April 24, 2024

How we solved RevenueCat’s biggest challenges on data ingestion into Snowflake
How we solved RevenueCat’s biggest challenges on data ingestion into Snowflake
Engineering

How we solved RevenueCat’s biggest challenges on data ingestion into Snowflake

Challenges, solutions, and insights from optimizing our data ingestion pipeline.

Jesús Sánchez

Jesús Sánchez

April 15, 2024

How RevenueCat handles errors in Google Play’s Billing Library
How RevenueCat handles errors in Google Play’s Billing Library  
Engineering

How RevenueCat handles errors in Google Play’s Billing Library  

Lessons on Billing Library error handling from RevenueCat's engineering team

Cesar de la Vega

Cesar de la Vega

April 5, 2024

Want to see how RevenueCat can help?

RevenueCat enables us to have one single source of truth for subscriptions and revenue data.

Olivier Lemarié, PhotoroomOlivier Lemarié, Photoroom
Read Case Study