Read the latest announcements from the RevenueCat team.
Recently active
Hi everyone, today we launched our RevenueCat Billing and our Web SDK, our native solution for web subscriptions, in beta. For more details, please check out our documentation. If you have any feedback about the beta, please feel free to share it in the community – we will keep working on adding functionality.
Over the past few months, we’ve been busy at work improving our new charts. Starting today, we have migrated everyone to the new charts experience. The new charts do not just have a refreshed look & feel, they also provide improved functionality over the old charts: We have launched a number of new charts: Annual Recurring Revenue (ARR) provides an industry-standard way of looking at your recurring revenue, normalized by subscription duration. Movement charts (Active Subscriptions Movement, MRR Movement, Active Trials Movement) provide full transparency on what causes important indicators of your business to increase or decrease. Refund Rate offers a view of what proportion of your transactions end up getting refunded. Initial Conversion allows analyzing what proportion of newly acquired customers take an action on your paywall (starting a free trial, starting a paid subscription, or making a one-time purchase). Conversion to Paid allows analyzing what proport
In a few days, we will add a new field to our webhook event payloads: renewal_number. The renewal number describes how many times this subscription has already recurred. It always starts at 1 (ie., the first event sent for a new subscription has the renewal_number 1). Trial conversions are counted as renewals.If you are using RevenueCat webhooks, please make sure that your webhook processing can handle this new field.
Today, we are launching two big improvements. Continue reading for all the nitty gritty details, but let’s start with the big advantages you have with the new features: You can now share subscriptions not only between versions of the same app on different platforms (e.g., between iOS and Google Play Store), but also between different apps on the same platform. We now support the Amazon Appstore for your Android apps. For more information, see our documentation on installing the SDK and configuring Amazon Appstore products. To enable these changes, we’ve completely overhauled our model for how apps are created and set up. Logging into your RevenueCat dashboard, you will notice that the “Apps” dropdown menu has been replaced with “Projects”:A Project is a set of Apps. Each App is specific to one platform. For example, a typical Project might contain one iOS App and one Google Play Store App. All Apps within one project share the same basic setup, including entitlements, offerings, inte
Over the past few months, we have been working on a new solution for mobile app developers to offer subscriptions on the web. With this new solution, we will provide a hosted paywall backed by Stripe that developers can use to offer subscriptions to their customers – for example, to send discount offers to customers via email, or to offer the ability to sign up and subscribe on the app's website. This solution will be available to developers on the Starter, Pro, and Enterprise plans.We are looking for developers interested in offering subscriptions on the web who would be willing to participate in a beta program for this feature. The program would entail: Being able to give feedback on the solution before launch Being the first to get access to the solution If you're interested, respond to the thread or drop me an email at jens@revenuecat.com.
We’re happy to announce that RevenueCat now supports Apple’s AdServices attribution framework for Apple Search Ads (ASA).You can now view AdServices ASA attribution data within RevenueCat Charts. You can unlock insights to drive more profitable growth for your app by: Filtering and segmenting RevenueCat charts by Apple Search Ads campaigns or ad groups Following your campaign's install base over time to understand the long-tail revenue generated from subscriptions We previously only supported Apple’s deprecated iAd attribution framework. While iAd gave in-depth attribution information you can only receive this data if users opted in through Ad-Tracking Transparency (ATT). The current AdServices framework is more focused on privacy and while it gives less individual depth on attribution data, you no longer require an ATT opt-in from the user, increasing the breadth of data you’ll collect.This integration is available starting in these SDK versions: iOS: purchases-ios 4.10.0 React Na
Our webhooks have for a while supported events for billing issues, now these are also being sent to analytics and CRM integrations. These events will be sent to integrations whenever a subscriber was charged unsuccessfully (e.g., expired credit card or lack of funds). In order to properly receive these events, you will need to set the event name in your configured integrations:There are several use cases for these events: in analytics tools, you may want to analyze how often billing issues occur for which cohorts or segments of users. In CRM tools, you may want to set up push notification or email campaigns to prompt subscribers with billing issues to update their means of payment.We hope this new event type is useful. Let us know about any concerns or issues with the new events!JensHead of Product @ RevenueCat
Today, we are launching two new charts to better understand your funnel from newly acquired customer to paying subscriber.The Initial Conversion Rate chart shows what proportion of each cohort of new subscribers either started a trial or made a purchase without a trial. You can think of it as the proportion of subscribers who took an action on your paywall, or paywall conversion.The Conversion to Paying chart shows what proportion of each cohort of new subscribers ends up paying (either because they converted from a free trial to paying subscriber, or because they made a purchase without a trial). This can be thought of as the end-to-end view of the conversion funnel within your app.With these new charts, we now offer three views of conversion rates (the Trial Conversion chart remains, of course). Which of these are most useful and valuable to you will depend on your product setup—whether you offer subscriptions with trials, without trials, or a mix of both.Let us know if you have any
Our launch of Amazon Appstore support is around the corner. If you are interested in joining the beta before official launch, let us know via this post or by dropping me an email: jens@revenuecat.com. JensHead of Product @ RevenueCat
We have added a new event to our webhooks and customer profiles: SUBSCRIPTION_EXTENDED. This event fires when the expiration date of a subscription has moved back without a renewal. This can happen if a subscription was extended through the App Store or Play Store APIs. On Google Play, we also occasionally see that subscriptions that are due to renew aren’t immediately renewed but extended by 24 hours while Google attempts to complete the payment. In these cases, we will also fire a SUBSCRIPTION_EXTENDED event, followed by either a RENEWAL or BILLING_ISSUE event within 24 hours depending on whether or not the renewal charge was successful.This new event type isn’t automatically dispatched to existing webhooks integrations, you will need to update your webhook integration to select the event.For more details, check our docs.
We’ve been working on a brand new version of our REST APIs, and we’d love your participation in our closed beta for the new version.The new REST API allows:Managing your products, offerings, and entitlements Getting customer information without creating a new one in the same request Retrieving a list of a customer’s active entitlements and aliases Obtaining overview metrics and many more to come Our new endpoints also introduce list and pagination for ease of access for entities of the same type, improved error responses to properly handle failed requests, and rate limiting headers. For more details, you can check out the preliminary documentation for our new API.How can you help?We are looking for developers who are interested in the above use cases and willing to participate in a beta program for this feature. Some key benefits of participating:Being the first to gain access to our new APIs Being able to give feedback before launchIf you’re interested, please fill out this Typeform
In approximately one week, on April 9, 2025, we will make a small change to the RevenueCat-calculated IDs for any new non-subscription purchases happening after that date. We will increase the length of the IDs to 25 characters to avoid collisions between different purchases. This ID is exposed via our SDK, Web API, and webhooks. Subscriptions and purchases that happened before the change will not be affected.This will likely not have any impact on the vast majority of developers – the ID was a string and remains a string, only longer (25 characters) and with more potential characters (A-Z, a-z, 0-9, -, =, and _). If you are ingesting this string in a database on your side, please make sure that the database schema accepts strings of that length.If you have any questions about this change, please feel free to ask them below.
As of today, RevenueCat is supporting a new event type that is surfaced via the customer view on the RevenueCat dashboard, webhooks, and integrations: The EXPIRATION event. This event is fired after the subscription of a customer expires (not necessarily at the exact second the subscription expires, but shortly thereafter). This should make it even easier for you to understand the subscription status of your customers, both by looking at the dashboard or in your own backend systems. The webhook documentation has more details about the event and its fields. A few points to note:For subscriptions that expired before we shipped this new event, we will backfill and show these events on the customer page in the dashboard as you visit the page for a given customer for the first time; however, we will not send these backfilled events to webhooks and integrations (so you don’t have to handle the case where you suddenly get expiration events from long churned customers). In order to send this n
Hi all,If you rely on RevenueCat’s subscription data to track your app’s performance, spot issues, and take action — I’d love to talk to you about an idea we’re working on to push subscriber data out to customers to make performance tracking easy, such as via a daily subscription performance summary.If that sounds like something you’d be interested in, I’d love to hear your feedback on what metrics you’d be most interested in getting updates on, where you’d like to receive those updates, and more. Feel free to share in this discussion directly, or email me at dan@revenuecat.com if you’d prefer. Thanks!DanProduct Manager @ RevenueCat
With the new StoreKit 2 changes from Apple, we are excited to soon provide more precise price, currency, and country detection. We first launched this for Apple Offer Codes and Promotional Offers, and we will soon support this for standard transactions as well!We will gradually be releasing this change for all customers by the end of March of 2024! To be ready for these changes, please upload your in-app purchase keys in your app settings page. For more detailed instructions, please visit our documentation here.As the transactions in our system gradually get refreshed, you may notice the following: Increased number of updated transactions being reported in your scheduled data exports. Particularly if you have selected the ‘Receive new and updated transactions only’ option in your export settings. The changes you may see are: Price Purchased currency Country Historical chart data may also gradually update. You may notice a decrease or increase for charts that
RevenueCat SDK 4.0.0-beta.1 is out Hey all, some of you might know we’ve been hard at work migrating our mixed-language Purchases.framework to Swift. Well, we did it, and we’re excited to share it with you!For context, here were our goals of the migration: 🦶 Lowers our overall footprint for modules. 🗣️ Unifies the language used for the entire SDK. 🚤 Faster feature development, bug fixes on old logic, and integration through simplified SDK, CI, and testing infrastructure. 🐐 Improve consistency among our API calls, classes, properties, etc. Enable us to implement StoreKit2 changes easier. 🧑🏫 Easier onboarding for new members (internal and external). You can find a more detailed breakdown of the motivations and our actual migration plan in our SwiftMigration.md.We haven’t added any new features (yet), but we did update our API to be more idiomatic to Swift, fixed a few tiny bugs, and improved the safety of our API through fixing various nullability mismatches.We’re plann
We have just launched a new webhook event type: TEMPORARY_ENTITLEMENT_GRANT. This event gets sent if we were temporarily unable to validate a purchase with the respective store and have granted a short-term entitlement to the customer. It is sent in exceptional situations (for example, a partial app store outage) and is used to avoid customers making a purchase but not getting access to their entitlement. The expiration date of the entitlement is always at most 24 hours in the future. Once the exceptional situation has been resolved and RevenueCat can validate the purchases, a regular INITIAL_PURCHASE event will be sent.Reacting this event is completely optional. If you are using the RevenueCat SDK or API to check customers’ entitlements, this temporary entitlement grant is already taken into account. Only if you are maintaining entitlement status separately in your backend should you consider reacting to this event. The event is launched as opt-in: If you wish to receive it in your we
Hey RevenueCat Community -- sharing a quick update to let you know that today we’re updating the Customer Support role to no longer have access to the Customer Lists feature. This is to ensure developers have control over which team members have access to aggregate business data.Customer Support collaborators will continue to have access to look up customers, review transaction history, grant promotionals, issue refunds, and delete customers as described here.Additionally, Admin and Read Only collaborator roles will continue to have access to Customer Lists. If you have any questions regarding this change, please reach out to our support team and we’ll be happy to assist you. Thanks!
You might have received an email from Google about a change to Cloud Pub/Sub message retention pricing, effective June 30, 2024. If you’re wondering what this is and whether it affects you, I’ll add some clarifying thoughts here: Are RevenueCat apps affected?No. RevenueCat acknowledges all Pub/Sub messages right away, so using RevenueCat will not incur any extra charges on your account from this message retention policy. Am I affected outside of RevenueCat’s usage?Probably not, but you could be affected if you have:“idle subscriptions” (meaning things that subscribe to the Pub/Sub messages but don’t actually do anything). use the pub/sub queue as a form of a backup, and return a non-200 status code to pub/sub messages so they don’t get deleted from there have listeners that are very slow to respond (over 24 hrs). Is there a way to check if I’m affected? Yes! Just log into Google Cloud (not Play Console): https://console.cloud.google.com/cloudpubsub/subscription/Then select your pro
As of today, RevenueCat is supporting Apple order ID lookup. Customers can retrieve this order ID from their purchase history on the App Store and it is also sent in the email receipt each time they make in-app purchases. This will aid your support cases when your customers claim they purchased a product and never had their features unlocked. To enable lookup via Order ID for iOS apps, follow our guide on setting up In-App Purchase Keys.
New SDK ReleasesIn the new SDK version, we’ve redesigned the way that user identification works. We introduced two new methods, logIn and logOut, for handling user identification. These replace createAlias, identify and reset.To take advantage of the new Identity features, you just need to replace identify and createAlias with logIn, and reset with logOut. These new methods hopefully make usage more clear, and there’s some under-the-hood performance improvements you’ll get for free. New Dashboard OptionsRegardless of whether you have started using the new SDK, we’re also introducing a new option in the dashboard so you can configure the desired behavior when two different App User IDs restore the same Apple or Google receipt. Available options are: Transfer to the new user (default) Block the transferThis behavior can be changed at any time through the RevenueCat dashboard, and it replaces the deprecated SDK property allowAppStoreAccountSharing.(Note: Some developers may see the legacy
We are at an exciting moment with our platforms team: looking at our roadmap for future integrations. Many of you have asked us about Braintree before, so we are now identifying and evaluating some of our assumptions and looking at ways to integrate this. What would help us is to better understand how you are using Braintree and what are the most important features for you. In addition to that, if you can, it would be very helpful for us to better understand your current monthly tracked revenue (MTR) via Braintree. Of course we understand that this not something to share in a community post, feel free to send me an email to help our estimation for the demand of Braintree anna@revenuecat.com
Today, we are launching two new charts showing realized (historic) Lifetime Value (LTV): one for LTV per Customer and another for LTV per Paying Customer. These two realized LTV metrics are also sometimes called ARPU (Average Revenue Per User) / ARPPU (Average Revenue Per Paying User). They shows the actual (gross) revenue that was generated by a (paying) customer cohort, divided by the number of customers in that cohort. Customers are cohorted by the date they were first seen, i.e. the date they first opened your app.Using the “Customer Lifetime” selector, you can define the time period after the customer was first seen that should be considered in terms of revenue. For example, by setting the “Customer Lifetime” selector to 30 days, all revenue generated by customers in their first 30 days will be added up, and any revenue generated after that will be discarded for the purpose of this chart.These charts give you an overall view how the monetization of customer cohorts has developed o
Today, we are rolling out some additional segmentation options in the new RevenueCat charts (that were still missing in contrast to the old charts): Country, First purchase month, and Install month. If you haven’t checked out the new charts yet, give them a try – just head to the RevenueCat dashboard, click on “Charts” and then on “Try new charts”!
We recently shipped another big update to the RevenueCat charts: Charts now show all measures in the data table even when segmenting. For example, if you segment the Revenue chart, the data table will show not just the total revenue per segment, but also new vs. renewal revenue as well as proceeds. Previously, the only way to get to this information was to filter the chart for each segment individually.This makes segmentation of RevenueCat charts an even more powerful tool, unlocking a ton of insights that were previously hard to get to.
Already have an account? Login
No account yet? Create an account
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.