Get help with webhooks, third-party integrations, and attribution providers.
Recently active
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
Hello, I’m trying to connect RevenueCat → FireBase integration and I have several errors and no understanding When I use LogIn(Firebase Analytics ID), I have an error: Invalid API Key., readable_error_code: INVALID_CREDENTIALS, message: There was a credentials issue I just skipped this step and just connect Firebase ID: FirebaseAnalytics analytics = FirebaseAnalytics.instance; purchases.Purchases.setFirebaseAppInstanceId(instanceID); But then I receive events from RC only from Android, no ios So possible it’s a some bug with a Flutter for Firebase integration. I haven’t found a solution The next problem is that RC events to Firebase is “purchase” for Cancelation, Purchase, Error etc. But how to understand if the user bought a Lifetime subscription? Yes, I can get rc_trial_start event for Trials, but how to get it for just purchases? I can’t use it for Google Ads for example Would love to receive a help!
Hi, I recently moved away from Stripe on the web, the main reason being that Stripe is not a merchant of record. I think Lemon Squeezy is the most popular alternative that is a merchant of record.Are there any plans of adding support for Lemon Squeezy as a payment alternative for the web?
Here is the situation I’d like help with:User is on iOS 14.5+ User does NOT accept ATT prompt - i.e. IDFA is not provided. The goal: Run facebook ads to maximize the number of purchasing users or to maximize the value of users subscribing to the app.If the user does not accept the ATT prompt, in that case facebook uses Apple’s SKAdnetwork for attribution.Does the Facebook Ads Integration in Revenuecat work for users who do not accept the ATT prompt - i.e. will Facebook be able to attribute purchase events to the correct campaign? I don’t think this would work, since I believe SKAdnetwork only works with local events in the app, not server to server events such as this Facebook Ads Integration. I believe that in order to be able to optimize Facebook ads for this use case, we need to track the events we want to optimize for (i.e. start trial / purchase events) locally in the app, then correctly configure the conversion values for SKAdnetwork and not send server to server events such as v
Revenuecat and Facebook ads integration seems to be working properly, events manager is collecting data for trial and subscribe events. However when targeting Subscribe event in a campaign (IOS 14.5+) the results are showing low to 0 subscriptions, while having a big number of trials in that campaign (campaign has been running for over a week now with no subscriptions which is very odd considering the optimization goal is the subscribe event). Wondering if anyone else faced a similar issue with event targeting?
In the Sandbox environment, I noticed that whenever I would try to change a subscription to another one, not only the PRODUCT_CHANGE event will be triggered on the webhook but also simultaneously an INITIAL_PURCHASE event is also triggered.I’m testing on a physical android device.According to this article, it shouldn’t be. In my opinion the more natural way is a PRODUCT_CHANGE followed by a RENEWAL when the new price comes into effect. Edit: This is a screenshot from the Customer history where the in ‘my opinion’ issue is shown
Hi RevenueCat Community,I am working on a project that requires setting up multiple webhook URLs within RevenueCat to handle different aspects of our subscription events. Specifically, I want to understand:Is it currently possible to configure multiple webhook URLs for a single project in RevenueCat? If not, are there any recommended workarounds for routing webhook events to multiple endpoints? Has there been any recent update or feature addition in RevenueCat that addresses this requirement?Our goal is to streamline event processing and ensure that different services in our system receive the appropriate subscription-related notifications.Looking forward to your insights and advice.Thank you!
Hi, Please let me know how I can create two webhooks in the same project. One for Development server.Second for Production Server. Waiting for reply asap. Thanks
Hi All,I tried everything. I signed all Business Agreements with Apple. I deleted and added subscriptions and products umpteen number of time but always I get null value back in revenue cat from Apple and thus a grey screen in my mobile app. I double and treble checked the keys and secrets, and checked the In-App purchase connection status, everything is correct.Can someone guide me, or help me what I can do? My app is not going ahead because of that?Regards,Aman
Hi, Not sure if I am missing something, but I have a problem with Grants.I was of the idea that when we assign a grant to a user on a subscription it automatically gives them that period for free. I wanted to use grants in scenarios where my customer had an issue or are unhappy with something I can give them a week, month or quarter free to show good faith.What we have noticed is that when I do so it creates two parallel plans, One for the users subscription and one for the grant but the user is actually charged by appstore. Thank god this was a test scenario and wasnt a paid user, it would have been embarrasing promising them a grant and then getting charged. Is this a code issue or can this not be done the way I though it would be? My Devs are saying that you can only ‘Grant’ users whose plan has expired or who dont have a plan … not sure if that actually serves the purpose. ThanksSunny
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.