Get help with webhooks, third-party integrations, and attribution providers.
Recently active
Hi everyone,I am afraid the answer to this question is No but in case this ever changes in the future I am still asking it.Is it possible to export/integrate RevenueCat collected data into Google Firebase Analytics?Thanks in advance for your reply.
We are trying to keep the same entitlement state of our users in our own database, and we're using webhooks for that. It's globally working well, except for a case where we found that the `expiration_at_ms` is not giving us the correct expiration date, for a TRIAL in a "INITIAL_PURCHASE" event, only for ANDROID.Please check screenshot attached:on the user page, you can see that the user subscribed to a trial on April 21st, on the top right you can see him having the "pro" entitlement until 2023/05/08. when we click on the "started a trial" line, we check the webhook event, the expiration_at_ms value is `1682357863507` corresponding to `Monday, 24 April 2023 17:37:43.507`, which is the info we have in our DB. Why are the 2 dates so different ? This is the only event that is triggered to us. As it is only happening with Android, is there a bug for android or an additional thing we need to do to set this up correctly ?
Good afternoon.I have set up the Slack Webhook as per the instructions but whenever I send a test webhook or also with the test purchases in the sandbox, I always get a response 400.The curl hello world from the Slack page works perfectly and I can see the message in my Slack channel.Perhaps something has changed in the way Slack expects the messages to be formatted? In the sent json I don’t see the “text” field that I see in the Slack test webhook.Thanks a lot.
Hello!Me and my team just realized that the event rc_initial_purchase_event that is saved on MixPanel with the integration is not sending information when a new subscription has been purchased or a lapsed user has resubscribed. This is critical because we are not saving any information of this to our main source of truth. Whats happening? We've lost months of information in MixPanel that we need. How can we solve this?Thanks in advance!
When creating a new entitlement and attaching it to existing products, active subscribers get the new entitlement as expected, but unfortunately this does not trigger any event for the configured webhook. Are there any plans to change this behaviour? For instance, having a new type of webhook event when the list of entitlements linked to a product changes, or when a user gets new entitlements outside of regular purchase/renewal events. To give a bit more context:We have multiple entitlements: each one unlocking its own feature/content in our app. We are currently adding a new feature which we want to only be available to paying users, so we need a new entitlement linked to some of our existing products. We also rely on a webhook to sync our internal database and keep track of what our users can access.To solve this we are thinking of querying the `/subscribers` endpoint for each of our active subscriber (after attaching the new entitlement) so we can get an updated list of entitlements
Hey, We’re using RevenueCat in conjunction with a few other analytics/reporting tools. I’m trying to link iOS subscribers between RC and some of those other tools.What I’m trying to do is link an RC subscriber to their Apple SubscriberId (which we get when we download the subscriber report from AppStoreConnect).All I see in the RC webhook is a “transaction_id” but I’m not able to link that. Has anyone had success doing this type of link in the past?
We want to integrate RC with OneSignal and are facing some questions we do not find clear answers in the documentation.(https://docs.revenuecat.com/docs/onesignal)The main issue is that OneSignal does not have a combined “User”. They only have “PlayerIds” targeting specific devices and channels.Our Users use the app on multiple devices and platforms. (iPhone, iPad, Mac)We use anonymous user ids for RC and when a user restores their purchases, RC is creating aliases to link the data together.When we set the $onesignalId with the SDK, it is a PlayerId, meant to target push notifications to one specific device. So RC Subscription Events are only set to this PlayerId with the API Integration.If a user is using multiple devices, he has multiple PlayerIds. But RC is only adding tags to the one set as $onesignalId.To use OneSignal Journeys, we need to set the externalUserId.We can use the originalAppId from RevenueCat here.Sadly there is no detailed documentation on how to use Journeys and Pu
We recently set up Apple search ad’s attribution through revenuecat and started testing new campaigns. For all of our campaigns except one the tracking has been great and super helpful. However for one of our campaigns that has been spending ~$75/day for the last two weeks there is zero data on it.. Very odd. Has anyone encountered something similar/have any solution ideas?
Using revenue cat in flutter.In ios side all is working fine ,but in android side getting empty list of offerings.Is there anything related to new updates that google added in io’22.Or it is some configuration error.Output :- DEBUG(32279): ℹ️ API request started: GET /subscribers/6273eb4bda327c735a4b20deD/[Purchases] - DEBUG(32279): ℹ️ API request completed with status: GET /subscribers/6273eb4bda327c735a4b20de 304D/[Purchases] - DEBUG(32279): ℹ️ PurchaserInfo updated, sending to listener.W/System (32279): ClassLoader referenced unknown path: system/framework/mediatek-cta.jarI/System.out(32279): e:java.lang.ClassNotFoundException: com.mediatek.cta.CtaHttpI/System.out(32279): [OkHttp] sendRequest>>I/System.out(32279): [OkHttp] sendRequest<<D/[Purchases] - DEBUG(32279): ℹ️ API request started: GET /subscribers/6273eb4bda327c735a4b20de/offeringsD/[Purchases] - DEBUG(32279): ℹ️ API request completed with status: GET /subscribers/6273eb4bda327c735a4b20de/offerings 3042D/[Purcha
Hello,I'm trying to monitor the validity of subscriptions based on data in Firestore using Firebase Extension. The monitoring process is intended to be integrated into a Flutter app.The documentation lists the following methods for verifying entitlement access: https://www.revenuecat.com/docs/firebase-integration#using-the-extensionUse the RevenueCat SDK Use custom claims in Firebase Authentication Retrieve the expires_date from the REVENUECAT_CUSTOMERS_COLLECTION document and compare it to the current date and time.However, for the following reasons, I would like to avoid using the above methods:With only the RevenueCat SDK, it is not possible to verify whether a user with the same user ID has entitlements on another device. If using custom claims in Firebase Authentication, the data cannot be obtained through a stream (real-time monitoring is not possible). While expires_date needs to be compared to the current date and time, on mobile apps, the current time can be changed by modifyi
Hi,I’m trying to configure AppsFlyer and RevenueCat. And I’m getting following errors in the console:[Purchases] - ERROR: 😿‼️ Error when syncing subscriber attributes. Details: The operation couldn’t be completed. (RevenueCat.BackendError error 0.) [Purchases] - ERROR: 😿‼️ One or more of the attributes sent could not be saved. ["$idfv": "IDFV cannot be modified.", "$appsflyerId": "AppsFlyer ID cannot be modified."] If I understand correctly, the AppsFlyer ID will be generated every time a user installs a new app. As users use multiple devices, I think this error will occur for every user who uses two or more devices. If this is the case, why is it shown as an error? Alternatively, how can I configure AppsFlyer and RevenueCat so that the AppsFlyer ID is unique? It seems impossible without IDFA
Hi to everyone,I configured RevenueCat Integration with Facebook Ads following the official documentation. My goal is to track Trials and Purchases of an Auto-Renewable Subscription inside Facebook Ads Manager so I can check for every ad how much it converts.The problem is that events, according RevenueCat Dashboard, been sent successfully but inside Facebook Dashboard I can’t see any events.PLATFORM: iOS
I have been unable to install or uninstall the Revenuecat Purchases Firestore Extension. After trying to then uninstall, I have received the following error. Note that we have Google Cloud Associated with this project and so IAM permissions etc. There is nothing about this in the documentation and how Google Cloud IAM permissions might affect the Extension installation or uninstallation. My account has full Owner permissions, as well as Service Usage Admin, Firebase Admin, and Eventarc admin. This is the error:> Error: ; RESOURCE_ERROR at /deployments/firebase-ext-firestore-revenuecat-purchases/resources/mods-api-enable-eventarcpublishing: {"ResourceType":"deploymentmanager.v2.virtual.enableService","ResourceErrorCode":"403","ResourceErrorMessage":{"code":403,"message":"Permission denied to enable service [eventarcpublishing.googleapis.com]\nHelp Token: help-token-here","status":"PERMISSION_DENIED","details":[{"@type":"type.googleapis.com/google.rpc.PreconditionFailure","violations"
Revenue cat firebase integration events need to don't track sandbox purchases, i tried to disable in firebase extension Test events tracking, but still getting events with environment SANDBOX, how can i disable sandbox purchase tracking to firebase?
I would like to integrate Firebase Extension into my project and according to the instructions guide I need to follow a few steps herehttps://www.revenuecat.com/docs/firebase-integration#2-set-firebase-user-identity-in-revenuecatAll those steps are only showing code for Swift.Is there no integration available for Flutter? Is it not possible?
I viewed Apple's docs and saw the information about billing retry (60 days), but not in RevenueCat. I want to know how to detect a subscription is in billing retry (60 days)? Is Billing_issue when payment is failed before billing retry? Is Expiration when subscription is officially expired (after 60 days retry)?
Hi,We’re seeing events from the Revenue Cat webhook whilst in Sandbox mode (before go-live) where a subscription or renewal flows through with 12.17% `tax_percentage`. Can anyone explain why that might be? I would expect 20% VAT? Is it something we’ve misconfigured or am I missing something?Example webhook event here:{ "api_version": "1.0", "event": { "aliases": [ "9e2090e4-11cc-4ff8-8f0f-281eb9e6b84d", "$RCAnonymousID:7610af8f52924950b428cd4d313823f2" ], "app_id": "app790cf74d0c", "app_user_id": "9e2090e4-11cc-4ff8-8f0f-281eb9e6b84d", "commission_percentage": 0.3, "country_code": "GB", "currency": "GBP", "entitlement_id": null, "entitlement_ids": [ "Pro" ], "environment": "SANDBOX", "event_timestamp_ms": 1678382003118, "expiration_at_ms": 1678382162000, "id": "6D453662-6B23-47EE-97B4-7856431CA391", "is_family_share": false, "is_trial_conversion": false, "offer_code": null, "original_app_user_id": "$RCAnonymousID:76
We would like to test changing the duration of the free trial on our active subscription. However, when trying to do so I get this error message:“This subscription has been migrated from a legacy subscription and is read-only”. Does any of you have a similar issue? I appreciate your help.
I installed Firebase integration inside Revenuecat and also added the neccessary extension to my Firebase project.When I buy a product in my application the event is visible inside Revenuecat but the detailed view not showing up the integrations (it says, no integrations to show) Anyone else experiencing the same issue?PS: I already did the same setup with my dev environment (different project) and there it worked, but now I checked and we did not change anything in that project and the firebase events are not working there neither.
We’d like to implement per-seat Stripe subscriptions with RevenueCat. I saw the documentation on the topic and I have a few questions. Our goal is to create a per-seat billing system similar to what you would find on Figma or Loom. The system would imply that:users are able to create teams and add members to the team using emails when adding a new seat/user in the team, the admin’s subscription will be billed accordingly (price x number of seats/users) members of the team would appear as paid subscribers in the Stripe SDK Revenue is counted only onceA few questions:What would be the best setup to integrate this with RevenueCat? I saw the Stripe Integration page, but it seems to imply a user-to-subscription link. Would a workaround be to link multiple users to a single Stripe subscription?
Is it possible to send events to more than one Amplitude project? I have different Amplitude projects for iOS and Android, so I would like to send all RevenueCat events to both projects. However, I only see the option to add one API key on the RevenueCat API integration page.
I want to integrate with Adjust, and I want to do so the easy way (I would prefer not to be made to jump through whatever obstacle course that the RevenueCat integration entails):Is there an easy way for me to fetch the receipt from the client (right after a subscription has been made and approved), as well as also doing the same kind of thing on Android?If there isn’t, I would have to assume that this is purposefully avoided so as to make migration harder, and that in the process of making migration harder you are also making other things harder.
Hello I have integrated revenuecat with appsflyer and some of my revenuecat events like: “trial cancel event”, “initial purchase event”, etc. not received in appsflyer.
Can some one outline the workflow process for a subscription purchase on a website then redeeming it on an iOS app, for example unlocking a feature? I understand the purchase on iOS workfowiOS app initiate purchase > revenuecat > ios appstore to process payment > revenuecat > iOS app to unlock feature What is a web flow look like? , especially one with a stripe payment process? I know a user ID will have to be set on a website.
Hi, I use both Branch and RevenueCat in my app. I’m setting up Branch to talk with the SkAdnetwork. In the Branch Docs it says the following: In the SKAdNetwork Config section of the Branch dashboard, select the YES radio button to have the Branch SDK handle all calls to SKAdNetwork.Do NOT opt-in if you decide to:Integrate directly with SKAdNetwork and call the SKAdNetwork functions natively. Use another 3rd party library to handle your app's interactions with SKAdNetwork. Before I opt in, I wanted to make sure this wouldn’t interfere with any RevenueCat Features.
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.