Search documentation...

ChangelogBook a demoSign up


Give your team visibility into campaign performance, scale app installs, and maximize customer LTV with a new standard of privacy-enhancing measurement and deep linking solutions.

View AppsFlyer's documentation.

Supported syncing

Sync TypeDescriptionSupported Sync ModesAPI Reference
Server-to-server eventsSync mobile events that occur outside the app to AppsFlyerInsertServer-to-server events docs
AudiencesImport predefined audience segments as lists into AppsFlyerAdd, RemoveImport audience docs

For more information about sync modes, refer to the sync modes docs.

Connect to AppsFlyer

Go to the Destinations overview page and click the Add destination button. Select AppsFlyer and click Continue. You can then authenticate Hightouch to AppsFlyer by entering the following AppsFlyer API tokens into Hightouch:

  • Dev key (only necessary for event syncs)
  • AppsFlyer V2 API key (only necessary for audience syncs)

If you don't plan to sync events, you can omit the Dev key. Similarly, omit the Audiences API token if you don't plan to sync audiences.

You can find your Dev key by following these instructions in AppsFlyer's docs.

You can create a V2 API key by following these instructions.

Sync configuration

Once you've set up your AppsFlyer destination and have a model to pull data from, you can set up your sync configuration to begin syncing data. Go to the Syncs overview page and click the Add sync button to begin. Then, select the relevant model and the AppsFlyer destination you want to sync to.

Syncing server-to-server events

You can use server-to-server events to send mobile events that occur outside the app from your servers to AppsFlyer.

Appsflyer's API requires the following event parameters:

  • app_id
  • eventName
  • eventValue

The sync configuration form ensures all these are set and provides some additional options.

To ensure syncs send each event, your event model must use a truly unique primary key. See the events syncs documentation for more information.

Appsflyer app ID

The app ID is the identifier used in the AppsFlyer dashboard. Insert it exactly as it appears on the dashboard. You can either provide a static value or select to use a column from your model. Hightouch syncs the static or column value as the app_id path parameter the API requires.

Event name

Providing an event name is required to send an event to the Appsflyer API. You can either provide a static value or select to use a column from your model. Hightouch syncs the static or column value as the eventName body parameter the API requires.

Event timestamp

You can optionally select a column that contains timestamps of when events occurred. If this field is empty, Appsflyer uses the time the event arrives at the server.

Field mapping

Hightouch lets you map model columns to event metadata. Some of the metadata fields you can map to include:

  • AppsFlyer ID
  • IDFV
  • IP
  • Operating system

The AppsFlyer ID is a required field, so ensure you include that in your mapping.

Event value mapping

Each event must contain a JSON eventValue, for example:

    "af_revenue": "6", 
    "af_currency": "USD",
    "af_content_type": "wallets",
    "af_content_id": "15854",
    "your_custom_attribute" :"456.123"

Hightouch lets you map these fields to create the JSON object the eventValue field expects.

Field mapping in the Hightouch UI

Custom mappings

You can also map additional custom data that Hightouch sends to the AppsFlyer platform as JSON using the custom_data field.

Syncing audiences

This sync type lets you update which users belong to an audience. You must use an existing audience in AppsFlyer.

Record matching

To identify which users to add or update in an audience, select model columns and the corresponding AppsFlyer fields. You can match on the following fields:

  • App ID
  • IDFV
  • IDFA
  • GAID
  • OAID
  • IMEI
  • CUID
  • Email
  • Phone
  • Braze ID
  • Amplitude ID

You must include the App ID for all audience types. Depending on whether you're syncing an Android or iOS audience, you need to include at least one additional identifier.

For Android audiences, you must also include at least one of the following:

  • GAID
  • OAID
  • IMEI
  • CUID
  • Braze ID
  • Amplitude ID

For iOS audiences, you must also include at least one of the following:

  • IDFV
  • CUID
  • Braze ID
  • Amplitude ID

See AppsFlyer's docs on identifiers for more information.

Select an existing audience or create a new one

You can create a new audience or use an existing one. When creating a new audience, you can optionally enter a name; otherwise, Hightouch defaults to the name of the associated model. To use an existing audience, you need to enter the audience's import_key.

To get an audience's import_key follow these instructions:

  1. In the AppsFlyer left-side panel, go to Integration > Audiences.
  2. Click on the name of the audience you want to update.
  3. Select the Import tab.
  4. In the Import using API section, choose Add new devices/users
  5. Copy the import_key in the API request body.

For more information about the Import Audience API, refer to AppsFlyer's docs.

Handling PII and hashing

By default, Hightouch automatically hashes fields that require it before sending them to Appsflyer.

You can disable this behavior in the sync configuration. If disabled, the data from the model should be appropriately normalized and hashed according to Appsflyers's hashing requirements.

Delete behavior

The delete behavior you select dictates what to do when an audience member no longer appears in your model's query results. You have the following options:

Do nothingKeep the user in the audience
DeleteRemove the user from the audience

Tips and troubleshooting

Common errors

To date, our customers haven't experienced any errors while using this destination. If you run into any issues, please don't hesitate to . We're here to help.

Live debugger

Hightouch provides complete visibility into the API calls made during each of your sync runs. We recommend reading our article on debugging tips and tricks to learn more.

Sync alerts

Hightouch can alert you of sync issues via Slack, PagerDuty, SMS, or email. For details, please visit our article on alerting.

Ready to get started?

Jump right in or a book a demo. Your first destination is always free.

Book a demoSign upBook a demo

Need help?

Our team is relentlessly focused on your success. Don't hesitate to reach out!

Feature requests?

We'd love to hear your suggestions for integrations and other features.

Last updated: Mar 18, 2024

On this page

Supported syncingConnect to AppsFlyerSync configurationSyncing server-to-server eventsSyncing audiencesTips and troubleshootingCommon errorsLive debuggerSync alerts

Was this page helpful?