Get help with webhooks, third-party integrations, and attribution providers.
Recently active
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’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
Hi everyone,I’m currently experiencing a significant issue with subscription update events (customer.subscription.updated) from Stripe being delayed in syncing with RevenueCat. In some cases, it’s taken over a day for these updates to appear on the RevenueCat dashboard after the customer has been charged.This delay is causing major problems, as our users are paying for subscriptions but are not being granted access promptly due to the delayed data sync. Since we rely on RevenueCat as the source of truth for managing subscriptions, this issue is affecting a lot of our customers.Has anyone else encountered this problem? If so, were you able to find a solution or workaround? I’d appreciate any advice or insight on how to resolve this issue quickly.Thanks in advance for your help!
Our app subscriptions are currently done via appstore and playstore purchases and we’re trying to add stripe into the mix. But we’re not sure how to handle the case where an old user signs back after a new subscription as anonymous. In case of appstore and playstore purchases, the transfer purchase call does the job but not so in stripe purchases. How is this to be handled? Just post a second receipt against the signed in user’s app user id? It’ll result in the stripe subscription attached to both revenuecat customers. I’m not sure about any unintended side effects of this flow. Is this the way to go here? Or am I missing something
I’ve connected the RevenueCat integration with Facebook Ads, but it looks like all the events are coming from App Events API and not Conversion API.I want to enable Meta’s attribution for iOS14+ for StartTrial events with AEM but it doesn’t look like I can be eligible with the events coming in from App Events API.
Hello everyone, I have an app on flutterflow that is set to check on a customer subscription status every time it starts, so is updated in the app. This is causing my customer to keep his status until he opens the app again, even when he has cancelled the subscription before. Right now I thought that integrating my Firebase DB to Revenuecat could figured this out by updating instantly my db, but I noticed there's no “boolean” attribute on firebase when a customer is made. I was expecting something like “subscribed=true false” but there's only dates (on string) and useless data for me. Any idea how can I check a customer subscription status with firebase information instead of checking as an API in app?thx
In the iOS SDK, you can check an entitlement for a customer and determine if that entitlement is in the sandbox environment or not. For the same customer, when looking at the Firebase collection setup via the integration, the entitlements object has nothing indicating if the entitlement was granted in the sandbox or the production environment: "entitlements": { "pro": { "grace_period_expires_date": null, "product_identifier": "pro_1199_1m", "expires_date": "2024-08-01T20:03:48Z", "purchase_date": "2024-08-01T20:02:16Z" } },The only way I can think to determine if this is in the sandbox is to match the product_identifier for the entitlement over to the subscriptions object and see if is_sandbox is set. Is there a better way to do this? For a given product_identifier, will there only be a single matching entry under the subscriptions object, or will there potentially be multiple entries?
I have this error when trying to fetch offering from Revenue cat[Error: There is an issue with your configuration. Check the underlying error for more details. There's a problem with your configuration. None of the products registered in the RevenueCat dashboard could be fetched from App Store Connect (or the StoreKit Configuration file if one is being used). Here is my Setup:app store agreementsapp store product:in revenue cat, i can import product automatically from app store here is my offerings & product: Can someone tell me what's going on =(( I'm stuck with it for 2 days now
According to https://www.revenuecat.com/docs/integrations/attribution/facebook-ads: The Facebook integration requires some device-specific data. RevenueCat will only send events into Facebook Ads Manager if the below Attribute keys have been set for the device. $idfa iOS advertising identifier UUID Required: ✅ (iOS only) 95% of users opt out of app tracking, so the IDFA won’t be available. Does this mean Meta won’t see conversions 95% of the time? Is it possible to send conversion events with just, say, IP, email, and phone numbers?
We want to automate subscription offers and messages along the customer journey, including progressive discount.Showing the right paywall with the right offer at the right time.AFAIK this is not possible with RevenueCat only.Can you recommend any services compatible with RevenueCat for that?Thanks
Hello everyone. We are doing user acquisition over Apple Search Ads and 90% of traffic is coming from there.In last 2-3 days most of my trial or purchase data do not show any Search Ads info like keywords etc on RevenueCat panel (on right side when I tap on purchase). Previously there was no issue. Anyone experiencing that? PS. I have not updated the app codebase since 2 weeks.
We had a few problems during the launch of our subscription. As part of that I deleted a user from the back end of the site, from stripe and from RC thinking this would reset the process. We now have the users set up in stripe again and the website but it seems a new account won’t create in RC, can I restore the deleted user - or set them up to link with the other existing accounts?
Info: Whole Backend = Firebase.That includes, Auth system, DB, Functions, Extensions etc.In the app, I have let's say an account with User 'X' with userId 'xid'. X makes a purchase through the RevenueCat SDK and it sends out webhooks that writes database entries in Firebase with the necessary User details, purchases and entitlements.I read these entitlements entries in the DB and unlock features within the App. Here in lies the dilemma.Let's say User 'X' has purchased a monthly subscription. Webhooks and Firebase Integration will give me the DB entries I need to do my unlocking features.All good so far. Now user 'X' has decided to delete their account having the userId 'xid' from the App. All good so far. Bear in mind that subscription is still active in Playstore/Appstore.Now user 'X' decides to create a new account again in the App. User 'X' now ends up with a new UserId of 'yid'. User 'X' now presses the 'Restore Purchases' button which calls "Purchases.restorePurchases()" function
I have a discrepancy between AppsFlyer and Revenucat, and the S2S event seems to have sent correctly. On RC, a particular conversion is listed as ASA sourced, but on Appsflyer it is not.On AppsFlyer, the default look back window for attributing from ASA is 7 days - so I’m wondering if this is the cause of the discrepancy. If RC’s look back window is longer than this, that could be why.Please could you provide info on the ASA look back window?
Couldn’t see the dropdown of connected account even if i can see them connected.
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?
Hello! We are integrating Facebook Ads with RevenueCat. We found this point in RevenueCat documentation for Flutter: // Set the Facebook anonymous Id Purchases.setFBAnonymousID() What is that Anonymous ID in Facebook Ads?
Hi,When I go to Integrations > Mixpanel > scroll down to Integration Events, it looks like there are 2 simultaneous events each time, with different but related payloads. Can someone explain what’s going on? I’m not a dev (anymore :) so it might be obvious. I’ll paste the payloads below in case it’s helpful.Thanks,TOM//PAYLOAD 1:{ "event": "Subscription Renewed", "properties": { "$insert_id": "a292fb14-49ca-429d-aff5-79ce7b4ce650", "aliases": [ "01J1SRK36AYY0YE8JZP43XDNPR" ], "app_id": "appfaa70d11aa", "currency": "USD", "distinct_id": "01J1SRK36AYY0YE8JZP43XDNPR", "entitlement_id": null, "entitlement_ids": [ "standard" ], "environment": "SANDBOX", "expiration_at": "2024-07-06T01:29:12Z", "offer_code": null, "original_app_user_id": "01J1SRK36AYY0YE8JZP43XDNPR", "original_transaction_id": "2000000607884405", "period_type": "NORMAL", "presented_offering_id": "default", "product_id": "s2_standard_1m_699_1m0", "purchas
Is there an easy way to pass Apple Search Ads attribution to mix panel? Either within the client app, or from the dashboard? I don’t see a way to query the attribute data in the SDK, and Im not seeing a way to add this in the mix panel integration RC admin view. What am I missing?Thanks!
Hi there,We are using the Intercom integration in RevenueCat. For our stripe purchases, RevenueCat sends an RCAnonymousID instead of the app user id. When a stripe purchase is made, we call the receipts API from our backend and pass in the app_user_id, this correctly surfaces in RevenueCat linking the user id to the purchase. However, RevenueCat is creating an alias, and sending that alias to intercom instead of the app user id. Is there anyway to fix this? Thanks! Payload from RevenueCat to Intercom:{ "app_id": 1094850, "create_contact_payload": { "custom_attributes": { "expires_at": 1725546041, "latest_entitlement": null, "latest_store": "STRIPE" }, "external_id": "$RCAnonymousID:6948fc31576641ed98c9c171826ae506" }, "product_identifier": "prod_QCyCt8PLphAYgl", "search_contact_payload": { "query": { "field": "external_id", "operator": "=", "value": "$RCAnonymousID:6948fc31576641ed98c9c171826ae506" } }, "send_event_payload": {
Hi guys!I’m about to launch the new version of my app with Revenue Cat. I did enable the Firebase integration as I want to store info about my users in it. My application also need to store a few additional info about my user (extra metadata like locale or application specific info).My application communicates with my API (that needs to know the entitlements of my users, so I’m also using the Rest API).The thing is… I have data about my users dispatched at 3 different places:In RevenueCat (where I have useful information like the last app version, device version, last seen, etc...). In firebase (where i have entitlements and stuff from RevenueCat but not all the data enumerated above) In my API local MySQL database (where I store the additional data that I need for my user like locale or application specific stuff)So If I want a complete vision of my users, I need to aggregate all this different sources. It’s quite difficult as there is no way to retrieve the full list of users from t
This is a technical question for the revenue cat suppourt team.Please have a look into my account. I configured the webhook in my dashboard and verified that the test webhook is working which it does.Beyond that no, webhook events are sent to my server at all. I configured the sandbox testing in google which works well. The events are properly shown in the customer profile. But the webhooks are just not triggered.Here an example for an event that never triggered a webhook: { "app_id": "appbf2ba432f2", "app_user_id": "e54178d1-0ba0-4f52-b768-8b16da7ec516", "country_code": "DE", "currency": "EUR", "entitlement_ids": null, "environment": "SANDBOX", "event_timestamp_ms": 1660003974081, "expiration_at_ms": 1660004387520, "is_family_share": false, "is_trial_conversion": false, "offer_code": null, "price": 8.130577688229488, "price_in_purchased_currency": 7.99, "product_id": "pro_monthly", "purchased_at_ms": 1660004087520, "store": "PLAY_STORE", "takehome_percentage": 0.85,
Hello RevenueCat team and community!I’m trying to integrate Stripe with RC and so far i’ve been following the steps of this documentation.The documentation says “When using Stripe Checkout, you should listen to and send subscriptions to RevenueCat after both the customer.subscription.created and checkout.session.completed events.”It works when event is checkout.session.completed but it doesn`t if event is customer.subscription.created.This is script sample if ( self.event_type == "customer.subscription.created" or self.event_type == "checkout.session.completed" ): url = "https://api.revenuecat.com/v1/receipts" headers = { "Accept": "application/json", "Content-Type": "application/json", "X-Platform": "stripe", "Authorization": "Bearer strp_XXXXXXXXXX", } data = { "app_user_id": self.event_object.get("customer"), "fetch
In our old question there was a reply stating we’ve duplicate products & some of them has no entitlements. Unfortunately, the question’s comments were blocked for some reason so we couldn’t reply there. It’s true that we had duplicate products but those products were never connected through the dashboard nor we used the API to add them.They appear after we successfully submit stripe subscription id as fetch_token to https://api.revenuecat.com/v1/receipts. While product with same stripe product id already exists in the RC dashboard. We’re not sure why and how that’s happening. But it may be worth mentioning, we’re listening to the invoice.paid as we’re using stripe checkout session which automates a lot of stuff. But it shouldn’t matter because we’re submitting the correct subscription id. For further clarification, this is how we’re handling creating stripe session:And this how we’re sending the Stripe subscription id to RC servers
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.