AppsFlyer Pull API
Note that data generated by third-party data integration counts toward the cluster's data consumption
Summary
Interface overview
| Interface | Type | Granularity | Attribution | Cost | Revenue | Impressions | Clicks | Conversions |
|---|---|---|---|---|---|---|---|---|
| Pull API | API | Aggregated metrics | ✅ | ✅ | ✅ | ✅ | ✅ |
The AppsFlyer Pull API aggregated metrics API provides different types of aggregated metric data. The AE system currently supports pulling Partners and Geo data.
Integration process
- Log in to the AppsFlyer dashboard and get the V2.0 API Token and App ID
- Log in to the AE backend, go to the Third-party Integration module, add an AppsFlyer Pull API plan, and complete the related configuration
- Check whether the AE system receives the data successfully, and build reports
1. Get the API Token and App ID
1.1 Get the API Token
Get the V2.0 API token for Pull API
1.2 Get the App ID
You can find your app's App ID under My Apps in the AppsFlyer dashboard. On Android, it starts with com., such as com.demoapp.ta; on iOS, it starts with id, such as id12345678
2. Plan configuration
After getting the AppsFlyer API token and App ID, you can log in to the AE system and configure the new plan in the Third-party Integration module. The image below shows the configuration page of AppsFlyer Pull API. Follow this section to create the plan:
2.1 Authorization information configuration
Click the Configure authorization information button under Authorization Information, and enter the API Token and App ID in the pop-up
2.2 Sync Schedule
In the Sync Schedule module, you can set the policy for the AE system to pull AppsFlyer Pull API data on a schedule. You can choose to pull data for the last several days at a specific time every day. You can pull data from up to the past 1000 days, with a maximum of 31 days per pull. Because pulled data also counts toward the data volume, avoid pulling data for overly long periods on a schedule
2.3 Receive Settings
You can control whether the data is written as events. If you turn this off, the data is not written to the event table, so do not turn off this setting.
2.4 Configuration
Finally, in the Configuration module, you can control the detailed settings of data pulling, including the data type, the dimensions to pull, and the event name after ingestion.
The content of the configuration is a JSON, which you can customize as follows:
| Module | Name | Description |
|---|---|---|
| sink_event | event_mapping | Event name after ingestion; customizable |
| source | report_types | The type of data to pull; customizable, but only one can be selected. Options are partner and geo, which pull data by media source and by region respectively |
transfer | double_columns | Numeric field definitions. Fields entered here are stored as numeric types. Enter the field names after ingestion |
| fields_whitelist | Field filter; list type. If the list is not empty, the AE system stores only the fields in the list and discards fields that are not in the list | |
| extra_params | media_source | Not required by default. Configure it only when you need to pull Facebook data separately; in that case, enter facebook |
2.4.1 Partner data
This section describes Partner data. This report is based on LTV data, that is, it pulls the subsequent data of new users who installed within the specified time period.
| Field meaning | Field name | Remarks |
|---|---|---|
| Data time | #event_time | |
| Agency | agency_pmd_af_prt | |
| Media source | media_source_pid | |
| Campaign name | campaign_c | |
| ARPU | arpu | Metric field; numeric type; add it to transfer.double_columns |
| Average eCPI | average_ecpi | |
| Clicks | clicks | |
| Conversion rate | conversion_rate | |
| CTR | ctr | |
| Impressions | impressions | |
| Installs | installs | |
| Loyal Users | loyal_users | |
| Loyal Users/Installs | loyal_users_installs | |
| ROI | roi | |
| Sessions | sessions | |
| Total Cost | total_cost | |
| Total revenue | total_revenue |
Because Facebook's data format differs from that of other media sources, if you only need to pull Facebook data, you can add a "media_source":"facebook" entry to extra_params. The following fields are then added:
| Field meaning | Field name |
|---|---|
| Campaign name | campaign_name |
| Campaign ID | campaign_id |
| Ad ID | adgroup_id |
| Ad name | adgroup_name |
| Ad group ID | adset_id |
| Ad group name | adset_name |
2.4.2 Geo data
This section describes Geo data. This report is based on LTV data, that is, it pulls the subsequent data of new users who installed within the specified time period.
Because Facebook's data format differs from that of other media sources, the AE system pulls Facebook-only data and data from all platforms separately. The following fields are available from Geo:
| Field | Ingested name | Remarks |
|---|---|---|
| Country/Region | country | |
| Data time | #event_time | |
| Agency | agency_pmd_af_prt | |
| Media source | media_source_pid | |
| Campaign name | campaign_c | |
| ARPU | arpu | Metric field; numeric type; add it to transfer.double_columns |
| Clicks | clicks | |
| Conversion rate | conversion_rate | |
| Installs | installs | |
| Loyal users | loyal_users | |
| Sessions | sessions | |
| Total revenue | total_revenue |
Because Facebook's data format differs from that of other media sources, if you only need to pull Facebook data, you can add a "media_source":"facebook" entry to extra_params. The following fields are then added:
| Field meaning | Field name |
|---|---|
| Campaign name | campaign_name |
| Campaign ID | campaign_id |
| Ad ID | adgroup_id |
| Ad name | adgroup_name |
| Ad group ID | adset_id |
| Ad group name | adset_name |
2.5 Data ingestion rules
By default, we write the pulled data to the AE project as events:
-
Because the Pull API aggregated metrics API returns aggregated data, we use a fixed value as the user identifier. You can think of all the data as attached to one virtual user
-
The Date field in the data, that is, the user's install date, is used as the event's #event_time
-
The event names in the data are:
- Partner
- appsflyer_partner_data
- Geo
- appsflyer_geo_data
- Partner
-
All other fields are ingested
2.6 Standardized fields
The following event properties are standardized:
| Original field | Standardized field | Description |
|---|---|---|
| media_source_pid | te_ads_object.media_source | Media source |
| campaign_c (all platforms) | te_ads_object.campaign_name | Campaign name |
| campaign_id(Facebook) | te_ads_object.campaign_id | (Facebook) Campaign ID |
| campaign_name(Facebook) | te_ads_object.campaign_name | (Facebook) Campaign name |
| adset_id(Facebook) | te_ads_object.ad_group_id | (Facebook) Ad group ID |
| adset_name(Facebook) | te_ads_object.ad_group_name | (Facebook) Ad group name |
| adgroup_id(Facebook) | te_ads_object.ad_id | (Facebook) Ad ID |
| adgroup_name(Facebook) | te_ads_object.ad_name | (Facebook) Ad name |
| country | te_ads_object.country | Country or region code |
| platform | te_ads_object.platform | Platform, such as Android or iOS |
| app_id | te_ads_object.app_id | App ID |
| app_name | te_ads_object.app_name | App name |
| currency | te_ads_object.currency | Currency |
| impressions | te_ads_object.impressions | Impressions |
| clicks | te_ads_object.clicks | Clicks |
| installs | te_ads_object.installs | Conversions (installs) |
| total_cost | te_ads_object.cost | Campaign cost |

