Discussion and help from anything related to RevenueCat.
Recently active
Redemption links are a great step towards gift subscriptions. All that would be necessary is the ability to add a gift recipient email, and possibly the time the gift email should be sent.
Hey everyone,I was reading through this closed thread about tracking revenue by specific Apple Search Ads keywords.Like many of you, I had the same problem. RevenueCat shows Campaign/AdGroup level data, but without keyword-level visibility it's impossible to see which specific keywords are actually driving conversions vs. just burning cash - unless you pay $5k+ for an enterprise MMP.I ended up building something called AppSkale that connects your ASA data with RevenueCat so you can see exactly which keywords are generating revenue and which ones aren't.Just wanted to drop this here in case anyone from the old thread is still stuck on this. Hope it helps!
Hi! I’m using Paywall Builder to design my app’s paywall and recently added a video component for the first time. When I open the paywall in the app, the video starts playing, but after a few seconds the entire video area goes dark.If I close and re-open the paywall, the video then plays normally in a loop with no issues.Has anyone experienced this before, or know what might be causing the video to go dark on the first load? Any guidance would be appreciated!I use the following template paywall:
I made my paywall from a template and it worked normally in my expo dev build on my phone. I was tweaking it little by little and publishing changes while checking the disign updates on my phone. But after making the last edit i cant publish the paywall, It says Paywall valifation error but i bare changed anything big. i only changed some font, border sizings and maybe some colors. It doesnt even show where the errors are. Ichecked every component and everything is fine. I also tried duplicating the paywall and now it gives me an Internal server error. Has anyone ever encountered this?
Running into two issues hereWhen I have an image in the paywall body (in a ZStack with my close button in this case) and my paywall content in the footer, I believe the footer content should draw on top of the image, this is also what the paywall editor shows. When I run this paywall though, I see the footer strictly not overlap with the image. The image instead seems to be pushed upwards. Interestingly the overlay gradient is also not visible in this case When I have the image instead as the background of the Paywall itself, it is vertically centered on android devices, even though I expect it to be at the top. The paywall editor and iOS paywall both show the image at the top of the screen as I expect.Please see screenshots below. This issue is making paywalls unusable for us which is quite frustrating Issue #1 -- paywall editor shows footer drawn on top of the image as expectedIssue #1 -- android paywall footer seems to push image upwards Issue #2 -- paywall editor showing background
when i am adding a sale countdown timer then if i set the target date then i am getting error paywall validation failed.
I’m creating a paywall using template and when trying to assign offering in the general settings of the paywall only (default and test_offer) are available. I’ve assigned a paywall before but now when trying to assign new one I can’t do it. I’ve connected products with google play subscriptions.And I’ve enabled APIs and Permissions.purchases_flutter: ^9.10.1
It seems that API v2 has been in development for a while, but I only just discovered its existence yesterday. I have 2 questions:What’s the best way to follow progress on its development? I don’t see any sort of CHANGELOG in the docs, or any blog posts about it. As I’ve started playing with the API, I have feedback, ex: missing expandables. What’s the best way to provide feedback about it?
I’m using the “Badge” feature on packages, but it’s being cut-off as shown above. On the paywall editor it’s not showing this of course. I’m using React Native (only tested on iOS)
duplicate paywall to this project does not work, it gives a internal server error.
Hello community,I have created a web paywall to redirect users from my ios app to web purchase like. The issue is it doesn’t show when I have web billing products in the offering and when I add an apple product the paywall shows with the paywall in the app with apple product information and when I navigate to the web purchase page it shows the web billing product as intended. My goal is to get rid of apple product here while keeping the paywall working. I’m not sure what I’m missing here.Thanks
Hi I am having a bug in the paywall maker.Basically the Icon doesn’t change color when the other package is selected.Instead the other Icon stays selected. No idea why or how to debug.The package itself changes but not from the perspective of the user
Hi, can we please have the Telegram notification similar to Slack/Discord integration. Thanks.
I was testing plan upgrade on iOS in sandbox, and there seems to be inconsistent results from revenueCat log and delegate call.I was subscribed to plan_casual then purchasing plan_pro.After successful purchase, I can see in the console log that plan B is purchased “INFO: 😻💰 Purchased product - 'plan_pro'The delegate purchases(_ purchases: Purchases, receivedUpdated customerInfo: CustomerInfo) got called immediately after, however with product identifier plan_casual.After about 1 minute, storekit payment queue got update with the correct product id “Plan_pro”, then in about another 5 seconds, revenueCat delegate got called with product id “plan_pro”.
Hi, I was doing a size analysis of my app, and it looks like the Flutter SDKs are around 10 MB each, which seems a bit much. Can someone on the RevenueCat team look into this? From `flutter build ipa --release --analyze-size` RevenueCatUI.framework 10 MB RevenueCat.framework 10 MB
I want to confirm: in RevenueCat webhook events, is app_user_id guaranteed to be included in the aliases array? Same question for original_app_user_id.For this scenario:Fresh install, new $RCAnonymousID:123 created, app_user_id = $RCAnonymousID:123 User taps restore (no logIn() call in this session) RevenueCat merges a previously known ID with this new anonymous ID. The previous ID could be either $RCAnonymousID:567 or john123 (set via logIn() in a prior session on another device).At the time the webhook event fires:Is app_user_id the previous ID ($RCAnonymousID:567 or john123)? Does aliases contain both the previous ID and the new $RCAnonymousID:123?I'm pretty sure, but want 100% confirmation.
After renewal of my Apple Developer Membership my paywall stopped showing the products. There was an issue with the membership which led to my app being delisted from App Store for a couple of days. After contacting the support and fixing the issue, the paywall stopped working in production.In the logs I see:ERROR: 🍎‼️ Error fetching offerings - The operation couldn’t be completed. (RevenueCat.OfferingsManager.Error error 1.)There's a problem with your configuration. None of the products registered in the RevenueCat dashboard could be fetched from App Store Connect (or the StoreKit Configuration file if one is being used). More information: https://rev.cat/why-are-offerings-emptyERROR: 😿‼️ There is an issue with your configuration. Check the underlying error for more details. There's a problem with your configuration. None of the products registered in the RevenueCat dashboard could be fetched from App Store Connect (or the StoreKit Configuration file if one is being used). More info
If I log in then relaunch the app so the RevenueCat SDK initializes with the appUserId populated, the paywalls launch perfectly.If I log out, paywalls are displayed. If I then log back into the same appUserId (or any other), paywalls aren’t displayed.If I launch the app logged out, paywalls are displayed. If I then log in (to the same appUserId), paywalls aren’t displayed.The call to `offerings.currentOffering(forPlacement: “placement_id”)` does return an offering in all cases.The following is executed in all cases, with a non-nil offering:``` Group { PaywallView(offering: offering, displayCloseButton: true) } .onRestoreCompleted { customerInfo in ...```Any ideas what might be preventing the paywalls from rendering?
Hello,I am using RevenueCat Paywalls for Google Play Subscriptions in my App. I can successfully set up and start trial periods in my Paywall, but the price displayed for introductory offers is still the standard price, not the price after conclusion of the trial (which is discounted by X% in my case).In the Paywall editor, using Text field for an introductory offer with {{ product.price }} shows the default price and {{ product.offer_price }} simply shows “free”, not the discounted price after the trial period. ( {{ product.secondary_offer_price }} doesn’t show anything, but I think that’s because I only have one intro offer active )The goal is to show something like “{{ discounted price }} for {{ discounted period }} then {{regular price}} {{period}}}”. How can I achieve this?I am using the latest SDK inside Dart/Flutter.
Is there a way to see the number of times a paywall was shown? Maybe I’m missing something, but I’m totally unable to find this in the dashboard or docs. It seems like a very basic, very important feature to offer.If not, I suppose the intent is to use our own analytics to track paywall shows. In that case, is there any way to determine WHICH paywall was actually shown when using PaywallView with Targeting and Experiments?In the app I’m working on now, we have some targeting rules that show a discount to certain active users who haven’t upgraded, and so we need to know from the RC side which paywall was selected since it is running that targeting.
I’m doing my paywall designs on figma, they are working perfectly with auto-layout on figma. When I export it to Revenue cat with your plugin it doesn’t keep the responsiveness. Some elements look weird (fill is not doing fill in some cases).Another issue that I see is this message: fill disabled: parent's height is set to "fit" . But there’s no parent, and this is done with the propertie fill selected on figma, so should be fill selected on RevenueCat also.How can I fix this?I’ve watched your videoshttps://www.revenuecat.com/blog/engineering/revenuecat-figma-plugin/
I am able to display paywall that looks the same as the paywall on my ios app. But there is no way to close it. on the revenue cat console I can see that a close button is on the right top corner, but on web I do not see it
I’m trying to display a crossed-out “full price” on our paywall to frame a discount on our checkout abandonment paywall. I was able to achieve this by adding a second package that shows the full price with a strikethrough.However, the issue is that tapping this crossed-out price selects it as the active product, which means users could accidentally try to purchase the wrong package when they press the subscribe button.Is there any solution other than hardcoding the text?Hardcoding the full price is not ideal since we support multiple currencies and pricing varies per storefront.For example:Is there a way to display a package purely as informational — like the full price with strikethrough — but make it non-selectable so users can’t tap it?Any workaround or recommended approach would be hugely appreciated. Thanks!Example of the full price with a strikethrough would be the 399,00kr in the image below:
Based on the docs of a web billing paywall + custom success page, it looks like the app_user_id URL param is automatically appended. However, I am not seeing this when testing...the sandbox URL maybe does not know the different of environments, so the ID does not get passed back to complete the test? Is this an issue because I am using a custom paywall also? I am now nervous to launch my renewal subscription to 2k users. I tested on production too, with the same outcome. How can I get the app_user_id?
We’re using Placements for multiple areas in our app, to call different offerings that accord with the placements. And now we’re trying to run experiment for one of the placements, say “onboarding”. When setting the experiment up, I see “All other cases” section, which says :The selected offerings will be the ones delivered:For any placements other than the one(s) aboveFor any new placements added in the future when getting the 'current' offering without using placements Now I’m concerned if this experiment overrides the Targeting(Placements) I set up, other than onboarding.I want the experiment to only affect “onboarding” placements, not the other ones. But in the console it seems like I have to set variants to all other placements, too, and the experiment overrides all my placement settings. Could you please explain how this works? Will the experiment settings specific to one placement affect all other placements, too?
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.