Discussion and help from anything related to RevenueCat.
Recently active
I’m trying to understand the new refund request functionality that RevenueCat provides, as announced here: https://revenuecat.releasenotes.io/release/yTKyk-we-now-handle-apple-refund-requests-automatically. My question is around the reporting of consumption. The article states:The degree to which a customer consumed an in-app purchase (for example, someone six months into an annual subscription would have consumed that for 50%) Is this the only mechanism RevenueCat implements for reporting consumption to Apple — calculating the fraction of a subscription that has elapsed? It seems that Apple would already trivially be able to calculate that from their records given the time of the refund request? My app delivers user credit for both consumable IAPs, and over time for auto-renewing subscriptions. Usage of these credits costs me real money, so I’m certainly concerned about how much has been consumed at the time of a refund. Does RevenueCat have any solution for reporting metered usage s
Currently the firebase integration sends both trial conversions and renewals as the same event to firebase (purchase), and this is a problem when it comes to running google ads. In google ads, we wish to see how many trials converted from a campaign, but since this isn’t a separate event, renewals and trial conversions are combined and its not possible to see the number of new paying subscribers that we obtained by a google ads campaign. Can RevenueCat please add the ability to also send the the trial converted event as rc_trial_converted ? This would be a great help. Below is the current Firebase event mapping. Currently trial conversions are mapped to ‘purchase’.
I just got my first app approved in the App Store (thank you RevenueCat for all your help with this!) My goal is a subscription-based model: people should subscribe for $4.99/month with a six month free introductory period. I set that up in App Store Connect and it looks right: But in the App Store, it shows up with a price of $4.99, not as a subscription: Upon further inspection, I see that on the “Pricing and Availability” page, I set a price for the app of $4.99: At the bottom of this screen, there is a “remove app from sale” link. But I think that removes it from the App store entirely?I now notice that I can also change the price from $4.99 to $0.00. Is that the right way to go?Thanks for your help. I am navigating this stuff for the first time and it is confusing to me.
I’ve seen several postings here saying that failure to save a paywall template is due to not filling out all the fields. I have checked and double checked and somehow cannot find the missing empty field that is apparently causing the dreaded yellow “There are validation errors that need to be fixed before submitting”. I attach screen shots of each section. What am I failing to see? Thanks so much.
Does RevenueCat support React native for web ?I do not see a guide on how to implement it. I testedPurchases.configure({ apiKey: process.env.STRIPE_API_KEY, })and I get a Cannot read properties of undefined (reading 'setupPurchases')
I have done everything mentioned in this documentationhttps://www.revenuecat.com/docs/integrations/attribution/facebook-ads#4-testing-the-facebook-ads-manager-integrationHowever, during sandbox testing, after perform a subscription, this is what I am getting from RevenueCat I re-check my facebook integration again. They look fine to me In the above setup, my Sandbox App ID is same as App ID. I obtain App ID from Facebook.Also, my Sandbox Client Token, is same as Client Token.Is this a correct setup?In this project, I have enabled both Facebook and Apple AdsI am not sure why RevenueCat says “You have no integration enabled”Can RevenueCat customer support help me on this? Thanks.
User events in the dashboardWhy is this user and one like it shown with status Expired in the Customers tab in Dashboard? I got a successful renewal event from the conversion, no expiration event was received nor sent according to logs, this is what the user history shows, yet I see these two with the status “expired” … ?
Hi, We are trying to use SKAdNetwork to track trial starts and trial conversions via Branch. While working with Branch customer support, they suggested we track these natively via BranchEvents so that the events would be captured by SKAN. This is easy for trial starts since we get a callback on device when the trial starts. However, for trial conversions, we need to do this client side as well to have them registered via SKAN. Is there an easy way to do this? One way I thought about doing this would be to set up `addPurchaserInfoUpdateListener` in the app and an async storage valuue to set this listener until if fires and then check if the user info changes to subscribed or cancelled. This seems a little convoluted though so I wanted to see if there was an easier way. As an aside, the Branch docs should probably be updated with a note around SKAdNetwork as we spent a lot of time trying to debug why we were getting no attribution data and it was because the events were coming server sid
Hello,I have tested subscriptions using RC and verified that the transactions appear in the Sandbox. Now I want to test purchasing In App Products from Google Play. I have set up the products in play console and configured the products and offerings in RC as well. I was able to use the RC API to make the purchase using Test Card from my app but the transactions don’t show up in the Sandbox. Is there a different place where non-subscription transactions are stored?
İ have new app on play store with subs from revenuecat. İ have so much rejected, declined and canceled payments. İ tried be sub on my app with phone via test card its not problem, i tried with real card with real money its no problem but there others have a problem i think or i just made it up. So you think my subs is working completely reason of my testing or is there a problem?
How to map UTM parameters?utm_campaign → $campaignutm_source → $mediaSourceutm_medium → ???utm_term → $keyword
So I’m currently trying to implement revenuecat into a swiftui app. This is my first foray into swiftui and I haven’t really done any swift in years either so the lifecycle events are confusing me.I’ve successfully implemented the revenuecat SDK and in my “app” class I have a “Stream” setup to listen to events like so. My model is quite simple just those 2 properties and a computed property of isUnlocked that looks for an active entitlement. AppView().environmentObject(self.revenueCatCustomerData) .task { // Listens to AsyncSequence for customer info updates for await customerInfo in Purchases.shared.customerInfoStream { self.revenueCatCustomerData.customerInfo = customerInfo self.revenueCatCustomerData.appUserID = Purchases.shared.appUserID } }I also make use of the paywall feature. However whenever I open my app, the paywall
Here in Europe, some banks are requesting a 2nd step verification to confirm a purchase (especially if it’s the first time the user order something with its Google Play account)This verification is made thanks to the customer’s bank app.The process is the following : when going through the process to purchase something (a subscription in my case), before the purchase is validated and before the Google Play bottom dialog is closed, the user’s phone receive a notification from its bank account to confirm the transaction,BUT sliding the top bar to see the notifications and tap on the one coming from the bank app IS CLOSING the Google Play bottom dialog.Then validating the transaction didn’t transform the purchase from a “pending” state to a “purchased” state.How do I have to handle this case??Thanks!
Hi RevenueCat,I'm new to using RevenueCat and have a few questions regarding my subscription setup and testing process.I have two monthly subscriptions set up in my Google Play Console:Standard – Monthly with a 7-day free trial Professional – Monthly (no trial)I've imported these products into RevenueCat and attached them to entitlements. I created an offering with both products and added them as packages.For the Professional package, I selected "Monthly," but for the Standard package (which includes the free trial), I couldn't select "Monthly," so I used the "Custom" option instead. For the paywall, I used Template 7 - Siamese Content. My questions: Am I setting this up correctly, or should I be using a different approach to configure the free trial? How can I properly test the subscription, especially the 7-day free trial, and ensure the introductory offer is displayed correctly on my paywall? Any recommendations or best practices to ensure a smooth setup would be greatly appreci
I would like to ask if its possible to use the StoreKit transaction observer while having the RevenueCat installed. I know that RevenueCat exposes this observer in the shape of of a delegate or a `AsyncStream` but due to the abstraction layer doesn’t return some of the data (transaction id) we require. Currently, we are planning on just using the StoreKit transaction observer to read the transaction id and send it to the backend and have the RevenueCat process the transaction and finish it. Will the transaction observer still work with StoreKit? What are the best practices? Any issues I should be aware of. Thanks
Hi team,Does purchasing a consumable (or any non-subscription) Product effectively trigger all purchases to be restored/synced?Example scenario:1. I subscribe to a paid tier in an app2. I sign out and log in as a separate user3. I purchase a consumable e.g. gems4. `CustomerInfo` contains the entitlements from step/user 1Just checking if this is expected behaviour i.e. purchasing a product causing all previous purchases being synced even if we have not called `syncPurchases` or `restorePurchases` explicitly.Thanks in advance!
Hej -- so I’ve read several topics here about the best way to increase pricing of existing subscriptions in both iOS and Android, and wanted to make sure if I got this right, because it all feels very complicated for what should be a very common use case.Let’s say we want to increase price from 1.99 to 2.99 for a monthly subscription, and 19.99 to 29.99 for a yearly subscription, both in the same “Subscription Group” in iOS, and in the same “Subscription” in Android.We want to grandfather existing users; so ideally everybody paying 1.99 right now, will keep paying that amount until they cancel, and will still be able to upgrade to the 19.99 yearly subscription.There seem to be two strategies:Option 1:Increase the price of the existing plans in the App Store and Google Play, choosing to keep the existing customers at the same price.Pro:The “official” way -- easy to later let people opt-in / transition to the price change. Keeps the subscription groups simple. Offers etc still apply to t
I get the error in the title when I run the followingawait Purchases.purchaseProduct(product.identifier);I have verified that the Product Id is the same as the one in App Store Connect.Bank account and taxes are already set up.What is the problem and how do I fix it?
ionic capacitor Hello, I am having a peculiar issue. First of, I do configure revenue cat right of the bat with user guid as appUserIdPurchases.configure({ apiKey: revenueCatApiKey, appUserID: userStore.tokenData.user_guid, observerMode: false, })then, before even finishing the purchase I do all the sync verification stuff to make sure the user guis is being used async purchasePackage() { const success = await this.syncRevenueCatUserId() if (!success) { this.status = revenueCatStates.FAILURE return } const response = await this.orderStore.purchaseOffering() this.status = response.state if (this.stateHalfSuccessful) await this.checkIfBackendSynced(response.paymentId) }, async syncRevenueCatUserId() { // Attach email as a subscriber attribute if (this.user.email) { await Purchases.setEmail({ email: this.user.email })
Hello,I would like to create a store system in Unity using RevenueCat. However, I couldn’t find exactly what I’m looking for in the documentation. My goal is to integrate RevenueCat into a game where I sell only consumable or non-consumable items, without including subscriptions or offers.Could you provide guidance or point me in the right direction to achieve this?Thank you!
Someone could help me to make a test purchase, please? me with the test ? i think a have all connected and configurated between
Hi we recently set up stripe to handle web billing and set up server notifications as described in these docs (https://www.revenuecat.com/docs/web/stripe). However, on every purchase there is a billing issue, but I don’t see one when I look at the stripe webhook logs. Is there information that may be sent from stripe leading to us experiencing these billing errors?On each purchase the following three webhooks are fired: customer.subscription.created customer.subscription.updated invoice.updated
I’m wanting to offer a non-renewing consumable unlock system for premium features in my app similar to Due and Working Copy. All features currently release and features for the next twelve months from the purchase date are unlocked. I read this thread which is similar to what I’m wanting to do: Because I’m wanting to do this as a consumable I know I will need to track the original purchase date of the consumable to ensure its not repurchased later. My main concern is related to restored purchases if the app is removed and downloaded again. I noticed in the support documentation this requires me to use a custom app user ID. My app does not have a login system but I noticed neither does Working Copy. I’m wondering if there’s a way to create this kind of custom app user ID, send it to RevenueCat and track it somehow without creating a login system?
Can I create paywalls targeted by acquisition channel and tied to specific offerings.For example, I want the subscription price for my paid traffic to be $30 and for organic $20
Went to transfer a subscription and I’m not seeing the button on the dashboard anymore. I checked some other customers and don’t see it there either. Did this get removed? Or is there something about this specific customer that might cause it to not show?
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.