SKAN aggregated postback arrival date API

At a glance: Aggregated SKAdNetwork postbacks via API. Data is aggregated using postback arrival date. 

SKAdNetwork postback arrival date aggregation reporting API

API basics

Overview

The API returns aggregated SKAdNetwork postbacks, using the postback arrival date range. Note! Postback arrival date differs from the install date used in the SKAdNetwork dashboard and reports.

Related reading: Aggregated install date reporting API

Data freshness

The report updates Daily.

Data availability is according to the SKAdNetwork data freshness rate.

Path API V1 token

https://hq1.appsflyer.com/api/skadnetworks-postbacks/v1/data/app/<app_id>

V1 is deprecated. The sunset date will be announced in the future. 

Path API V2 token

https://hq1.appsflyer.com/api/skadnetworks-postbacks/v2/data/app/<app_id>

Path API V2 token for SKAN 4  https://hq1.appsflyer.com/api/skadnetworks-postbacks/v3/data/app/<app_id>
Path parameters (mandatory)

<app_id>: Is the app identifier, as found in the AppsFlyer dashboard. Insert it exactly as it appears in the dashboard. Example: id123456789

Query parameters

Listed in the table that follows.
HTTP method GET
Response content type text/plain
Authorization

Authorization HTTP header containing API V2.0 token (Bearer token) is required.

AppsFlyerAdmin_us-en.pngThe admin user gets the V2 token in the dashboard, go to your email address > API tokens. 

Date limitations
  • Earliest date supported: November 1, 2020
  • Maximum query range: 60 days
Rate limitation
  • Queries return up to 200K rows
  • 60 calls per minute
SRN-related remarks

Google Ads: The postback arrival date is derived using the last-click time reported by Google. 

Query parameters
Parameter name Details Mandatory

start_date

The postback arrival date range is bounded by start_date and end_date. Note! The arrival date differs from the install date used in the SKAdNetwork dashboard and reports.

  • YYYY-MM-DD 
  • Earliest date permitted: 2020-11-01
    Example: 2020-11-05
Yes
end_date
  • YYYY-MM-DD
  • Maximum number of days per report call: 60 days 
  • Example: 2020-11-12
Yes
ad_network_name

Filter by media source

No

geo Filter by country code using ISO 3166 (alpha-2). Example: US, CN

No

skad_redownload

Filter by true or false

No

skad_source_app_id

Filter by source app ID

No

ad_network_campaign_id

Filter by ad network campaign ID.

Note: This is not the campaign ID reported by SKAdNetwork.

No

modeled_conversion_values
  • Only supported from V2
  • Value can be either true or false
  • If true, the postback populates the “count” column with modeled conversion value data.  See available field for modeled data
  • If false, the postback presents the conversion value count and with all available fields as received by listed in the report structure, without modeled data.
  • Default value is false.

No

Request example (cURL)  

curl --request \
GET 'https://hq1.appsflyer.com/api/skadnetworks-postbacks/v3/data/app/<app_id>?start_date=2020-09-10&end_date=2020-09-20' \
--header 'Authorization: Bearer <V2_AUTH_TOKEN_HERE (700+ characters string)>'

Report structure and example

Examples: V1 | V2

The API returns a CSV file with the following naming scheme:

<app_id>_skadnetworks_postbacks_report_<start-date>_<end-date>_<unique-report_hash>_UTC_.csv

Available fields

Columns and metrics available are listed in the table that follows. 

SKAdNetwork aggregate report structure
Column name Dimension or measure Available with API V1 token Available with API V2 token Available with API V2 token (for SKAN 4) Available with modeled data only filter
skad_postback_sequence_index Group by N N Y Y

skad_conversion_value

Group by Y Y Y Y

skad_coarse_conversion_value

Group by N N Y Y

skad_ad_network_id

Some SRNs don't share their ID with us. In this case, the field is blank and ad_network_name is populated.

Group by

Y

Y

Y

Y

ad_network_name

Currently,  in most cases this field is blank. We do populate it in the case of SRNs who don't share their skad_ad_network_id

Group by Y Y Y Y

skad_source_identifier

group by N N Y Y

skad_campaign_id

Group by Y Y Y Y

ad_network_campaign_id

Group by Y Y Y Y

ad_network_campaign_name

Group by Y Y Y Y

ad_network_adset_id

Group by N Y Y Y

ad_network_adset_name

Group by N Y Y Y

ad_network_ad_id

Group by N Y Y N

ad_network_ad_name

Group by N Y Y N

ad_network_creative

Group by N N Y N

ad_network_channel

Group by N N Y N

skad_version

Group by Y Y Y N

skad_redownload

Group by Y Y Y N

skad_source_app_id

Group by Y Y Y N

skad_source_domain

Group by N N Y Y

skad_fidelity_type

Group by N Y Y N

geo

Group by Y Y Y N

arrival_date

Group by Y Y Y Y

count

Measure Y Y Y Y

 

Traits and limitations

Trait
Trait Remarks 
Ad network access  Available to analytics partners if the advertiser grants permission. 
Agency access Not available
App-specific time zone UTC only
App-specific currency  Always USD
Organic data Not available with this API
Non-organic data Calculated using SKAdNetwork 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.

HTTP response codes and troubleshooting

Response codes and troubleshooting guide
HTTP Response

Remarks

200 OK

Valid data returned (CSV)

200 OK

Empty report - no data found for the specified date range (CSV, only column names are returned).

  • In the SKAdNetwork dashboard, verify that data is available for the specified date range.
  • Verify that start_date is a date earlier than yesterday.
400 Bad request

Missing or invalid query parameters

401 Unauthorized

Authorization token is missing or invalid

Make sure you use the token correctly

403 No permission You don't have permission to access this report. If you are an analytics partner, ask the advertiser to give you permission.
404 Not found
429 Too many requests

Exceeded rate limitation