Get help with webhooks, third-party integrations, and attribution providers.
Recently active
I installed Firebase extension and it worked in the past. Today, I found that firebase auth custom claims is not updated, which is likely due to fail in ext-firestore-revenuecat-purchases-handler function. So, I tried uninstall and re-install the extension, but unfortunately all the three methods below failed.Firebase console, Firebase CLI, Method described here, with project id updated in .firebaserc file. Also tried npm install, and removing node_modules and package-lock.json, npm install again.The main issue is: ext-firestore-revenuecat-purchases-handler function was not installed correctly. Below is the error message I got from Firebase console.Please advise.
The webhook notification will provide the transaction id. I could somehow fetch its details from a RevenueCat’s receipt end-point and match it against the webhook’s claims (since the request can be from anyone).Or it is an over-kill, and the shared Auth header should be sufficient?
Hi,I have some questions around the behavior of revenue cat with the stripe integration. With “track new purchases” will it always process new subscriptions even when the product id isn’t already defined in revenue cat? Additionally what are the behaviors for the other events when the product id or transaction id doesn’t exist on revenue cat?
Will there be / is there out-of-the-box support for teams using Apple’s Advanced Commerce API?Team’s with potential hundreds of different SKUs that sell as one-time purchases through the new API, what will that mean in terms of RevenueCat? Currently there are products, synced/imported from the stores, that unlock entitlements. Is the flow still going to be the same? Any resources on this available?
I’ve been trying all day to install the RevenueCat extension, but no luck. This is the error I’m getting:; RESOURCE_ERROR at /deployments/firebase-ext-firestore-revenuecat-purchases/resources/handler: {"ResourceType":"gcp-types/cloudfunctions-v1:projects.locations.functions","ResourceErrorCode":"400","ResourceErrorMessage":"Gen1 operation for function projects/f1-live-pulse-27147/locations/us-central1/functions/ext-firestore-revenuecat-purchases-handler failed: Build failed: npm error code EUSAGE\nnpm error\nnpm error `npm ci` can only install packages when your package.json and package-lock.json or npm-shrinkwrap.json are in sync. Please update your lock file with `npm install` before continuing.\nnpm error\nnpm error Invalid: lock file's long@5.2.3 does not satisfy long@5.2.4\nnpm error Invalid: lock file's long@5.2.3 does not satisfy long@5.2.4\nnpm error Invalid: lock file's long@5.2.3 does not satisfy long@5.2.4\nnpm error\nnpm error Clean install a project\nnpm error\nnpm error U
Hi Community, I wanted to know if I can use an African payment platforms like PayStack or Flutterwave with RevenueCat. I've only found tutorials that use Stripe which doesn't work here.Thank you.
Is IDFA really required for Revenuecat to communicate with Facebook, if so is there a way to not collect IDFA but still send the events to Facebook?I’ve seen several ¡posts on the forum about the Facebook Ads integration related to IDFA. Some say it’s required to send the event, and some say the event will be sent but without IDFA.Here are some of the posts: IDFA required: https://community.revenuecat.com/sdks-51/facebook-ads-integration-is-only-sending-events-from-android-app-not-ios-4501?postid=14416#post14416 9 months ago Might not be required: https://community.revenuecat.com/third-party-integrations-53/meta-ads-integration-send-events-without-idfa-4852?postid=15499#post15499 6 months ago IDFA not required: https://community.revenuecat.com/third-party-integrations-53/facebook-ads-integration-for-ios-14-5-for-users-who-do-not-accept-att-prompt-631?postid=1956#post1956 3 years agoMy question is, is that required now? It says it’s required in the docs, but on the forums, it’s not very
Hey, I am setting up Revenue Cat together with Superwall. I now created a custom purchase controller for superwall, according to their docs, that basically uses the RC SDK to handle purchases. I now want to identify users using our internal user UUID. The goal is that a subscription is tied to a user account and is active as soon as a user logs in on a new device. Do I have to login on Superwall AND RC? Or is Superwall enough and the information is passed on to RC?In Flutter code: // This?Superwall.shared.identify(user.id);await Purchases.logIn(user.id);Or just this?Superwall.shared.identify(user.id);Thanks!
The email:Hello,It looks like you’re still using version 4 of the Apple Search Ads Campaign Management API. After February 11, 2025, version 4 will no longer be operable.Move to version 5 of the Campaign Management API before the deadline to avoid any disruption to your campaigns and reporting.!--> I think this could be related to the Revenue Cat + Apple Search Ads integration. Do I need to do something on my end to use the v5 or this is already handled by RC?I'm using react-native-purchases v7.28.1Thanks!
Hi all, First post here, so apologies if it is a dumb question! I am using RevCat for my Thunkable (No Code) app. I have connected my Stripe account with RevCat and created an app. (Img below)When following documentation provided by RevCat/Thunkable (In-App Purchase Blocks (with RevenueCat) | Thunkable Docs), it says I should have an IOS and Android API key. However, I seem to only have one API key for the app, seen in the image. Why is this? Do i need an IOS/Android API key? How can I get one? Many thanks, :)
I have a flutter app which uses Revenuecat, and I wanted to also use Superwall for its paywalls. I have done the integration with the custom controller in the flutter app, and set up the integration in Revenuecats dashboard. The events are sent with no problem, but they are only being sent for one of the Superwall apps. So, in this case, I have used the Apple app server token, and the RC events are only received by the Superwall Apple app. When I have conversion of Android users, the RC billing events are not attributed correctly.It looks like the Superwall revenue tracking feature is done separately on each platform, with different API keys. But in revenuecat, the integration only allows for a single API token. Is there a way of overcoming this? Or is it a design flaw?
Hi, We have a subscription structure in Stripe that has one product and multiple SKUs inside that product with variations of subscription lengths/discounts/etc. Currently in the events data from RC we’re getting product id but we’re unable to attach the info about a particular SKU that was purchase at transaction level. We have decided to insert this info in the subscriber parameters but that’s not ideal for downstream analytics. Have anyone had a similar problem and found a way to pass that info with the transactional data?
Here’s how I combined RevenueCat subscriptions with usage-based credits without overcomplicating things (perfect for AI tools, AI wrappers API calls, or limiting features): Subscriptions via RevenueCat: Users pick weekly/monthly/yearly plans. RevenueCat handles Apple/Google payments. Credit Tracking in Firestore: We store credits in Firebase. Example: "Monthly plan = 1000 credits." Auto-Sync with Webhooks: When someone subscribes/cancels, Custom Written Revenuecat Webhook Handler in nextjs deployed on vercel extension updates Firestore. Credits auto-add/reset. Deduct Credits via Backend: Every API call from ios app hits our backend → checks Firestore → subtracts credits. IOS App: Firebase Auth and Reveneucat login with firebase userID Backend 1: Communicatig with 3rd party services, spends credits from user’s firestore record. Backend 2: Webhook handler for revenuecat, add credits to user accounts on new subscriptions, resets and adds new credits on renewal etc. I wrote all handl
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 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.
How to map UTM parameters?utm_campaign → $campaignutm_source → $mediaSourceutm_medium → ???utm_term → $keyword
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
We recently upgraded to Adjust SDK V5, but since the update, the Adjust dashboard isn't displaying any RevenueCat events. In RevenueCat, I can see that Adjust events are being triggered under the integration section, but these events are not appearing in the Adjust report dashboard.
Hi, We have two stripe flows we want to support, one via web onboarding and one via winback. We would love to be able to split out these sources in revenue cat charts, but use the same stripe account to manage both. In one case, we are working with a third party to support stripe payments and they have set the app user id in metadata in a custom field. We would like to set our field to a different metadata property “app_user_id” and “partner_app_user_id”. Is it possible to route some webhooks to one revenue cat endpoint and others to another? Best, Jake
I’ve integrated Firebase with RevenueCat and can see RevenueCat’s analytics events, including rc_trial_start, in Firebase. However, when I import these events into Google Ads as conversion events, no data appears.I’ve been running a Google iOS campaign and want to track rc_trial_start as a conversion event. Despite users starting a free trial from the campaign (validated through SKAdNetwork), the conversion count for this event remains at zero in Google Ads.Here’s what I’ve already checked:rc_trial_start is visible in Firebase and marked as a conversion event. Firebase is properly linked with Google Ads. The campaign is successfully tracking SKAdNetwork events.Has anyone experienced a similar issue or have insights into what might be causing this problem? Any suggestions or guidance would be greatly appreciated.
My goal is to - Accurately track subscriptions generated from Facebook Ad campaigns, allowing you to know precisely how much revenue your campaigns generate. But, I want to avoid RevenueCat from interfacing my Facebook Ad related data. Hence, I want to avoid - Send trial starts, trial conversions, and renewals directly from RevenueCat to Facebook Ads Manager, allowing for accurate tracking without an app open. I read on :https://www.revenuecat.com/docs/integrations/attribution/facebook-ads#3-send-revenuecat-events-into-facebook-ads-manager I have performed steps1. Install Facebook SDK2. Send device data to RevenueCat I SKIP steps# Track Install and Usage Events ( https://www.revenuecat.com/docs/integrations/attribution/facebook-ads#track-install-and-usage-events ) - Skip3. Send RevenueCat events into Facebook Ads Manager (I input the “App ID”, but I leave “Client Token” empty)4. Testing the Facebook Ads Manager integration - Skip5. View Events in Facebook - Skip By doing so, can I stil
Great job on getting API V2 to work RC team! 😻 I confirmed that the endpoints I wanted to use (e.g. /subscriptions) are working as intended and sharing more helpful info than V1.I was wondering if there is any chance to add a add an endpoint to get the list of all payments (i.e. activities) of a customer? Currently, it’s shown in the dashboard under Customer History box.Checking on the Network tab of my browser, it seems like the data is coming from api.revenuecat.com/internal/v1/developers/me/projects/:project_id/subscribers/:customer_id/activity which is an internal endpoint. So, the data and the formatting is there–It’s just a matter of exposing it as the external API.Is there any chance that it will happen anytime soon? Is this against the rules and Terms of Service to call that internal endpoint programmatically (and occasionally) to get the data for our own internal dashboard?Thanks,--Aideen.
I’ve got my app correctly wired to provide ASA campaign and ad group info to RevenueCat. I would like to get access to this info for my own deeper analysis. Is this possible? Thanks,G
Hello, I have issue with i guess “Price String” from RevenueCat in my app(Android, iOS), this happens only once when app is intalled on a new device, when user tries to Subscribe the screen is getting grey, then user needs to restart the app and after the screen appears well. Why is that?
Hi, I am trying to connect revenuecat with Android app but waiting for credential approval more than 10 days. Should I do anything else than waiting? It says the approval comes usually in 36 hours. Thanks! https://www.revenuecat.com/docs/service-credentials/creating-play-service-credentials
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.