SKAN aggregated performance report API

At a glance: SKAN performance enriched with additional data points. Similar to the data in the SKAdNetwork dashboard. Aggregate using either the install date or postback arrival date.

SKAN aggregated performance report API

The API returns attribution metrics reported by Apple SKAdNetwork (real data) and other data points using the install or postback arrival date. The report is similar in structure to the data presented in the SKAN dashboard

Using SKAN aggregated performance report API

To use SKAN aggregated performance report API:

  1. Get the API token. An admin needs to retrieve the token.
  2. Give your developer the API token to be used in the authentication header.
  3. Give your developers the parameters to input when they make the API call, as described in the section that follow. The parameters determine what the report focuses on, how it's organized, and provide a reporting timeframe.
  4. Tell your developer to follow their SKAN aggregated performance report API in the developer hub.


Parameter name Format Mandatory


The date type used in the date range bounded by start_date and end_date


  • [Default] install: The install date derived by AppsFlyer using the postback arrival time and after considering the measurement period.
  • arrival: The postback arrival time. Note: Organic install metrics have the value N/A. 

Google Ads data: The install and arrival dates are the same due to the Google Ads reporting methodology. 




The install date range is bounded by start_date and end_date. Note! Install date differs from postback arrival date. 

  • Earliest install date having format YYYY-MM-DD 
  • Earliest date permitted: 2020-11-01
    Example: 2020-11-05
  • Most recent install date having format YYYY-MM-DD
  • Maximum number of days per report call: 90 days 
  • Example: 2020-11-12

Filter the installs by type as follows: 

  • acquisition: Installs 
  • retargeting: Redownloads
  • unified: Acquisition and redownloads combined.
  • [Default] unified
  • Cost, click, and impression metrics return when view_type=unified


  • Only available from V2
  • Value can be either true or false
  • If true, the postback includes the modeled data when populating the decoded metric columns. See available fields
  • If false, the postback presents decoded data as received by raw SKAN postbacks, without modeled data.
  • Default value is false.


Report structure and example

The API returns a CSV file.

  • The fields and metrics available in the report are listed in the table that follows. 
  • Some metrics (revenue, engagement, conversion) depend on the SKAN performance measurement settings.
  • The report includes only the in-app events that users performed during the reporting period. As such, the number and sequence of in-app event columns can change from report to report. Don't rely on column sequence in designing your data import process.
  • Examples: V1 | V2

Report fields

Field name Dimension or metric Available with API V1 token  Available with API V2 token

Available with API V2 token (for SKAN 4)

Available with modeled data only filter


The data is according to the selected date_type.

Dimension N Y Y Y
Media Source (pid) Dimension Y Y Y Y
Campaign (c)






Campaign ID Dimension Y Y Y Y
Site ID Dimension Y Y Y N
Adset Dimension N Y Y Y
Adset ID Dimension N Y Y Y
Ad Dimension N Y Y N
Ad ID Dimension N Y Y N
Country Dimension Y Y N

AF Attribution Flag

See: SSOT guide

Dimension N Y Y Y

Postback sequence index

Dimension N N Y Y


Dimension N N Y N


Dimension N N Y N
Impressions Metric Y Y Y Y
Clicks Metric Y Y Y Y
CTR Metric Y Y Y Y
Installs Metric Y Y Y Y

Click Through Installs (fidelity_type = 1)

Metric Y Y Y Y

View Through Installs

(fidelity_type = 0)

Metric Y Y Y Y

Null Conversion Value Rate

[Available starting Jan 23, 2022] 

Metric N Y Y Y
Conversion Rate Metric Y Y Y Y
Converted Users Metric Y Y Y Y
Converted Users/Installs Metric Y Y Y Y
Total Revenue Revenue metric Y Y Y Y
Total Cost Metric Y Y Y Y
ROI Revenue metric Y Y Y Y
ARPU Revenue metric Y Y Y Y
Average eCPI Metric Y Y Y Y
{af_skad_revenue} (Unique users) Revenue metric Y Y Y Y
{af_skad_revenue} (Event counter) Revenue metric Y Y Y Y

{your in-app event name} (Unique users) 

Metric Y Y Y Y
{your in-app event name} (Event counter)  Metric Y Y Y Y

Specifications and limitations

Spec Remarks 
Data freshness Data availability is according to the SKAN data freshness rate.
Date range
  • When setting the date range the most recent date should be the current date UTC time zone minus 3 days. Meaning on March 31, use March 28. 
  • Earliest date supported: November 1, 2020
  • Maximum query range: 90 days
Rate limits
  • Queries return up to 250K rows
  • 10 calls per minute
  • Meta ads: data is available. 
  • Google Ads: Installs can be recorded up to 45 days post-install due to the Google click-time methodology. If you query Google data for the last 45 days every day, this provides the coverage needed for Google SKAN data.
Ad network access  If you are an analytics partner, ask the advertiser to grant you permission.
Agency access Not available
App-specific time zone UTC only
App-specific currency  Always USD
Organic data Calculated as the difference between all data reported by SDK directly to AppsFlyer less non-organic data reported by SKAN postbacks
Non-organic data Calculated using SKAN postbacks received by AppsFlyer
Historical data Earliest conversion data (install or retarget) supported: November 1, 2020
Account user access The authorization token is available to an admin user in the dashboard.
Total cost SKAN API may not include the total cost metric if the regular attribution (regular Overview) contains SKAN campaigns that in the lowest granularity level (for example: ad, country, or site ID) have more than 50K rows.