Skip to main content

AppLovin Revenue Reporting API

Last updated 10/03/2026
tip

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

Summary​

Interface overview​

InterfaceTypeGranularityAttributionCostRevenueImpressionsClicksConversions
Revenue Reporting APIAPIAggregated data✅✅

AppLovin also provides an aggregated metrics API dedicated to Max monetization: the Revenue Reporting API.

Integration process​

  1. Log in to the AppLovin dashboard and get the Report Key
  2. Log in to the AE backend, go to the Third-party Integration module, add an AppLovin Revenue Reporting API plan, and complete the related configuration
  3. Check whether the AE system receives the data successfully, and build reports

1. Get the Report Key​

To connect AppLovin Revenue Reporting API data, you need to get the Report Key first. Log in to the AppLovin dashboard and get the Report Key under Account > Key. Keep this key safe

2. Plan configuration​

After you get the Report Key, 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 AppLovin Revenue Reporting 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 information you obtained during authorization in the pop-up

API Key is the Report Key you just obtained. By default, you cannot enter the API Key directly in the pop-up. Click the edit icon on the right first, and then enter it.

2.2 Sync Schedule​

In the Sync Schedule module, you can set the policy for the AE system to pull AppLovin Revenue Reporting API data on a schedule. You can choose to pull data for a period of time at a specific time every day or every hour.

2.3 Event Data Configuration​

After you turn on the Event Data Configuration switch, all data sent back is written to the event table. We recommend that you enable event data ingestion.

2.4 Configuration​

In the Configuration module, you can control the detailed settings of data pulling, including the time aggregation granularity of the data, the metric fields and 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
sourcemetricsMetrics in the data; list type. Different levels support different metrics, so fill this in carefully
group_byGrouping dimensions in the data; list type. Different levels support different group_by values, so fill this in carefully
  • Grouping dimensions

The following are the supported group-by dimensions. To adjust them, modify source.group_by

FieldDefaultDescription
dayYesDate of the ad impression
hourYesHour value of the report (this field exists only when you pull data for the last 30 days)
has_idfaYesWhether the user's advertising ID can be obtained. The value is 0 if the user has enabled LAT or has turned off data tracking in a region where GDPR applies; otherwise, it is 1
max_ad_unitYesMAX ad name
max_ad_unit_idYesMAX ad ID
max_ad_unit_testYesName of the ad test group
network_placementYesPlacement name of the Ad Network
max_placementPlacement name customized in the SDK
networkYesThe Ad Network that displayed the ad. For possible values, see (MAX Mediation Documentation)
package_nameYesPackage name: the App Package Name on Android and the Bundle ID (iOS) on iOS
platformYesPlatform
ad_formatYesAd type: INTER, BANNER, REWARD
ad_unit_waterfall_nameYesName of the ad Waterfall
applicationYesApp name
countryYesTwo-letter Country Code
custom_network_nameYesCustom Ad Network name
device_typeYesDevice type: PHONE, TABLET
store_idApp store ID of the promoted app: package name on Android, numeric part of the iTunes ID on iOS
  • Metric fields

The following are the supported metric fields. To adjust them, modify source.metrics

FieldDefaultDescription
impressionsYesNumber of ad impressions
estimated_revenueYesEstimated total revenue (USD)
attemptsYesNumber of ad attempts on the Ad Network (available only when network or network_placement is among the group-by fields to pull; unavailable when max_placement is present)
ecpmYesEstimated eCPM (USD)

fill_rate

YesAd fill rate = ad responses / attempts (available only when network or network_placement is among the group-by fields to pull; unavailable when max_placement is present)
responsesYesNumber of ad responses (available only when network or network_placement is among the group-by fields to pull; unavailable when max_placement is present)
requestsNumber of ad requests (unavailable when network, network_placement, or max_placement is present)

2.5 Data ingestion rules​

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

  • When the hour field does not exist (that is, for data older than 30 days), the day field in the data, that is, the date of the data, is set as the #event_time of the aggregated data. When hour exists, the day and hour fields are combined into the #event_time of the aggregated data
  • The event name is applovin_maxreport
  • All other fields are stored

2.6 Standardized fields​

The following event properties are standardized:

Original fieldStandardized fieldDescription
max_ad_unitte_ads_object.ad_group_nameUnit name of the monetization ad
max_ad_unit_idte_ads_object.ad_group_idUnit ID of the monetization ad
network_placementte_ads_object.placementAd placement
networkte_ads_object.media_sourceMedia source or monetization channel
package_namete_ads_object.app_idApp ID
applicationte_ads_object.app_nameApp name
platformte_ads_object.platformPlatform, such as Android or iOS
countryte_ads_object.countryCountry or region code
Fixed value USDte_ads_object.currencyCurrency of the monetization revenue
impressionste_ads_object.impressionsImpressions
estimated_revenuete_ads_object.revenueMonetization revenue
Was this page helpful?