Attribution Provider Comparison
Compare RevenueCat attribution provider integrations
RevenueCat attribution integrations send subscription lifecycle and revenue events to your attribution provider. The provider is responsible for campaign attribution, match quality, optimization eligibility, cost data, and most partner-side ROAS reporting.
Delivery success in RevenueCat means the event was accepted by the provider endpoint. It does not guarantee partner-side attribution, optimization, or reporting alignment. Avoid sending the same purchase or subscription revenue from both RevenueCat and the partner SDK unless you intentionally manage deduplication.
RevenueCat only knows campaign/source values when your app, attribution provider SDK, or another integration sets RevenueCat's reserved attribution attributes. These values are write-once, so set final attribution values instead of placeholders such as Organic if you expect a provider callback to update them later.
Provider support
Use this table for a quick scan of supported behavior (✅ = supported, ❌ = not supported). The interpretation guide explains the column and value meanings.
| Provider | Revenue support | Negative revenue | Sandbox | Customer attributes | Transfer events | Optional events | Campaign data |
|---|---|---|---|---|---|---|---|
| Adjust | ✅ | ❌ | ✅ | ❌ | ❌ | ✅† | Manual |
| Airbridge | ✅ | ❌ | ✅ | Standard | ❌ | ✅† | Manual |
| Apple Search Ads | ✅† | ❌ | ❌ | ❌ | ❌ | ❌ | SDK |
| AppsFlyer | ✅ | ✅ | API key | ❌ | ❌ | ✅† | Manual; SDK |
| Appstack | ✅ | ✅ | ❌ | ❌ | ✅ | ❌ | SDK helper |
| Asapty | ✅ | ✅ | ❌ | ❌ | ❌ | ✅† | SDK |
| Branch | ✅ | ❌ | API key | ❌ | ❌ | ✅† | Manual |
| Kochava | ✅ | ✅ | App GUID | Limited | ❌ | ✅† | Manual |
| Meta Ads | ✅ | ❌ | Credentials | Matching | ❌ | ✅† | Manual |
| Singular | ✅ | ✅ | SDK key | Limited | ❌ | ✅† | Manual |
| SolarEngine | ✅ | ✅ | ✅ | Standard | ❌ | ✅† | Manual |
| SplitMetrics Acquire | ✅ | ❌ | ✅ | ❌ | ❌ | ✅† | Manual |
| Tenjin | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | Manual |
How to interpret this table
- Revenue support — For most providers, RevenueCat sends subscription lifecycle revenue events after the provider integration is enabled and configured. A
†marker means RevenueCat supports revenue through a different provider-specific flow described in the provider notes. - Negative revenue — Whether RevenueCat can send negative revenue amounts through that integration. Providers that do not support negative revenue may receive refund, free-trial, or zero-revenue events without revenue or through provider-specific handling.
- Sandbox — Whether RevenueCat can send sandbox events to the provider. If sandbox delivery requires additional or distinct authentication, the requirement is listed in the column.
- Customer attrs — Whether RevenueCat sends customer attributes to the provider.
Standardmeans RevenueCat sends the standard reserved attribution attributes supported by that integration.Limitedmeans only certain reserved attribution attributes are sent.Matchingmeans the provider receives customer information used for event matching rather than the full standard attribution attribute set.
- Transfer events — Whether RevenueCat sends transfer events to the provider.
- Optional events — Whether the integration supports optional event types beyond the default subscription lifecycle events. A
†marker means the exact supported event keys are listed in the provider notes. - Campaign data — RevenueCat does not independently attribute installs to campaigns for most providers.
Manualmeans campaign fields appear in RevenueCat only if your app sets the reserved attribution attributes documented in Customer Attributes after you have final attribution values.SDKmeans the provider setup can collect or provide campaign data through its documented SDK path.
- Sales Reporting mode — For providers that receive revenue, the Sales Reporting setting in the RevenueCat integration controls whether RevenueCat sends gross revenue or revenue after app store commission and estimated taxes.
Provider notes
These notes focus on non-obvious setup differences. Most providers require an identifier generated by that provider's SDK; see the provider setup page for the exact required identifier and SDK steps.
- Adjust may also require an S2S authentication token if you enabled S2S authentication in Adjust.
- Optional events:
non_subscription_purchase_event_token,expiration_event_token.
- Optional events:
- Airbridge
- Optional events:
non_subscription_purchase_event,expiration_event,billing_issue_event,product_change_event.
- Optional events:
- Apple Search Ads is iOS only. RevenueCat can collect Apple Search Ads attribution data for supported SDK versions.
- Revenue support: Apple Search Ads does not receive RevenueCat lifecycle events. RevenueCat uses collected Apple Search Ads attribution data to segment revenue in Charts and other downstream integrations.
- AppsFlyer campaign data in RevenueCat can come from reserved attribution attributes or AppsFlyer conversion data. Web PBA uses a separate setup path.
- Optional events:
non_subscription_purchase_event,expiration_event,billing_issue_event,product_change_event.
- Optional events:
- Appstack can set
$appstackIdand reserved attribution attributes throughsetAppstackAttributionParams(), including device identifiers and click IDs when present. - Asapty receives RevenueCat events only for iOS App Store purchases attributed to Apple Search Ads. Configure Apple Search Ads attribution collection first so RevenueCat can attach campaign, ad group, and keyword attribution to forwarded events.
- Optional events: Asapty supports a longer configurable event list. See Event types.
- Branch
- Optional events:
non_subscription_purchase_event,expiration_event,product_change_event.
- Optional events:
- Kochava may require the Google Advertising ID or Android ID on Android, depending on SDK behavior.
- Optional events:
non_subscription_purchase_event,expiration_event,billing_issue_event,product_change_event.
- Optional events:
- Meta Ads uses
$fbAnonId, advertising IDs, and/or other matching attributes depending on API path and platform. Conversions API and App Events API have different credential and identifier requirements.- Optional events: Funnels events can be sent to Meta as custom analytics events for your own Funnels reporting.
- Singular
- Optional events:
non_subscription_purchase_event,uncancellation_event,subscription_paused_event,expiration_event,billing_issues_event,product_change_event.
- Optional events:
- SolarEngine
- Optional events:
non_subscription_purchase_event,uncancellation_event,subscription_paused_event,expiration_event,billing_issue_event,product_change_event.
- Optional events:
- SplitMetrics Acquire receives RevenueCat events only for iOS App Store purchases attributed to Apple Search Ads. Configure Apple Search Ads attribution collection first so RevenueCat can attach campaign, ad group, and keyword attribution to forwarded events.
- Optional events:
non_subscription_purchase_event,uncancellation_event,expiration_event.
- Optional events: