Skip to main content

Use Cursor, Claude Code, or another AI to help you implement the RevenueCat integration with Appstack.

Open in Cursor
With the RevenueCat integration, you can:
  1. Use RevenueCat in-app events to run enhanced app campaigns.
  2. Unlock attribution-based paywall optimization.
To successfully connect RevenueCat, you must:
  1. Have Owner/Admin access to an Appstack organization.
  2. Have access to the correct RevenueCat account.

Requirements

Use a RevenueCat SDK version that includes setAppstackAttributionParams(): 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 versionssetAppstackAttributionParams() 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

  1. In Appstack, from the side menu, select Integrations > RevenueCat.
  2. Copy the webhook URL.
  3. Copy the authorization header.
3

Paste the credentials

  1. In RevenueCat, from the dashboard, go to Integrations > Attribution > Appstack.
  2. Paste the webhook URL.
  3. 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.
The integration will show an error if less than 50% of events received over the last 24 hours include an Appstack ID. For RevenueCat, pass this under the appstack_id key when building params. When this threshold is not met, these events cannot be used in ad network integration pages.

List of events

Below is a list of events you can forward to ad networks to optimize your campaigns.

Troubleshooting

General tips

  1. Check SDK versions: confirm the RevenueCat SDK includes setAppstackAttributionParams() (purchases-ios 5.61.0+, purchases-android 9.23.0+, purchases-hybrid-common 17.46.1+, react-native-purchases 9.12.0+, purchases-flutter 9.14.0+). Earlier versions do not expose the method. For hybrid integrations, 17.46.1 includes the Map<String, Any> compatibility patch.
  2. Check the ordering: call setAppstackAttributionParams(...) after Purchases.configure and before the first offerings or paywall load. Use the returned offerings to present the paywall rather than fetching them again.
  3. Build the full params map: include both getAttributionParams() and getAppstackId() (stored under the appstack_id key). Passing only one of them, or a wrong key name, breaks attribution.
  4. Handle ATT on iOS: if you request App Tracking permission, call setAppstackAttributionParams(...) again after the customer grants it, rebuilding params from fresh SDK values. The AdSupport framework must be linked to collect the IDFA.
  5. Allow time for activation: after the integration is active in RevenueCat, it can take 30–60 minutes to appear active in Appstack.
  6. 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.

Open in Cursor