Reporting API
Use this Reporting API to get aggregated campaign data in either JSON or CSV format.
Request Format
Make report requests by sending HTTP GET
requests to one of the following base URLs:
https://r.applovin.com/report
https://r.applovin.com/probabilisticReport
(For advertising only. All values derived from installs and spend are based on probabilistic install data.)https://r.applovin.com/skaReport
(For advertising only. This endpoint reflects SKAdNetwork-derived values and has limited dimensions and metrics. Starting August 1st, 2024, cost values are based on probabilistic data.)
Required Parameters
Parameters | Purpose |
---|---|
api_key | Your Report Key You can find this Report Key in the Keys tab of the account page in your AppLovin dashboard. |
start 1 | The start date of the report Accepts a date in YYYY-MM-DD format or a Unix timestamp. For example, 2012-10-05 or 1336608000 . |
end 1 | The end date of the report Accepts a date in YYYY-MM-DD format or a Unix timestamp. For example, 2012-10-05 or 1336608000 or now . |
format | The format for the report Accepts json or csv . See details on request format below. |
columns | A comma-separated list of columns for the report See the allowed columns below. For example, ad_id,day,campaign . |
report_type | Tells the API to respond with publisher or advertiser dataIf this parameter is omitted, the API will default to report_type=publisher . |
1This API has a request window of 45 days. Make sure the date parameters are within the last 45 days.
Optional Parameters
Parameters | Purpose |
---|---|
limit | The limit on the number of rows returned; for example, 500 |
offset | The offset to begin fetching rows at; for example, 100 |
having | Allows complex filtering on numeric values. This parameter accepts URL-encoded values of numeric columns, comparison operators, and logical operators, for example: impressions%20%3E%200%20AND%20revenue%20%3E%200 (“impressions > 0 AND revenue > 0”).Note: This slows down the response and increases the likelihood of timeouts. |
not_zero | Set this to 1 to filter results in which all numerical metrics have a value of 0 |
Allowed Publisher Columns
Column Name | Contains |
---|---|
day | Date of reporting data |
hour | Hour of reporting data (only available for the past 30 days) |
impressions | Number of impressions |
clicks | Number of clicks |
ctr | Number of clicks ÷ number of impressions |
revenue | Money earned |
ecpm | Money earned per 1000 impressions |
country | Two letter country code |
ad_type | GRAPHIC , PLAY , VIDEO , REWARD , APPOPEN , or MRAID |
size | Ad size (INTER , BANNER , MREC , LEADER , or NATIVE ) |
device_type | phone , tablet , or other |
platform | android , ios , fireos , or tvos |
application | App name |
package_name | App’s package name or bundle ID |
store_id | The numeric portion of the iTunes ID on iOS, or the package_name on Android.If the iTunes ID is not known to AppLovin, the Bundle ID is returned instead |
placement | Placement name |
application_is_hidden | Is the app hidden in the dashboard |
zone | Zone name, if available to your account |
zone_id | Zone ID, if available to your account Please contact your account manager if you are interested in using Zones. |
bidding_integration | The integration that AppLovin is bidding through to serve ads (e.g. MAX or Google bidding and Google AdMob Open Bidding) If you have a traditional integration, this column will contain None . |
Allowed Advertiser Columns
Column Name | Contains |
---|---|
ad | Ad name |
ad_creative_type | GRAPHIC , VIDEO , PLAY , VIDEO_PLAY , REWARDED_VIDEO , REWARDED_PLAY , REWARDED_VIDEO_PLAY |
ad_id | Ad ID. This does not change if the ad name changes |
ad_type | GRAPHIC , VIDEO , REWARD , APPOPEN , or PLAY |
app_id_external | Hashed application ID (commonly referred to as “site ID”) |
application | Source application name |
average_cpa | Average cost per conversion |
average_cpc | Average cost per click |
campaign | Campaign name |
campaign_ad_type | ua for user acquisition, or rt for retargeting |
campaign_bid_goal | The campaign bid goal, expressed as a dollar value ($), for CPP and CPE campaigns. You must also request the campaign column when you request this one. |
campaign_id_external | Unique reference to a campaign This doesn’t change when the campaign is renamed. It is the same value as the {CAMPAIGN_ID} click macro. |
campaign_package_name | Package name or Bundle ID of the app being promoted |
campaign_roas_goal | The ROAS goal, expressed as a percentage value (%), for IAP ROAS, Ad ROAS, and ROAS campaigns. You must also request the campaign column when you request this one. |
campaign_store_id | The numeric portion of the iTunes ID of the promoted app on iOS and the camaign_package_name otherwise |
campaign_type | The campaign optimization type (CPP , CPE , IAP ROAS , ad ROAS , or ROAS ) |
clicks | Number of clicks |
conversions | Number of conversions (installs) |
conversion_rate | Number of conversions ÷ number of impressions |
cost | Advertiser spend |
country | Two letter country code |
creative_set | Creative set name |
creative_set_id | Creative set ID. This does not change if the creative set name changes |
ctr | Number of clicks ÷ number of impressions |
custom_page_id | The iOS Custom Product Page or Android Store Listing associated with the creative set |
day | Date of reporting data |
device_type | phone , tablet , or other |
external_placement_id | Encrypted application ID (used with API Source bidding) |
first_purchase | Count of users that made their first purchase (requires setting up revenue postbacks) |
hour | Hour of reporting data (only available for the past 30 days) |
impressions | Number of impressions |
installs 1 | SKAdNetwork-derived installs with redownload =false prior to for /skaReport only. For other reports, use conversions . |
optimization_day_target | Which optimization day you have chosen to target for the campaign (e.g. day 0 or day 7 ) |
platform | android , ios , fireos , or tvos |
redownloads 1 | SKAdNetwork-derived installs with redownload =true . /skaReport only, for other reports, use conversions |
sales | Count of attributed sales events (requires setting up revenue postbacks) |
size | Ad size (INTER , BANNER , MREC , LEADER , PRELOAD , or NATIVE ) |
target_event | The custom event the campaign is targeting (applies to CPE campaigns only) |
traffic_source | AppLovin , or the name of the exchange |
1Starting August 2, 2024, SKAdNetwork-derived installs and redownloads will transition away from country-level reporting. This only impacts /skaReport
.
Filtering Columns
You can filter reports by any column. When you do so, you search for a direct match to any of the filters.
To filter by a column, add the following URL parameter: filter_columnname=onefilter,anotherfilter,thirdfilter
For example, if you want to see data only for the Android platform, set the following URL parameter: filter_platform=Android
See the table above for a list of all columns.
Some columns support negative filters via filter_not_columnname=onefilter,anotherfilter
.
Additionally, the custom_page_id
dimension supports filter_null_custom_page_id
, filter_blank_custom_page_id
, filter_not_null_custom_page_id
, and filter_not_blank_custom_page_id
options.
These options do not require a value, i.e. …&filter_not_null_custom_page_id=&filter_not_blank_custom_page_id=&…
Sorting Columns
You sort reports in a similar way to how you filter reports.
For example, to sort a report by campaign
, add the following URL parameter: sort_campaign=ASC
The accepted values are ASC
for ascending or DESC
for descending.
All sorts are lexicographical sort.
Report Formats
You can request reports in two formats: JSON or CSV.
Time Zone
All data in the reporting API is in UTC (Coordinated Universal Time).
Example Requests
Example advertiser request:
Example publisher request: