Get help with anything related to RevenueCat.
Recently active
Hi everyone,We’re experiencing an issue where users who go through a paid trial and then transition into a monthly subscription are still being marked as NON_RENEWING_PURCHASE in RevenueCat — even after a successful payment for the monthly plan.As a result, their premium access is revoked, despite having an active and paid subscription.We’ve reviewed our setup and reached out to support, but I wanted to check here in case anyone else has experienced something similar.Any insights or experiences would be greatly appreciated!Thanks in advance.
Hi RC Team,I just installed the latest iOS app update and found the new UI for filtering projects quite uncomfortable to use. I’d like to ask you to bring back the previous quick action chips, which made it much easier to filter stats and transactions by app with just one tap. As far as I remember this filter also shared picked option on both Overview & Transactions screens, now I have to pick project on both separately to quickly check app stats.I believe many other users would agree with me on this.
We’re facing an issue where RevenueCat is assigning an anonymous ID ($RCAnonymousID…) to some users, even though our app does not allow access without login, and we only call Purchases.configure() after the user signs up or logs in. Our Setup: • Platform: Flutter (with RevenueCat Flutter SDK) • Auth system: Firebase Auth • App flow: Users are required to sign in (via Firebase) before accessing any part of the app • RevenueCat config: We only call Purchases.configure() after confirming that the user is signed in and have access to FirebaseAuth.instance.currentUser.uid Issue Details: • In about 10% of cases, we’re seeing a RevenueCat event log that looks like this: • Created a new alias $RCAnonymousID:... • All these users are supposedly logged in before we initialize RevenueCat • For the remaining 90% of users, everything works correctly — i.e., the purchases are linked directly to our userIdSample Event Flow (from RevenueCat dashboard):
Localized subscription information is not displaying correctly in the app.Only the English version appears, even when the device language is switched to a supported, localized language configured in App Store Connect. Changing the device language to a non-English language (which is properly set up in App Store Connect localization) does not update the subscription group text — it still shows English. The code responsible for displaying the subscription description is:Text(pkg.storeProduct.localizedDescription)App Store and RevenueCat configuration is set up correctly because it retrieves the price and English subscription details from the App Store.
I’m setting up a paywall with three packages: two lifetime options and one subscription. I’m using the tab component to let users switch between these packages.List of features on tabs can be quite long. “Continue” button in this case is only visible after scrolling, which creates a poor user experienceI also tried using a Footer component to keep the button visible at the bottom of the screen but there is no way to update it based on currently selected tab - it’s globalAm I missing something?
We are using flutter and firebase custom claims, which work great for the normal in app purchase flow.We use `rc.Purchases.logIn` to associate the firebase user id.We now have set up apple Promo Codes for our monthly subscription offer.This also works as expected for users that already have an account (i.e. the firebase id is already known to revenue cat).Now the issue:When a non-existing user follows the promo code link and makes the “purchase” of our monthly subscription via that promo code, revenue cat does not yet have the firebase id (since it does not exist yet).When that person now downloads the app and creates a firebase account, we again use `rc.Purchases.logIn` to tell revenue cat about it.I can see in the revenue cat dashboard that that association has worked.But even after the user has called restore purchases, their id token never gets the expected custom claim.
Hi,We added the RevenueCat react-native SDK to our app in the last release and we are seeing thousands of these errors across thousands of users: “😿‼️ Error when syncing subscriber attributes. Details: The operation couldn’t be completed. (RevenueCat.BackendError error 0.) UserInfo: [:]”. They seem to happen immediately after app launch and SDK initialization. What is the cause of this and how do I fix it?
Hello,Is it possible to set the default language for Web Purchase Links? It’s not available in URLs parameters, neither in the dashboard. Thank you.
Hi everyone,I’m new to RevenueCat and subscriptions in general, and I’m currently testing my app in the sandbox environment. I’ve connected my backend to RevenueCat via webhooks, and my webhook sets a label for each user based on their app_user_id.Here’s what’s confusing me: When there is no active subscription in App Store, and a user with app_user_id: user_1 subscribes, the webhook triggers as expected. However, if I log out and then log in as a different user (user_2), and subscribe again, no webhook is triggered. Does this mean that both users share the same subscription because it’s tied to my Apple sandbox account? How does this work exactly? I would like each app_user_id to be treated as a separate user in my backend, but I’m not sure if I’m misunderstanding how RevenueCat links subscriptions to users in this scenario.Any clarification would be greatly appreciated. Thanks!
I’m a little confused on how this should be handled and If it’s suppose to work that way. I’ve logged in as (user id = ) userA , I’ve purchased a subscription then I’ve logged out and logged in as userB and then deleted userA from my database.UserA HistoryUser B History Why is the renew event sent from userA ? This creates a problem in my app because `userA` was deleted after transfer and some time later the subscription renewed. Also the revenue cat firebase extension fails because of the same thing I would expect that after transfer all the subsequent events to have the new customer id set.
Hello, RevenueCat team.I've already correctly configured my service account in Google Cloud and Play Console with Admin access and API permissions.I uploaded the JSON to the RevenueCat dashboard, enabled all the APIs used in the project (vdt-invest-25), and waited over an hour.I uploaded app with closed test. I still receive the error message: ❌ Permissions to call subscriptions API.I'm counting on your help to resolve this.
I’m wonderign if its possibel to haev a nested bottom sheet withitng the paywall like the above? Like you click on the “Upgrade your locket” and it woud pull up that “Subscribe to locket gold” modal within the paywall?
Hi,Currently, the SDK for Unity only allows string values to be sent for customer attributes.Also, in the Targeting Ruels UI, it seems to only do string comparisons.Am I doing something wrong, or is it limited to strings only?thanks!
Hi everybody and RC Team,I just want to request RC team regarding few limitations of APIs, I actualy want to get list of active subscriptions (new) on daily basis for graph stats also ios and android users number on subscriptions. Thanks
Hello everyone, I have completed the AppsFlyer integration as described in the documentation, but I’m not seeing any events (e.g. trial started, conversion, renewals) appear in my AppsFlyer dashboard, even after waiting for some time. Additionally, the documentation does not clearly explain how event names should be structured or sent. This causes confusion when trying to verify whether RevenueCat is sending the correct events to AppsFlyer. As shown in the screenshot, the "No Events to Show" message appears in the Integration Events section. Does this mean that no events were sent at all to AppsFlyer? Or could this indicate a problem with the event naming or setup?👉 One thing I’m not sure about:Should the event names listed under the "Integrations" tab (in RevenueCat dashboard) match RevenueCat’s default names, or do they need to follow AppsFlyer's default naming conventions (e.g., af_subscribe, af_start_trial, etc.) for them to be tracked properly?Any help or clarification on how t
Hey everytime i click link from builder pack. Go to rev.cat/bolt enter your email address and click Start for Free. its always not working.
When adding Service Accounts, the docs state: Under 'App permissions' you need to add your app. Then under 'Account permissions', you need to grant certain permissions in order for RevenueCat to properly work. Is this really necessary? It is possible to assign apps to users and manage app permissions s.t. the particular service account is only able to access one specific app instead of all apps.The documentation currently recommends users to grant Account Permissions which means said service account would be able to access all apps in the Play Store.Can this be avoided by just setting the correct permissions under App Permissions > Manage Permissions?See also: https://github.com/RevenueCat/docs/pull/929
Hey everyone,I’m currently setting up my paywall and need some guidance on how to implement a conditional label on the continue button based on the selected offer.My setup: I offer two packages: Lifetime (one-time purchase) Monthly (recurring subscription with a free trial) What I want to achieve: When the Monthly offer is selected, the continue button should say: “Continue to Free Trial” When the Lifetime offer is selected, the button should say: “Continue” Is there a built-in way in RevenueCat to handle this kind of conditional UI behavior based on the selected package or offer type (e.g., checking if a trial is available)? Any best practices would be greatly appreciated!Thanks in advance!
Is there a way to simply scroll to see further transactions on the web?I understand https://app.revenuecat.com/activity allows going further back with Older button clicks but 10 a page is very limiting. The mobile app Transactions view is simply what we need in web homescreen UI as well.
We added RevenueCat to our app recently and are using the react-native SDK. We have seen the warning “Could not determine price format because price string is incompatible” thousands of times from production users. The majority of instances seem to be in the UK, but we have also seen it in Australia, the United States, South Africa, and Canada. What does this mean? What is the user impact? Thanks,Jacob
Hi Revenuecat!Actually I have an issue with my setup . I get a grey screen while testing on my phone (android) . I wanted to know If someone can help? And do I should only one product per entitlement ?What I don’t understand is when I test on iPhone everything works (no grey screen )!
When using V1 API, when we GET the subscriber endpoint, information about purchased subscriptions is returned under the subscriptions object.original_purchase_date purchase_date store_transaction_idvalues are returned, is there a chance you can add original_transaction_id to these values? I think this is a serious need.
Hi everyone,This issue is still not resolved, and unfortunately I haven't received any response so far.Here is my previous question for context: According to the documentation, when a purchase or other important event happens, I should see some logs under the “View Detail” section of the integration, confirming that the AppsFlyer connection is working. However, even after successful trials or purchases, I see nothing under that section.As shown in the second screenshot, the AppsFlyer integration is active, yet the system still tells me to "connect your integration". So what could be the problem here?I’d sincerely appreciate it if someone could guide me on this. Thanks a lot!
Hi,We recently had a customer reach out and report that he can’t successfully complete a flow involving SCA (Strong Customer Authentication) making a purchase through the ios App Store. Specifically:“Each time, I click the necessary buttons, approve the payment through my bank, and then… nothing. The app simply returns to the “Unlock Deglaze Pro” page without any confirmation, and I remain on the free version.Then, several minutes later, I receive a message saying I didn’t approve the payment in time—even though I had already approved it immediately when prompted by my bank.” And then: I have tried all of the suggested methods and nothing works. I have even deleted the card from my phone and it still defaults to that card for payment.From what I can see the app isn't waiting from the response from the bank. As soon as I leave the app to authorise the payment in my banking app the Deglaze app switches back to the previous screen and then I get the payment wasn't authorised in time messa
I recently have met two problems with my app:1. I ran an the Experiment about my new purchase page design with two Offerings. And the result was pretty good, so I applied the new page design to all my users in the next app update. But after a few weeks I found the result differed greatly with the Experiment. It differed in the Conversion to Paying, Trial Conversion, Revenue…, which leads to a completely different conclusion.2.I became very confused, so I wanted to check the data with the filter of Offering. And I found no matter what offering I selected, all the data is 0.I wonder if there is anything wrong with the way I use Offering or what.
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.