Skip to main content

AppsFlyer Master API

Last updated 10/05/2026
tip

Note that data generated by third-party data integration counts toward the cluster's data consumption

Summary​

Interface overview​

InterfaceTypeGranularityAttributionCostRevenueImpressionsClicksConversions
Master APIAPIAggregated metrics✅✅✅✅

Master API supports custom analysis dimensions and aggregated metrics, and is more flexible than the Pull API aggregated metrics API.

Integration process​

  1. Log in to the AppsFlyer dashboard and get the V2.0 API Token and App ID
  2. Log in to the AE backend, go to the Third-party Integration module, add an AppsFlyer Master API plan, and complete the related configuration
  3. 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​

1.1 Get the API Token​

Get the V2.0 API token for Master 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 Master 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 Master API data on a schedule. You can choose to pull data for a period of time at a specific time every day, 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 Pull time zone​

Data is pulled in the project time zone, and the plan configuration has no separate pull time zone setting. The description under Sync Schedule states the time zone used, for example, "The system will, at UTC+8, every..."

2.4 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.5 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:

ModuleNameDescription
sink_eventevent_nameEvent name after ingestion; customizable

source

metricsMetrics in the data; list type; customizable
group_byGrouping dimensions in the data; list type; customizable
  • Grouping dimensions

The following lists the grouping dimensions. To change them, modify source.group_by and use the field names.

Field meaningField nameIngested nameDefault
App IDapp_idapp_id✓
Media Sourcepidmedia_source✓
Agencyaf_prtpartner✓
Campaignccampaign✓
Adsetaf_adsetadset✓
Adaf_adad✓
Channelaf_channelchannel✓
Publisher IDaf_siteidpublisher_id_af_siteid✓
Keywordsaf_keywordskeywords
Is Primary Attributionis_primaryis_primary_attribution
Campaign IDaf_c_idcampaign_id
Adset IDaf_adset_idadset_id
Ad IDaf_ad_idad_id
Install Timeinstall_timeinstall_time✓
Touch Typeattributed_touch_typetouch_type✓
GEOgeogeo✓
  • Metric fields

Master API includes many types of metrics. The following lists some commonly used Master API fields. For the full list of fields, see the AppsFlyer official documentation:

tip

Note that some metrics support different dimension fields. To make changes, we recommend that you contact ThinkingAI staff

To change them, modify source.metrics

Ingested nameDescriptionDefault
impressionsImpressions✓
clicksClicks✓
installsInstalls✓
crConversion rate✓
sessionsSessions✓
loyal_usersLoyal user installs✓
loyal_users_rateLoyal user rate✓
costTotal cost✓
revenueTotal revenue✓
roiROI✓
arpu_ltvAverage lifetime value✓
average_ecpiAverage eCPI✓
uninstallsUninstalls✓
uninstalls_rateUninstall rate✓

retention_day_[x]

Retained users on day N (N = 0,1,2,3,4,5,6,7,15,30)
retention_rate_day_[x]Retention rate on day N (N = 0,1,2,3,4,5,6,7,15,30)

cohort_day_[x]_total_revenue_per_user

Cumulative revenue on day N (N = 1,2,3,4,5,6,7,15,30,40,50,60,70,80,90)

cohort_day_[x]_revenue_per_user

Same-day revenue on day N (N = 1,2,3,4,5,6,7,15,30,40,50,60,70,80,90)
cohort_[x]_days_total_revenue_per_userSame as cumulative revenue on day N (N = 1,2,3,4,5,6,7,15,30,40,50,60,70,80,90)

2.6 Data ingestion rules​

By default, we write the pulled data to the AE project as events:

  • Because the Master 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 install_time field in the data, that is, the user's install time, is used as the event's #event_time
  • The event name is appsflyer_master_data
  • All other fields are ingested

2.7 Standardized fields​

The following event properties are standardized:

Original fieldStandardized fieldDescription
media_sourcete_ads_object.media_sourceMedia source
campaignte_ads_object.campaign_nameCampaign name
campaign_idte_ads_object.campaign_idCampaign ID
adsette_ads_object.ad_group_nameAd group name
adset_idte_ads_object.ad_group_idAd group ID
adte_ads_object.ad_nameAd name
ad_idte_ads_object.ad_idAd ID
app_idte_ads_object.app_idApp ID
geote_ads_object.countryCountry or region code
impressionste_ads_object.impressionsImpressions
clickste_ads_object.clicksClicks
installste_ads_object.installsConversions (installs)
costte_ads_object.costCampaign cost
revenuete_ads_object.revenueMonetization revenue
Was this page helpful?