Read the latest announcements from the RevenueCat team.
Recently active
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.
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.
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.
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
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
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
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.
SummaryWe fixed a bug in Customer List data where a purchase transfer on restore would not result in the original customer (App User ID) being removed from the relevant list. ImpactThis bug only impacted Customer Lists; and therefore had no impact on entitlement access, event data, or data from other features like Overview, Charts, and ETL Exports.Though the purchase associated with that original customer would no longer be updated, and therefore would “expire” at their next renewal (removing the original customer from the Active list), this bug would result in slightly elevated counts of Active Subscribers or Active Trials from recently transferred purchases that have not yet expired if you use the Transfer Purchases Restore Behavior. Learn MoreTo learn more about Restoring Purchases, click here; or to learn more about Customer Lists, click here. Thanks very much,- DanPM @ RevenueCat
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
Hey all, as some of you might know we’ve been hard at work upgrading our platform to support all the of Google's new subscription model. As we are preparing for our new Android major release we would like to get your help as a beta tester with the new product setup and the basic purchase flow.Here is a new blog for you to refresh your memory / familiarize yourself on what are the main changes between Billing Client 4 to 5.Here are our requirements for you to become a beta tester: 📱 Have a native Android App (No Hybrids or Amazon for now) 🔍 You are not using Observer Mode 🎞 For now we will not restore purchases that happened outside of RC 🔆 You have maximum of 20 products (soft requirement) 🌲 Availability and willingness to test with us 🕺🏾 Not using dev-determined offers (yet) How can you help?😻If you fit the above requirements and have capacity to beta test with us please respond to the thread or drop me an email at anna@revenuecat.com. I will then confirm your a
RevenueCat can now optionally report revenue after store commissions, or after taxes and commissions through features such as charts, integrations, and webhooks:The Revenue chart now includes new measures to distinguish between revenue deducted for taxes vs. commissions & fees (learn more) Webhooks include tax_percentage and commission_percentage fields for calculating these values yourself (learn more) All revenue-reporting integrations can be toggled to report revenue on a gross, net of commission, or net of commission & taxes basis (learn more)Especially in regions where a VAT is applied, this should result in a much more accurate estimation of the proceeds (net revenue) you’ll generate from your gross revenue.Tax estimation is complicated though, and each store handles the application of VAT and other taxes like digital service tax (DST) quite differently. To learn more about how RevenueCat estimates taxes on each transaction – including all historical transactions – and ho
If you’ve ever tried to analyze your data by Country, Apple Search Ads Campaign, or any other segment that might have an overwhelming number of dimensions: we’ve got good news for you.Charts links now specify when a custom segment visualization has been applied, which means you can select just the segments you want to view in your data table, and then save a chart like this one -- MRR in Top 5 Countries -- to get a clear, focused view on your data.Check it out and let us know what custom views your saving!
Hi everyone! We’re looking to better understand how you use the RevenueCat Community and how we can improve your experience.We’ve created a quick 6 question survey and would greatly appreciate your feedback.Here’s the link to the survey: https://forms.gle/fn1gf3R9xCSPSeau9Thank you for your help and for being a part of our community!
Check out our new 100% Stacked column chart type to dive deeper into your subscription performance and understand how the composition of your segments is changing over time.You can use the 100% Stacked column chart type to answer questions like:What portion of my ARR is coming from Yearly vs. Monthly subscriptions? What portion of my Active Trials are coming from the App Store vs. the Play Store? What portion of my Revenue is coming from Apple Search Ads?The 100% Stacked column chart type is available when segmenting the following charts:Active Subscriptions Active Trials ARR MRR RevenueIf you have any questions about the new chart type, how to use it, or other improvements you’d like to see to Charts, we’d love to hear from you. Thanks!
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
SummaryWe’ve made an improvement to how we handle churn (subscription expirations) in data features to ensure the subscription metrics we offer in places like Charts are consistent with the subscription behavior in apps using RevenueCat. Store(s) Old Behavior New Behavior App Store Churn date in some data features was reported as the original subscription expiration date, regardless of whether a grace period was offered Churn date in these data features is now reported as the expiration of a subscription’s grace period if offered Google Play Store, Stripe, and Amazon Appstore Churn date in all data features was reported as the expiration of a subscription’s grace period (if offered) No change Subscription expirations in the SDK always take the grace period into account for reporting a subscriber’s status and revoking entitlements. Some data features like webhooks & integrations, already take the grace period into
Your business is unique, and has unique needs for understanding performance and determining how to grow. Today, we’re making it easier to quickly access those unique insights with the ability to save custom charts in RevenueCat.Now when you create a customized chart in RevenueCat – like segmenting MRR by your top 5 countries, filtering Initial Conversion down to your fastest growing Project, or your own all-time cohort retention chart – you can save it to your Saved Charts to have quick access to that exact configuration every time you log in.Just click “Save” in the top right corner of your chart once it's configured to your liking to have that configuration saved in the left-side panel for easy access anytime you use Charts.Let us know which custom charts you plan to save. And of course, chime in here if you have any questions or feedback.Thanks,Dan
We are excited to announce that we have worked with Stripe to launch an app inside Stripe’s App Marketplace! Rather than context switching between RevenueCat’s customer details and Stripe’s customer profile in multiple windows, the RevenueCat App combines RevenueCat data into a single page view within Stripe. You will be able to do the following: Quickly navigate to RevenueCat Customer and setting pages with convenient buttons View RevenueCat customer metadata such as app user ID, last seen RevenueCat SDK version, last seen locale, and timestamps when your customer interacted with your app View transaction events for Stripe, as well as cross-platform purchases across Apple App Store, Google Play Store, and Amazon Appstore For instructions on how to install this app to your Stripe dashboard, visit our docs here. We hope this new flow makes it easier for your team and stakeholders to manage Stripe subscriptions! As this is the first iteration, we will work to update our app over ti
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!
Many of our charts can be segmented by a variety of dimensions to make it easy to compare performance between different criteria, and unlock critical insights about where the greatest strengths and opportunities in your business lie. Today we’re excited to release support for segmentation for Subscriber Retention so you can quickly understand how key dimensions of your business affect your customer retention. Here’s how it works:By default, Subscriber Retention will continue to be cohorted by subscription start month. This chart is currently cohorted by subscription start month to make it easy to see how your retention is trending for recent subscriber cohorts. Think of this cohorting as its own kind of segmentation: we’re taking one larger cohort of users (defined by the Date Range being viewed), and segmenting them by their subscription start month to compare retention rates.Now, with the option to change the chart’s segmentation, when you choose a different dimension to segment by (
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
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
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
We are currently rolling out some improvements to our customer lists. In the next few days, you will find a new setting in the filter settings for your customer lists: the ability to define whether the filters should only be applied to those customers with purchases (e.g., started a trial, started a subscription, or made a non-subscription purchase) or not. By default, lists will only include customers with purchases. This means that lists will now load much more quickly in most cases, since apps typically have vastly more customers without purchases than those with customers. For those lists that should include customers without purchases, you can simply change the setting – this will mean the list loads and exports somewhat slower (but not slower than it did until today).For your existing customer lists, the setting has been automatically set to the "correct" setting as per the other filters – if a list currently contains customers without transactions, the setting will be "All custo
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.
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.