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 is a filtering of billable numbers to just SKA-derived values. This endpoint has limited dimensions and metrics)
Required Parameters
Parameter | Purpose |
---|---|
* This API has a request window of 45 days. Make sure the date parameters are within the last 45 days. | |
api_key |
the advertiser’s API key for Reporting (a.k.a. Report Key) You can find this Report Key in the Keys tab of the account page in your AppLovin dashboard. If the value is missing, please send an email to support@applovin.com and include the email address associated with your account. |
start* |
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* |
the end date of the report Accepts 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,date,campaign_name. |
report_type |
tells the API to respond with publisher or advertiser data If this parameter is omitted, the API will default to report_type=publisher. |
Optional Parameters
Parameter | 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”) This slows down the response and increases the likelihood of timeouts. |
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 |
---|---|
day | date of reporting data |
impressions | number of impressions |
clicks | number of clicks |
ctr | number of clicks ÷ number of impressions |
conversions | number of conversions (installs) |
conversion_rate | number of conversions ÷ number of clicks |
average_cpa | average cost per conversion |
average_cpc | average cost per click |
ad | ad name |
ad_id | ad ID. This does not change if the ad name changes |
creative_set | creative set name |
creative_set_id | creative set ID. This does not change if the creative set name changes |
custom_page_id | the iOS Custom Product Page or Android Store Listing associated with the creative set |
country | two letter country code |
campaign | campaign name |
app_id_external | hashed application ID (commonly referred to as “site ID”). |
external_placement_id | encrypted application ID (Used with API Source bidding) |
traffic_source | AppLovin, or the name of the exchange |
ad_type | GRAPHIC, VIDEO, REWARD, APPOPEN, or PLAY |
cost | advertiser spend |
sales | count of attributed sales events (requires setting up revenue postbacks) |
first_purchase | count of users that made their first purchase (requires setting up revenue postbacks) |
size | ad size (INTER, BANNER, MREC, LEADER, PRELOAD, or NATIVE) |
device_type | phone, tablet, or other |
platform | android, ios, fireos, or tvos |
campaign_package_name | package name or Bundle ID of the app being promoted |
campaign_store_id |
the numeric portion of the iTunes ID of the promoted app on iOS and the camaign_package_name otherwise |
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_ad_type | ua for user acquisition, or rt for retargeting |
application |
source application name |
installs |
SKAdNetwork-derived installs with redownload=false. /skaReport only, for other reports, use conversions |
redownloads |
SKAdNetwork-derived installs with redownload=true. /skaReport only, for other reports, use conversions |
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, ie …&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_name, add the following URL parameter: sort_campaign_name=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:
https://r.applovin.com/report?api_key=YOUR_API_KEY&start=2015-04-20&end=now&columns=day,campaign,impressions,clicks,ctr,conversions,conversion_rate,app_id_external,cost,sales&format=json&report_type=advertiser
Example publisher request:
https://r.applovin.com/report?api_key=YOUR_API_KEY&start=2016-07-01&end=2016-07-07&columns=day%2Cplatform%2Ccountry%2Capplication%2Cpackage_name%2Csize%2Cad_type%2Cimpressions%2Cclicks%2Crevenue,device_type&having=impressions%20%3E%200%20AND%20revenue%20%3E%200&format=csv