Skip to main content
Skip table of contents

How to - AppsFlyer

Here’s a step-by-step of how to connect AppsFlyer to Alli!

This set-up process has 3 main steps:

  1. Creating an API connection app that will load each report into Alli Cloud Storage

  2. Creating an Alli Cloud Storage datasource that grabs your report file

  3. Creating a Force Sync app that refreshes the datasource each day (the automated equivalent of pressing the “Load Data” button)

To get started, what you’ll need is:

  • the AppsFlyer API token (contact your onboarding team or the PMG team member managing the account)

  • your client’s AppsFlyer App IDs (there should be two: one for iOS and one for Android)

  • confirmation of which AppsFlyer Raw Data Export reports to pull in (contact your onboarding & media teams to confirm)

    • for example, Fanatics pulls in User Acquisition Installs, User Acquisition In-App Events, Retargeting In-App Events, and Retargeting Installs (teams will refer to this as Retargeting Conversions)

1. Creating AppsFlyer API Apps

You’ll be creating one app per operating system per report (so, if you’re bringing in the “User Acquisition Installs” report, you’ll have 2 apps [one for iOS and one for Android])

 

Go to Marketplace & select “AppsFlyer Report Template”

You’ll input your App ID & designate which report you’re pulling (and give it a daily schedule!)

 

There are two In-App Event Reports, In-App Events Report returns data for only Order Completed events while Full In-App Events Report returns data for all events.

Once your app is set up and has run successfully, go to Executions, open up the most recent one, and copy the file name

2. Creating Alli Cloud Storage Datasources

 

Next you’ll create a new Alli Cloud Storage datasource

 

Choose “Custom (Manually Specify Directory”, paste in your file name from the API execution, and then put “source=application/application=forklift/” in the directory

Next, you’ll add your dimensions and metrics

Note that the dimensions and metrics will be different than the reports in the AppsFlyer Raw Data Export, so the best way I found to do this is to manually add each dimension/metric, and then duplicate your datasource when you’re repeating the process for the next report, as the API dimensions/metrics will stay the same across all reports.

Column

Data Type

Column Type

attributed_touch_type

numbers and letters

attribute/metric

attributed_touch_time

numbers and letters

attribute/metric

install_time

numbers and letters

attribute/metric

event_time

date timestamp

dimension

event_name

numbers and letters

attribute/metric

event_value

numbers and letters

attribute/metric

event_revenue

numbers and letters

attribute/metric

event_revenue_currency

numbers and letters

attribute/metric

event_revenue_usd

numbers and letters

attribute/metric

event_source

numbers and letters

dimension

is_receipt_validated

numbers and letters

attribute/metric

partner

numbers and letters

attribute/metric

media_source

numbers and letters

attribute/metric

channel

numbers and letters

attribute/metric

keywords

numbers and letters

attribute/metric

campaign

numbers and letters

attribute/metric

campaign_id

numbers and letters

attribute/metric

adset

numbers and letters

attribute/metric

adset_id

numbers and letters

attribute/metric

ad

numbers and letters

attribute/metric

ad_id

numbers and letters

attribute/metric

ad_type

numbers and letters

attribute/metric

site_id

numbers and letters

attribute/metric

sub_site_id

numbers and letters

attribute/metric

sub_param_1

numbers and letters

attribute/metric

sub_param_2

numbers and letters

attribute/metric

sub_param_3

numbers and letters

attribute/metric

sub_param_4

numbers and letters

attribute/metric

sub_param_5

numbers and letters

attribute/metric

cost_model

numbers and letters

attribute/metric

cost_value

numbers and letters

attribute/metric

cost_currency

numbers and letters

attribute/metric

contributor_1_partner

numbers and letters

attribute/metric

contributor_1_media_source

numbers and letters

attribute/metric

contributor_1_campaign

numbers and letters

attribute/metric

contributor_1_touch_type

numbers and letters

attribute/metric

contributor_1_touch_time

numbers and letters

attribute/metric

contributor_2_partner

numbers and letters

attribute/metric

contributor_2_media_source

numbers and letters

attribute/metric

contributor_2_campaign

numbers and letters

attribute/metric

contributor_2_touch_type

numbers and letters

attribute/metric

contributor_2_touch_time

numbers and letters

attribute/metric

contributor_3_partner

numbers and letters

attribute/metric

contributor_3_media_source

numbers and letters

attribute/metric

contributor_3_campaign

numbers and letters

attribute/metric

contributor_3_touch_type

numbers and letters

attribute/metric

contributor_3_touch_time

numbers and letters

attribute/metric

region

numbers and letters

attribute/metric

country_code

numbers and letters

attribute/metric

state

numbers and letters

attribute/metric

city

numbers and letters

attribute/metric

postal_code

numbers and letters

attribute/metric

dma

numbers and letters

attribute/metric

ip

numbers and letters

attribute/metric

wifi

numbers and letters

attribute/metric

operator

numbers and letters

attribute/metric

carrier

numbers and letters

attribute/metric

language

numbers and letters

attribute/metric

appsflyer_id

numbers and letters

attribute/metric

advertising_id

numbers and letters

attribute/metric

idfa

numbers and letters

attribute/metric

android_id

numbers and letters

attribute/metric

customer_user_id

numbers and letters

attribute/metric

imei

numbers and letters

attribute/metric

idfv

numbers and letters

attribute/metric

platform

numbers and letters

attribute/metric

device_type

numbers and letters

attribute/metric

os_version

numbers and letters

attribute/metric

app_version

numbers and letters

attribute/metric

sdk_version

numbers and letters

attribute/metric

app_id

numbers and letters

attribute/metric

app_name

numbers and letters

attribute/metric

bundle_id

numbers and letters

attribute/metric

is_retargeting

numbers and letters

attribute/metric

retargeting_conversion_type

numbers and letters

attribute/metric

attribution_lookback

numbers and letters

attribute/metric

reengagement_window

numbers and letters

attribute/metric

is_primary_attribution

numbers and letters

attribute/metric

user_agent

numbers and letters

attribute/metric

http_referrer

numbers and letters

attribute/metric

original_url

numbers and letters

attribute/metric

 

Another note is that not all columns will have data, and since you can’t select which columns to bring in from the report, for all attribute/metrics (aka: not the dimensions), you’ll want to double click on the column card and add a “-” as the Default Value, otherwise Alli will skip the row and stop bringing in data after 200 skipped rows

 

After your datasource is set up, you’ll repeat this process for each API report/operating system, so creating a new report app, copying the file name from the executions, then duplicating your datasource and changing the datasource name and the file name

3. Creating Force Sync Apps

 

Finally, you’ll make a Force Sync app for each of your datasources (so by the end of this, if you’re bringing in 4 AppsFlyer reports, you’ll have created 8 AppsFlyer API apps, 8 Alli Cloud Storage datasources, and 8 Force Sync apps)

For the schedule, schedule it to run after the API app associated with your datasource (so you’re basically telling Alli to load the datasource each time the API app runs)

 

You’ll paste in your datasource ID (found in the URL of the datasource), and then you can give it a date range to load, or leave it on “default.”

 

& then repeat this for each of your datasources, run the Force Sync apps, give them like 10-15 minutes, and BOOM, there’s your AppsFlyer data!

A good way to QA to make sure you’ve brought in everything is to go back to your API app, check to see how many rows were loaded in that file, and confirm that your datasource loaded all of the rows [minus 1 for the header :)]

 

Congratulations, you did that!!!!

 

 

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.