Get help with charts, customer timelines, and anything related to the RevenueCat dashboard.
Recently active
Hi RevenueCat team, I wanted to share an issue we’ve encountered with experiments and get your guidance on it. Summary We’re testing A/B experiments with our app and noticed that RevenueCat only seems to treat users as “new” (for experiment enrollment) if their original app user ID is in the $RCAnonymousID:xxxxxx format. In our setup, we intentionally avoid using anonymous IDs because they cause issues with subscription transfers, generate transfer events we can’t handle, and make it harder to link subscriptions to known user accounts. Instead, we always create new users with explicit original IDs (for example: {appName}_prod.2283035). Steps to reproduce 1️⃣ Launch the app and configure RevenueCat directly with a custom user ID (e.g., an internal user ID format) as the initial app user ID, without first creating an anonymous user.2️⃣ Observe that experiment variants are not shown in the current offering as expected. ✅ Note: If you start by using an anonymous user (default behavior) an
There are ‘price_per_period’ options for original & 1st offer price,but not for secondary offer. It is really needed, because I set my offerings in Google Play like this:7-day Free Trial (1st offer) 1st Year 50% discount (2nd offer) And then original price In this case, 1st offer price is of course Free ($0), which is unnecessary.But for 2nd offer, there’s no variable for ‘price_per_month’, so the price in blue rectangle could not be presented with 2nd offer's ‘price_per_month’ price normally. Please fix this issue and implement the new variables as soon as possible.Thanks.
Hello, is there a way i can save my own paywalls as a template that I can use across multiple apps. i'm not talking about default paywalls. But a paywall that i made myself. Thank you
I’m looking to test my webhook implementation but I don’t seem to be able to find a way to do it?Stripe has tools that let you proxy the webhook to a local server running, which is great. Iterating faster and fixing small issues and testing edge cases with a deployed web server isn’t really feasible imo for developing payment integrations.Does RC not support anything similar? Do I need to to setup something like ngrok myself to do this?
Is there a way to filter out specific product from the revenue chart? Basically I want to see the revenue from all my projects and products excluding only product x.
Tbh im super super paywall editor won't support centering vertically and surprised example paywalls are basically hardcoded heights and won't look good when switched to tablet screen preview. The paywall editor is lacking option to centre element in available screen height. Take any example of the paywall, switch to tablet screen preview and you'll see everything anchored to top of the screen instead centred vertically to take full available screen height...Reproduce easily: create empty paywall → add features element and try to center it vertically in available space - theres no way to do it as element spacing cannot be set to fill height because “can't fill width - parent element set to Fit”. But parent element is simply paywall element without option to adjust this setting. Setting height to pixels. Without feature of entering element in available space its not possible to build properly reactive UI adapting to different screen heights
In my app I sell subscription and consumable in-app purchase packages. In the app my default offer includes subscription packages. I’m fetching my in-app purchase packages with hardcoded offer id like “default_credit_offer” and I want to make experiments for default_credit_offer but I haven’t found the solution for that issue can you help me for that. Is revenue cat support this situation?
It’s kinda of a joke to me that I can’t put the charts in my timezone. Image that I want to compare my Ad Spend in Google Ads, to acquired users in RevenueCat for a particular day. Since Google Ads has the engineering talent to put charts in my timezone, it becomes rather difficult to compare it to RevenueCat charts that can only handle UTC.
Hi, stepped away from this particular app I’m working on and just got back to it again. I’m still having difficulties getting the new paywall to show in the app. I had posted a question sometime ago but didn't get to try the proffered suggestions earlier as I stepped away from the app. when I try to duplicate or create a new offering, and attach the newly created paywall to it, it still displays with errors.how do I detach the current V1 paywall from the offerings?@guilherme
Since I already have subscription products in App Store trying to use the feature “Import Products automatically” but all I get is an error message “App with bundle id xxxxx.xxx.xxx was not found in the store.”. The support seems busy based on their message so I decided to post here.
While using RevenueCat’s PaywallView (PaywallV2), I’ve noticed that some UI customizations do not reflect on the live preview or actual device.For example: Changes to a text component (e.g., color, content) don’t persist or appear on screen. Similar issues occur with other component edits — it’s as if certain elements are locked or cached Any insights would be appreciated!
I have a moderately complex paywall with tabbed panel showing subs vs lifetime.Just to save my lazy ass some time, was looking to see if you have some kind of conversion option but I cannot see one. Is this likely to happen by September 2025?I’m concentrating on adding features and rolling out a Mac (SwiftUI) version, for which I have to code my own paywall anyway, so it’s not a priority. I’m pretty happy with the existing paywall.
Hello, In my app I sell subscription and consumable in-app purchase packages. In the app my default offer includes subscription packages. I’m fetching my in-app purchase packages with hardcoded offer id like “default_credit_offer” and I want to make experiments for default_credit_offer but I haven’t found the solution for that issue can you help me for that. Is revenue cat support this situation?
Hello, where are the API keys? In the docs says it's under "project settings" but there's no tab or anything with API keys there. I created the project, and confirmed under the "project settings” > “collaborators" that I've the "Owner" role. I also verified my email. I also signed out and in again. Still nothing with API keys. Thanks.
Hi, I’m considering reworking my onboarding. However, I might delay that if RC is going to release remotely configurable and AB-testable onboarding as a new feature in the near future. I understand that’s private info and even if you’re planning on it, the timing might be hard to predict. But can you give me any sort of rough estimate as to if/when you might do this? Also, if/when you do release this, will I be able to implement basic logic (e.g. if select these goals, show them this page, but if select those goals, show them that page). Any info you have on functionality would be much appreciated! Thanks, Toby
I've been trying to update the text in Paywall V2, but the editor doesn’t work in any of the browsers I’ve tested. I’ve tried Chrome, Safari, Firefox, Brave, and Arc — the issue persists across all of them. I'm unable to edit the text or styles at all.Even when I duplicate components, they appear on the paywall, but I still can't modify the styles or label text.Can someone help me with this? I need to update my paywall content.
I’m attempting to use Postman to get test data back to incorporate into my server.As a test, I ran this as a GEThttps://api.revenuecat.com/v2/projects/{project_id}/customers/{customer_id}Replacing {project_id} with my project id from general → project idAnd using a customer_id from the overview dashboard.Setting the header as show using the secret API key generated via API Keys → Secret Api Key → NewHowever I receive this error: How can this be resolved.Thanks
I see transactions in overview:But no customers in sandbox list
I have set $phoneNumber attribute in react-native-purchases. - Purchases.setAttributes({ onBoardingTypePurchase: 'default_onboard', $phoneNumber: '1_new',});$phoneNumber not showing this attribute in revenue cat dashboard
For some reason the old setup I had months ago still persists and nothing I do gets rid of it. I can’t see the latest version only of the features.For some reason, these ones update immediately:The main content Packages Call to action Footer links Close buttonHowever, the features do not update no matter what.This is what I’ve tried:Getting the latest flutter sdk, current version in pubspect.yaml is `^3.7.0` Getting the latest versions of purchases_flutter and purchases_ui_flutter Cleaning the build folder and running the app again Clearing the apps cache, storage and uninstalling the app. Publishing a release build to the internal test track and installing it on google play console.I’ve attached screenshots of the device and the preview in the dashboard for side by side comparisons. I don’t know what else to do and it’s been frustrating me for months. Minor nitpick: It is such a pain to scroll down on the Paywall editor to see the entire preview on the right.
purchases_flutter: ^8.10.0purchases_ui_flutter: ^8.10.0 If a user is on Android is not logged into their Google account, the paywall shows “Error 2: There was a problem with the store”. This pop-up blocks interactions and the ok button does not work. Furthermore there is no way to customize this message for example to say “Please login to your Google account”.On top of this, the Paywall does not have a good cache invalidate method, its often updated in the Rev Cat UI, and no updates show up for hours on App? Additionally the Paywall edit screen is buggy, changing text inside the ReveneuCat dashboard is often not reflected in the preview, even days later.
Whenever I need to upgrade the minimum iOS requirements of my app, I wonder: “how many subscribed users will I lose?”, and “how many users who purchased a lifetime license no longer receive updates?” It would be great if RevenueCat had a chart for that. One that looks at the maximum supported iOS version per user. For example, I may have two users, Alice on an iPhone 7 and Bob on an iPhone 8. Both are running iOS 15. When I bump the minimum version of my app to iOS 16, Alice can’t ugprade to iOS 16, so I’ll lose her, whereas Bob on his iPhone 8 still can, so the chart should not show him as a user I’d lose.
The Paywall Editor seems to have a bug right now where I can’t re-arrange elements by dragging the handle of the element on the left side. Is there any workaround to move things around?
While preparing my app for publishing on Google Play, I noticed that the Play Console requires paywalls to clearly display information about subscription auto-renewal and how users can manage or cancel their subscription.However, I couldn’t find any fields in the RevenueCat Paywall UI editor to add this required information directly. I want to make sure my app is compliant and avoid potential rejection.Would adding this info in the “Footer Link” > Terms of Service URL be sufficient for Play Console reviewers?Or is there another recommended way to include this content in the paywall?Here is my paywall UI; Also, one small extra question:On my paywall, the monthly subscription option shows a "%37 off" label.Is this calculated automatically by RevenueCat? If so, is there a way to disable or hide that label?
One frustrating feature of RC is the bad user-experience with dev/prod projects and thus the dashboard.I think Clerk does this very well, allowing a single project with a dev/prod instance (picture 1). This makes things very easy to flip between the two, isolates sandbox data vs real data, and allows very clear separate API keys, management, etc. Example - Lets assume I have a very active project, post launch perhaps:If I wanted to test adding a new type of webhook for the firebase extension, without the risk of blowing up my firebase functions quota, I’d need to set up an entirely separate RC project, duplicate all the settings over (which is equally a painful process right now), update my local application with new API / public keys, just to test the addition of a single webhook event. I would *LOVE* to see a unified unified approach that really separated the environments, and the intent behind the data. I don’t believe the sandbox toggle is sufficient - here’s a RC example:The first
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.