On this page

AppsFlyer

This integration combines Amplitude's analytics with AppsFlyer's attribution tools into one unified system. With it, you can share user data in real time and help non-technical team members pinpoint targeting, optimize ad spend, and boost Return on Investment (ROI).

About AppsFlyer

AppsFlyer provides mobile advertising attribution and analytics, helping marketers pinpoint targeting, optimize ad spend, and boost ROI. Send your AppsFlyer data to Amplitude to view how your different acquisition sources perform.

Considerations

AppsFlyer has two integrations with Amplitude:

  • Amplitude Attribution API to send install data to Amplitude. Make sure you understand the limitations of the Attribution API before setting up this integration.
  • Amplitude HTTP V2 API to send install and in-app data to Amplitude.

Attribution API limitations:

  • Amplitude holds attribution events for up to 72 hours for potential user matching. If a user doesn't trigger an Amplitude event within 72 hours of the attribution event, Amplitude drops the attribution data.
  • Amplitude matches attribution to users or events with a device identifier shared between your Amplitude events and the attribution postback. This identifier can be the Advertising ID (IDFA on iOS, or ADID/GAID on Android) or a non-advertising identifier (IDFV on iOS, or App Set ID on Android). Send the same identifier with your Amplitude events, and configure the Android SDK and iOS SDK to send this data. If you use the Browser SDK, send the identifier with the HTTP API.
  • When you can't collect advertising IDs, for example in child-directed apps, match on a non-advertising identifier. On Android, use App Set ID: the Amplitude Android SDK collects it by default and enableCoppaControl doesn't disable it. Make sure your app includes the Google Play Services App Set dependency (com.google.android.gms:play-services-appset) so the SDK can read the ID, and that you don't call disableAppSetId(), then configure your attribution provider to send the matching App Set ID in its postback. On iOS, IDFV serves the same purpose, and the SDK collects it by default without ATT consent. Note that enableCoppaControl disables IDFV along with IDFA, so if you enable COPPA control on iOS, no vendor or advertising ID is available for matching.

These limitations can cause discrepancies between AppsFlyer and Amplitude data. When a user doesn't trigger any events that Amplitude measures within 72 hours, the links between the same user across both platforms may be temporarily affected.

This can result in a lower event count in Amplitude when compared to events in AppsFlyer.

Amplitude removes the advertising ID information for privacy reasons, so you may see ADID = null when you send it.

Amplitude processes the attribution information, but strips the ADID before saving the event.

When choosing the HTTP V2 API integration, make sure to set up the following:

  • Amplitude device ID.
  • Customer user ID.
  • Amplitude session ID.

Choose either the Amplitude Attribution API (V1) or HTTP V2 API (V2) integration.

Don't use both at the same time. Using both versions at the same time may result in Amplitude receiving duplicate events.

Some media sources have data restrictions that cause app installs to be categorized as organic or to not be shared with third parties like Amplitude. When required, installs and in-app events are sent without media source name and campaign details.

Find more information about sources with data restrictions in AppsFlyer's documentation.For more information about AppsFlyer's integration, refer to their help center.

Set up the integration

You can find detailed instructions on implementing this integration in the AppsFlyer documentation.

Was this helpful?