Reporting API

  • Updated

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