At a glance: SKAdNetwork raw data reports contain row-level data generated after translating and decoding postbacks received by AppsFlyer from iOS, as well as raw SKAdNetwork postbacks. Data is available via Data Locker.
Related reading: SKAdNetwork reports available
SKAdnetwork raw-data reports
The reports:
- Are available via Data Locker.
- Have a data freshness: Daily. Data is contained in the h=23 folder of the date the postback is received by AppsFlyer. For example, If the postback was received on Monday, it will be processed after the end of the day. After processing is complete, by 08:00 Tuesday, the data is written to the Monday h=23 folder.
Report types available are:
- Device postback: 1 device postback per install or redownload as received from the iOS device
- SKAd raw data: AppsFlyer decodes and translates the device postback into raw data records. Each postback generates an install or redownload record and in-app event records. The number of in-app event records depends on the conversion value as follows:
- conversion value = 0: No in-app records are generated
- Conversion value > 1-63 in-app event records depending on the measurement type selected.
Report types
Report type | Data Locker topic name | Description | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Device postback | skad_postbacks | Copy of device postbacks sent by the iOS to AppsFlyer. (The postbacks were sent via the ad network). Download postbacks example (CSV). | ||||||||||||
SKAd raw data | skad_installs |
First-time app installs defined as follows: SKAdNetwork reported redownload=false. Meaning, this is the first time the user, represented by the Apple ID, downloaded the app. Download installs example (CSV). |
||||||||||||
SKAd raw data | skad_redownload |
Lists app installs that are not first-time installs. SKAdNetwork reported redownload=true. Meaning, this is not the first time the user, represented by the Apple ID, downloaded the app. This report has the same structure as installs. |
||||||||||||
SKAd raw data | skad_inapps |
In-app events. The number of in-app event records depends on the measurement mode and type configured in the SKAdNetwork settings page. Download in-app events example (CSV).
|
Fields
Format name | Description |
---|---|
String [n] |
The maximum length of the string. We don't usually enforce field length limitations on receipt of the data, but data may be truncated thereafter. |
Time string |
String having the format, |
Enum [n] | Enum fields can only contain specific values. For example, Cost currency has 3 characters and can contain only currency codes as specified |
Timestamp |
10-digit UNIX timestamp. Example: August 4, 2020, 07:25 UTC translates to |
Boolean |
The value of the field can be either |
Field name | Source | Description | Format |
---|---|---|---|
ad_network_campaign_id | Ad network | Campaign ID reported by the ad network to AppsFlyer | String |
ad_network_campaign _name |
Ad network | Campaign name reported by the ad network to AppsFlyer | String |
ad_network_timestamp | Ad network | Time the postback was received by the ad network | Timestamp |
app_id | AppsFlyer | App ID (advertiser app) with prefix ID. | String |
city | AppsFlyer* | String | |
country_code | AppsFlyer* | String | |
dma | AppsFlyer* | String | |
postal_code | AppsFlyer* | String | |
region | AppsFlyer* | String | |
skad_ad_network_id | iOS | ID of the ad network to whom the postback was sent | String |
skad_attribution_signature | iOS | String | |
skad_campaign_id | iOS | Campaign ID used to publish the ad. Range 0-100 | String |
skad_conversion_value | iOS |
Conversion value reported by iOS. Range 0-63. Field population depends on privacy thresholds** |
Integer |
skad_redownload | iOS | If true, app was redownloaded | String |
skad_source_app_id | iOS |
Site ID. The app publishing the ad. This field is identical to source_app_id. Field population depends on privacy thresholds** |
String |
skad_transaction_id | iOS | String | |
skad_version | iOS | String | |
timestamp | iOS | Time the postback was sent by the iOS device | Timestamp |
ad_network_name | iOS | String | |
ip | iOS |
IP address in the HTTP message of the iOS device sending the postback. This field is populated if the ad network provides us with the address. Note! The SDK isn't involved in getting the address. |
String |
skad_app_id |
iOS | String | |
source_app_id |
iOS | Site ID. The app publishing the ad. This field is identical to skad_source_app_id | String |
ad_network_adset_id |
Ad network | String | |
ad_network_adset_name |
Ad network | String | |
ad_network_ad_name |
Ad network | String | |
ad_network_ad_id |
Ad network | String | |
* Derived using the source IP address of the postback sent by iOS ** Apple determines if the field is populated using a privacy threshold mechanism |
Field name | Source | Description | Format |
---|---|---|---|
ad_network_campaign_id | Ad network | Campaign ID reported by the ad network to AppsFlyer | String |
ad_network_campaign _name |
Ad network | Campaign name reported by the ad network to AppsFlyer | String |
ad_network_timestamp | Ad network | Time the postback was received by the ad network | Timestamp |
app_id | iOS | App ID (advertiser app) | String |
city | AppsFlyer* | String | |
country_code | AppsFlyer* | String | |
dma | AppsFlyer* | String | |
event_name | iOS | In-app event name | String |
event_uuid | AppsFlyer | A unique random identifier enabling partners to identify duplicate postbacks | String |
install_date | iOS | Estimated by AppsFlyer based on the update Conversion window. | Time string |
install_type | iOS | New installs | String |
ip | iOS |
IP address in the HTTP message of the iOS device sending the postback. This field is populated if the ad network provides us with the address. Note! The SDK isn't involved in getting the address. |
string |
media_source | iOS | Ad network attributed using AppsFlyer network names | String |
postal_code | AppsFlyer* | String | |
region | AppsFlyer* | String | |
skad_ad_network_id | iOS | ID of the ad network to whom the postback was sent | String |
skad_ambiguous_event | AppsFlyer | If true, the iOS postback was received during the first 72-hours after an advertiser changed the SKAdNetwork settings in the dashboard. Due to the various timers employed by SKAdNetwork AppsFlyer can't map the event accurately. | Boolean |
skad_attribution_signature | iOS | String | |
skad_campaign_id | iOS | Campaign ID used to publish the ad. Range 0-100 | String |
skad_conversion_value | iOS |
Conversion value reported by iOS. Range 0-63. Field population depends on privacy thresholds** |
Integer |
skad_mode | AppsFlyer | The conversion measurement mode used to decode the iOS postback. Being: single, split, or custom. | Integer |
skad_redownload | iOS | If true, app was redownloaded | String |
skad_revenue | iOS | Event revenue amount in USD | String |
skad_source_app_id | iOS |
Site ID. The app publishing the ad. Field population depends on privacy thresholds** |
String |
skad_transaction_id | iOS | - | String |
skad_version | iOS | - | String |
timestamp | iOS | Time the postback was sent by the iOS device | Timestamp |
event_value | S2S |
Default value: null Contains a JSON set by apps implementing custom decode or event sending by S2S. |
String (JSON) |
ad_network_adset_id |
Ad network | String | |
ad_network_adset_name |
Ad network | String | |
ad_network_ad_name |
Ad network | String | |
ad_network_ad_id |
Ad network | String | |
* Derived using the source IP address of the postback sent by iOS ** Apple determines if the field is populated using a privacy threshold mechanism |
Traits and limitations
Trait | Remarks |
---|---|
Ad network access | Ad networks are provided with postbacks |
Agency access | Not available |
Agency transparency | N/A |
Timezone | UTC |
Currency | USD |
Organic data | Based on SDK event data. For example, organic install metrics are calculated as follows: Data of all installs reported by the SDK less non-organic installs reported by SKAdNetworks. |
Non-organic data | Based on SKAdNetwork postbacks |
Data freshness |
Daily. SKAdNetwork timing means that iOS reports installs 48–72 hours after the first app open. |
Historical data |
Earliest date, availability of iOS 14 (September 16, 2020) |
Team member access | Available. According to account permissions |