Use Cursor, Claude Code, or another AI to help you implement the RevenueCat integration with Appstack.
- Use RevenueCat in-app events to run enhanced app campaigns.
- Unlock attribution-based paywall optimization.
To successfully connect RevenueCat, you must:
- Have Owner/Admin access to an Appstack organization.
- Have access to the correct RevenueCat account.
Requirements
Use a RevenueCat SDK version that includessetAppstackAttributionParams():
For hybrid integrations, use
purchases-hybrid-common 17.46.1 or later. Version 17.46.1 includes the Map<String, Any> compatibility patch.
Connect to RevenueCat
Follow the steps to ensure the RevenueCat integration works:1
SDK configuration
After configuring the Purchases SDK and before the first offerings or paywall load, call
setAppstackAttributionParams() with the attribution data from the Appstack SDK. This single call sets the $appstackId, campaign attribution attributes ($mediaSource, $campaign, $adGroup, $ad, $keyword), click IDs, and device identifiers — no need to call collectDeviceIdentifiers() separately.The call also syncs attributes to the RevenueCat backend and fetches fresh offerings before returning, so Appstack-based targeting is applied before your paywall loads.Learn more about the RevenueCat x Appstack integration by reading this article.
RevenueCat SDK minimum versions
setAppstackAttributionParams() is available in purchases-ios 5.61.0+, purchases-android 9.23.0+, purchases-hybrid-common 17.46.1+, react-native-purchases 9.12.0+, and purchases-flutter 9.14.0+. Earlier versions do not include the Appstack integration method.iOS App Tracking Transparency (iOS 14.5+)If you request App Tracking permission through ATT to access the IDFA, call
setAppstackAttributionParams() again after the customer grants permission, rebuilding params from the latest getAttributionParams() and getAppstackId() values as in the code examples above. The AdSupport framework is required to collect the IDFA on iOS.2
Copy the credentials
- In Appstack, from the side menu, select Integrations > RevenueCat.
- Copy the webhook URL.
- Copy the authorization header.
3
Paste the credentials
- In RevenueCat, from the dashboard, go to Integrations > Attribution > Appstack.
- Paste the webhook URL.
- Paste the authorization header.
After the integration is active on RevenueCat’s platform, it can take 30-60 minutes to appear as active on Appstack’s side.
List of events
Below is a list of events you can forward to ad networks to optimize your campaigns.Troubleshooting
General tips
- Check SDK versions: confirm the RevenueCat SDK includes
setAppstackAttributionParams()(purchases-ios5.61.0+,purchases-android9.23.0+,purchases-hybrid-common17.46.1+,react-native-purchases9.12.0+,purchases-flutter9.14.0+). Earlier versions do not expose the method. For hybrid integrations,17.46.1includes theMap<String, Any>compatibility patch. - Check the ordering: call
setAppstackAttributionParams(...)afterPurchases.configureand before the first offerings or paywall load. Use the returnedofferingsto present the paywall rather than fetching them again. - Build the full
paramsmap: include bothgetAttributionParams()andgetAppstackId()(stored under theappstack_idkey). Passing only one of them, or a wrong key name, breaks attribution. - Handle ATT on iOS: if you request App Tracking permission, call
setAppstackAttributionParams(...)again after the customer grants it, rebuildingparamsfrom fresh SDK values. TheAdSupportframework must be linked to collect the IDFA. - Allow time for activation: after the integration is active in RevenueCat, it can take 30–60 minutes to appear active in Appstack.
- Contact support: if issues persist, reach out with specific error messages at support@appstack.tech.
Common issues
Use Cursor, Claude Code, or another AI to validate your existing RevenueCat + Appstack integration.