Skip to main content

Attribution integration

Adapty allows easy integration with the popular attribution services: AppsFlyer, Adjust, Branch, Apple Search Ads, and Facebook Ads. Adapty will send subscription events to these services so you can accurately measure the performance of ad campaigns. You can also filter charts data using attribution data.

Send subscription events with correct user properties and ID's to attributions services you use.

Important

warning
  • Avoid event duplication: Be sure to disable subscription event forwarding from both devices and your server to prevent duplicates. If you're using direct integration with Facebook, remember to turn off event forwarding from AppsFlyer, Adjust, or Branch.

  • Properly set up attribution integration: Ensure that attribution is set up in both your mobile app code and the Adapty Dashboard. Without both in place, Adapty won’t be able to send subscription events.

  • Set a single attribution source: Adapty can use attribution data in analytics from only one source at a time. If multiple attribution sources are enabled, the system will decide which attribution to use for each device based on the source that provides more fields. For iOS devices, this means non-organic Apple Search Ads attribution will always take priority if it's enabled. You can disable Apple Search Ads attribution collection by toggling off the Receive Apple Search Ads attribution in Adapty in the App Settings -> Apple Search Ads tab.

  • Attribution data is never overwritten in analytics: Attribution data is saved once after the user profile is created and won’t be overwritten in analytics once stored.

Follow our detailed guidance on configuring the following 3d-part attribution integrations:

note

Don't see your attribution provider?

Let us know! Write to the Adapty support and we'll consider adding it.

Custom

If you use another attribution system, you can pass the attribution data to Adapty. You can then segment users based on this data.
To set attributes, use only the keys from the example below (all keys are optional). The system supports max 30 available attributes, where the keys are limited to 30 characters. Every value in the map should be no longer than 50 characters. status can only be organic, non-organic or unknown. Any additional keys will be omitted.

Swift
let attribution = [
"status": "non_organic|organic|unknown",
"channel": "Google Ads",
"campaign": "Christmas Sale",
"ad_group": "ad group",
"ad_set": "ad set",
"creative": "creative id"
]
Adapty.updateAttribution(attribution, source: .custom)