Get help with webhooks, third-party integrations, and attribution providers.
Most views
Connection failed!We couldn't establish a link to the App Store. The App Store Connect API credentials are not valid or do not have sufficient permissions to list apps. Make sure the key has at least the App Manager role.I keep on getting this error and I 100% put everything in the right way. And I'm not sure why.
Hi. I’m trying to get the Firebase/Google Analytics integration working, but I’m struggling. I have populated the integration config form, and selected the enable sandbox events checkbox. Since I did this, two real users made purchases, triggering the integration and I can see their payloads at the bottom of the integration config screen. Both events were rc_trial_start and they received 204 responses.When I look in Google Analytics, I don’t see any mention of rc_trial_start and no revenue is recorded against the app. The data streams in Google Analytics appear to be set up correctly. Should I be performing additional configuration inside of GA or should things just start happening as my data comes through?Finally, I have made sandbox purchases with my iOS simulator and StoreKit. I can see my sandbox user data in RevenueCat and I can see they have a Firebase App Instance Id attribute. However, this sandbox purchase is not listed in the log at the bottom of the integration config form.
Hello, we are working on apple search ads attribution and revenuecat integration. I can't create new api key in apple search ads. When I am on the "Search Ads" > "API" page, there is NO 'Create Certificate' button or something else ( I'm the admin and used safari). Is there any other method?.And i got email from Apple:Please note that new API certificate creation is no longer supported. Apple Search Ads now uses OAuth 2.0 to authenticate API requests.To access the Campaign Management API within your own organization, you’ll need to create or designate an API user:- Have an account admin sign in to your Apple Search Ads account.- Go to the User Management tab within Account Settings.- Edit or invite a new user and assign them one of the following roles: API Account Manager, API Read Only, or Limited Access API Read & Write or API Read Only.- After your API user is set up, have them sign in to your Apple Search Ads account and go to the API tab within Account Settings.- On the API
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.
I’m hoping to get some clarification on how the Meta Ads Integration works. Our app consists of only subscriptions and we currently have the integration set up where we can see the events Trial Start and Subscription in the Meta Datasource. We have configured the events for SKADNetwork in the settings in the meta platform and I can see that the idfas and idfvs are properly being collected in the customer list on revcats platform. Our code (swift ios15+ app) in the application(didfinishlaunching:) has the ApplicationDelegate.shared.application(...) function then Purchases.configure(...) , collectDeviceIdentifiers(),setFBAnonymousId(...). I can see that we are successfully getting both subscription and trial start events, but why will our campaign not show any conversions in ads manager? What am I missing?
Hi, I rely on RevenueCat to send start trial, trial converted, and other Track events to Customer.io (my CRM tool). Currently, I use RevenueCat’s Segment integration: RevenueCat sends the events to Segment, which forwards them to Customerio. I’m trying to cut out all Segment use cases in my tech stack because it doesn’t seem worth it (there are direct integrations in most cases). I made a post about this on SubClub. How do I replace this connection? Does RevenueCat have a direct integration with Customerio? I don’t see it in RevenueCat’s list of integrations. If RevenueCat doesn’t integrate directly with Customerio, can I use RevenueCat’s Webhooks to do this? So I could send the events via RevenueCat’s webhooks to my own webhook, then my webhook would integrate with Customerio? Does RevenueCat plan to release a direct integration with Customerio soon? If so, maybe I’ll leave the Segment connection in place for now, and replace it with the direct connection ASAP. Thanks! Toby
I’m tinkering around with RevenueCat for an app my company is releasing Q4 this year. We use Firebase as a simple backend.Context:One of our features is the submission of images for server-side processing. The submission of a job is done via a Firebase cloud function, and the abilities of the user to submit these jobs can be different depending on the user’s current subscription/entitlements. As such, it is important that the custom claims on the Firebase auth token are up-to-date when the backend function is called. Otherwise, the user might make a purchase to attain some feature, and not be able to access it immediately because the Function will reject their request. Question:When are the custom claims set, and can I expect them to be available immediately in my Firebase functions after a purchase?More specifically, if I await any calls into RevenueCat when a purchase is made, will all Firebase functions called from that point onwards have the custom claim set in the request? Or is t
PLEASE PLEASE PLEASE RevenueCat. It would be so amazing if you guys could have your own in house affiliate program. You already track all my subscriptions and sales through the paywall, so adding in affiliate codes and payouts accordingly to affiliates would be so so awesome. I haven’t figured out a good way to do this myself. I would love advice on it.
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.
Hello, I don’t have any conversion on facebook ads, even though the IDFA are sent to Facebook on Revenue Cat and the traffic only comes from Facebook ads. I have read the docs but could not find a proper full example. Here is what I have done (swift).I have tested where to call FBSDKCoreKit.AppEvents.activateApp() (before or after ATT request) Option 1:@UIApplicationMainclass AppDelegate: UIResponder, UIApplicationDelegate, UNUserNotificationCenterDelegate { func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { FBSDKCoreKit.Settings.isAutoLogAppEventsEnabled = false FBSDKCoreKit.AppEvents.activateApp() Purchases.automaticAppleSearchAdsAttributionCollection = true Purchases.configure(withAPIKey: "XXXXXXXX") Purchases.shared.collectDeviceIdentifiers() Purchases.shared.setFBAnonymousID(FBSDKCoreKit.AppEvents.anonymousID) if #available(iOS 14.5, *)
I’m moving RevenueCat 4.x to 5.x and I’ve created my account and integrated my existing app to it.Even though on the dashboard, the `In-App Purchase Configuration` section prompts that I have valid permission, I still can’t purchase when testing it on sandbox environment and receive this error “Apple In-App Purchase Key is invalid or not present”Could someone tell me what’s wrong here?
I’m continuing the discussion from spectrum here:@ryan your docs don’t make any distinction between iOS and Android when it comes to whether the Facebook SDK should be installed, so I assumed it had to be installed on both platforms. If not, that would be a great thing, as the SDK is huge.
version 3.1 was working very fine, but with the updated to 4.3 I can't call the function getOfferings().I changed all methods to 4.3setup → configure PurchaserInfo → CostumerInfoProdukt → StoreProduktI write my code with Flutter and I checked all your Docs tbh u have to update ur docs <34.3 or 4.0 ? u write here : https://www.revenuecat.com/docs/flutter version 4.0 to installand here https://pub.dev/packages/purchases_flutter version 4.3 restore:https://www.revenuecat.com/docs/restoring-purchases on flutter I guess u forget to change them to Purchases.restorePurchases(); Im done, I changed the version, created new share secrets, attached all again, read all post from other members, but nothing was helpfully…. i invest over 20 hours, to go save thats not my fault.. pls I need helpful brains. Call with getOfferings():‘’’[Purchases] - WARN: ⚠️ The appUserID passed to logIn is the same as the one already cached. No action will be taken.[Purchases] - DEBUG: ℹ️ Vending CustomerInfo fro
Hello,we have noticed that starting some months ago that our reported revenue in Firebase Analytics is out of whack in such a way that Firebase shows around 3x revenue than real one for iOS app. We have enabled the Firebase integration (https://www.revenuecat.com/docs/firebase-integration) via the appInstanceID to get the revenue data in Firebase. According to Firebase docs, the SDK captures purchase events automatically for StoreKit 1 and there is no way to disable it (https://firebase.google.com/docs/analytics/measure-in-app-purchases, https://github.com/firebase/firebase-ios-sdk/issues/2435). Could this be related to RevenueCat reverting back to StoreKit 1 some time ago from StoreKit 2? Although even if the purchases were logged once by RC and once automatically by Firebase that still wouldn't add up to 3x the revenue. Is anyone else using this setup and run into similar issues? Disabling the RC Firebase integration seems sort of like a solution but then when new version of RC start
Hello! We found that in the appsflayer the number of unique events became significantly less than the total. Probably revenue cat duplicate events. We have contacted AF and they have not found a problem. So we assume that there is a duplication of transmission of non-unique events. That is, the revenue cat transmits a trial, the sdk transmits a trial, and it all adds up. Why would there be duplicates? Please take a look at our project. It is possible directly on time-lines, if it is possible.
I was trying to integrate, My App store connect with my RC but getting this issue:“The key is not valid or is not compatible with the bundle id of your app.”Even though my Bundle ID is valid on both xcode and appstore connect i just copy pasted from that, Just created my .p8 file and have created this 3 times now.
We are able to list and purchase the subscriptions but revenue cat can not handle the subscriptions.2022-11-08 21:34:30.510 12259-12372 [Purchases] - WARN W ⚠️ Unable to start a network connection due to a network configuration issue: https://api.revenuecat.com/v1/receipts2022-11-08 21:34:30.510 12259-12372 [Purchases] - DEBUG D ℹ️ API request started: POST /receipts2022-11-08 21:34:30.514 12259-12372 [Purchases] - DEBUG D ℹ️ API request completed with status: POST /receipts 5212022-11-08 21:34:30.515 12259-12372 [Purchases] - ERROR E 🤖‼️ There was a credentials issue. Check the underlying error for more details.
It’s been over 36 hours and still I‘m seeing this error. RevenueCat docs says that this will go away after 36 hours but it hasn’t. D/[Purchases] - DEBUG(30735): ℹ️ Found 0 unsynced attributes for App User ID: faizanrafiq.htc@gmail.comD/[Purchases] - DEBUG(30735): ℹ️ API request started: POST /receiptsD/[Purchases] - DEBUG(30735): ℹ️ API request completed with status: POST /receipts 503E/[Purchases] - ERROR(30735): 🤖‼️ There was a credentials issue. Check the underlying error for more details.I/flutter (30735): PlatformException(11, There was a credentials issue. Check the underlying error for more details., {code: 11, message: There was a credentials issue. Check the underlying error for more details., readableErrorCode: InvalidCredentialsError, readable_error_code: InvalidCredentialsError, underlyingErrorMessage: Invalid Play Store credentials., userCancelled: false}, null) Any help will be greatly oblidged.
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
I’m developing a subscription-based app where users only need to pay on one device (including Android, iOS, and web) to use it on all devices.From previous attempts, I’ve learned that using only Stripe webhooks, when I create a subscription in Stripe (in ), if there is no subscription data for that customer in RevenueCat, it will not send the customer data and the billing record to RevenueCat (I hope I’m understanding this correctly). Therefore, I decided to additionally use the API (not sure if this is the best approach, if there are other suggestions please let me know, thank you).After creating a subscription in Stripe (real mode not test mode), I sent the information to RevenueCat using the API v1 /receipts/, and the transaction with that ID does appear in Recent Transactions. However, when I receive customer information via the API or in Unity, this subscription information does not appear in the customerinfo. Also, on the web, this transaction has not been assigned an entitlement
We want to append following attribution details to our users in RevenueCat:$mediaSource, $campaign, $adGroup, $ad, $keyword, $creative. We have found out how to map data from AppsFlyer for $mediaSource, $campaign, $ad from the following link:https://support.appsflyer.com/hc/en-us/articles/208387843-Raw-data-field-dictionary-V5-#field-availability-by-reporting-tool Even after contacting their support we’re not sure what data should we use for $adGroup, $keyword, $creative. Can you please help us?
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
Hello,I integrated the FB SDK according to your documents and after the release I did not see AppInstall events in the FB Console.I assume this is because I disabled automatic FB event tracking and all RC sends is subscription events.I can't use the AppActivate event because it can't be related to ad campaigns.Can you explain if I might have made a mistake somewhere when linking FB and RC.
I’ve just installed the Firebase Extension and I see it on Google Functions page but the runtime version has a warning: Node.js 14 will be deprecated on Jan 30, 2024. Please update this function using the latest runtime version available.Any idea how to update it to the latest or min suggested version?
Firstore has a 1mb size limit. RevenueCat’s firestore extension creates a single customer record which holds all the purchases the user makes. There is a potential for a user to make so many purchases over time it would exceed the 1mb limit of firestore documents. How does Revenuecat handle this situation?
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.