At a glance: SKAN raw data reports contain row-level data generated after translating and decoding postbacks received by ZendeskConnect from iOS, as well as raw SKAN postbacks. Data is available via Data Locker and Push API. If your subscription plan includes raw data, there is no need for a Data Locker subscription.
Related reading: SKAN reports available
SKAN raw data reports
Principles:
-
Data is provided by:
-
Data Locker.
- Note! Available to accounts having a raw data subscription. Meaning, there is no need for a Data Locker subscription. If you aren't currently using Data Locker, the admin must configure Data Locker and enable the SKAN reports. To do so, go to Integration > Data Locker. Select the SKAN reports.
- Data freshness rate: Daily. Data is contained in the h=23 folder of the date the postback is received by ZendeskConnect. Example: If the postback was received on Monday, it is processed after the end of the day. Processing is completed, by 12:00 UTC Tuesday, the data is written to the Monday h=23 folder.
-
Push API
- Data freshness: See Push API for SKAN data.
-
Data Locker.
-
Install date:
- The install date is derived from the postback arrival time.
- The install date is derived from the postback arrival time as follows: Postback arrival time-36 hours-[average last-active range]. The default [average last-active range] is 12 hours. However, if the conversion value is 0, then the average last-active range is set to 0.
Report types available are:
- Device postback: 1 device postback per install or redownload received from the iOS device.
-
SKAN raw data:
- ZendeskConnect 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 (CV) as follows:
- CV = 0, blank, or null: No in-app records are generated.
- CV range 1-63: The number of in-app records depends on your measurement settings.
Why are some fields empty? This occurs for any of the following reasons:
- Non-mandatory enrichment fields like campaign_name, ad_network_campaign_id, ip that the ad network did not provide.
- Apple withheld the data due to Apple threshold policies. Fields like source_app_id, skad_campaign_id, skad_conversion_value.
Report types
| Report type | Report name | Description | |||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Postback | Postbacks |
Postbacks sent by iOS to the ad network. The postback, after enrichment by the ad network, is forwarded to ZendeskConnect. Download postbacks example (CSV). Note: This topic can contain both winning and contributing postbacks. Use the did_win field to differentiate them. Topic name in Data Locker: skad_postbacks |
|||||||||||||||||||||||
| Postback | Postbacks copy (direct from Apple) |
Postbacks sent directly by iOS to ZendeskConnect. Available starting iOS 15+ and requires the advertiser to configure the app to send the winning postback to ZendeskConnect. Download postbacks copy example (CSV). Note: This topic contains only winning postbacks. Topic name in Data Locker: skad_postbacks_copy |
|||||||||||||||||||||||
| Decoded event | Installs |
First-time app installs SKAN reported redownload=false. Meaning, this is the first time the user, represented by the Apple ID, downloaded the app. Topic name in Data Locker: skad_installs |
|||||||||||||||||||||||
| Decoded event | Redownloads |
App installs that are not first-time installs SKAN 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. Topic name in Data Locker: skad_redownloads |
|||||||||||||||||||||||
| Decoded event | In-app events |
In-app events Starting July 21, 2021, there are changes to how we provide in-app event raw data as detailed in the tables. The number of in-app event records depends on your measurement settings. Download in-app events example (CSV).
|
SKAN raw data 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 |
| Integer |
Integer |
| Float |
Real floating number that can have a decimal point and values after the decimal point. |
| Field name | Source or iOS SKAN starting version | Description | Format | Included in postbacks copy |
|---|---|---|---|---|
|
ad_network_campaign_id |
Ad network | Campaign ID reported by the ad network to ZendeskConnect | String | No |
|
ad_network_campaign _name |
Ad network |
Campaign name reported by the ad network to ZendeskConnect.
|
String | No |
|
ad_network_timestamp |
Ad network |
Time the ad network received the postback. In the case of Google Ads, the time is derived from the last-click time reported by Google. |
Timestamp | No |
|
app_id |
ZendeskConnect | App ID (advertiser app) with prefix ID. | String | Yes |
|
city |
ZendeskConnect | Staring August 30, 2021, always null | String | No |
|
country_code |
Ad network | String | No | |
| dma | Staring August 30, 2021, always null | String | No | |
|
postal_code |
Staring August 30, 2021, always null | String | No | |
|
region |
ZendeskConnect | According to the country_code reported | String | No |
|
skad_ad_network_id |
1.0 |
|
String |
Yes |
|
skad_attribution_signature |
1.0 | String | Yes | |
| skad_campaign_id | 1.0 | Campaign ID used to publish the ad. Range 0-100 | String | Yes |
| skad_conversion_value | 2.0 |
Conversion value reported by iOS. Range 0-63. Field population depends on privacy thresholds** |
Integer | Yes |
| skad_redownload | 2.0 | If true, app was redownloaded |
Boolean |
Yes |
| skad_source_app_id | 2.0 |
Site ID. The app publishing the ad. This field is identical to source_app_id. Field population depends on privacy thresholds** |
String | Yes |
| skad_transaction_id | 1.0 | String | Yes | |
| skad_version | 2.0 | String | Yes | |
| timestamp | Ad network |
Time the iOS device sent the postback. In the case of Google ads, this time is derived using the last-click time reported by Google Ads. |
Timestring | Yes |
| ad_network_name | Ad network |
Ad network name reported by the ad network to ZendeskConnect.
|
String | No |
| ip |
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 | No | |
|
skad_app_id |
1.0 | String | No | |
|
source_app_id |
ZendeskConnect | Site ID. The app publishing the ad. This field is identical to skad_source_app_id | String | No |
|
ad_network_adset_id |
Ad network | String | No | |
|
ad_network_adset_name |
Ad network | String | No | |
|
ad_network_ad_name |
Ad network | String | No | |
|
ad_network_ad_id |
Ad network | String | No | |
|
did_win |
3.0 (iOS 14.6) |
Used to distinguish between campaigns contributing or attributed with the install.
|
Boolean | Yes |
|
fidelity_type |
2.2 (iOS 14.5) |
Differentiate between ad presentation options that affect attribution. Indicated using the values 0 and1 as follows:
Disregard the field value if the SKAN version is before 2.2 |
Integer | Yes |
|
ad_network_source_app_id |
Ad network | Publisher app ID reported by the ad network. Use to help reconcile cost; reported by the ad network. The publisher app gives the basis for this data. | String | No |
|
ad_network_channel |
Ad network | String | No | |
|
af_prt |
Ad network | String | No | |
|
** 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 ZendeskConnect | String |
| ad_network_campaign _name |
Ad network | Campaign name reported by the ad network to ZendeskConnect | String |
| ad_network_timestamp | Ad network |
Time the postback was received by the ad network In the case of Google Ads, this field isn't populated. |
Timestamp |
| app_id | iOS | The app ID (advertiser app) | String |
| city | Staring August 30, 2021, always null | String | |
| country_code | Ad network | String | |
| dma | Staring August 30, 2021, always null | String | |
| event_name | ZendeskConnect | In-app event name | String |
| event_uuid | ZendeskConnect | A unique random identifier enabling partners to identify duplicate postbacks | String |
| install_date | iOS | Estimated by ZendeskConnect based on the update Conversion window. | Time string |
| install_type | iOS | New installs | String |
| ip | iOS |
The 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 ZendeskConnect network names | String |
| postal_code | Staring August 30, 2021, always null | String | |
| region | ZendeskConnect | Determined according to the country_code | String |
| skad_ad_network_id | iOS | ID of the ad network to whom the postback was sent | String |
| skad_ambiguous_event | ZendeskConnect | If true, the iOS postback was received during the first 72-hours after an advertiser changed the SKAN settings in the dashboard. Due to the various timers employed by SKAN, ZendeskConnect 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 | Integer |
| skad_conversion_value | iOS |
Conversion value reported by iOS. Range 0-63. Field population depends on privacy thresholds** |
Integer |
| skad_mode | ZendeskConnect | The conversion measurement mode used to decode the iOS postback. Options: total, revenue, events, engagement, custom_encode, custom_decode | String |
| skad_redownload | iOS | If true, the app was redownloaded | Boolean |
| skad_revenue | iOS | Event revenue amount in USD. | Float |
| 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. In the case of Google ads, this time is derived using the last-click time reported by Google Ads. |
Timestamp |
| event_value | S2S |
Default value: null Contains a string set by apps implementing custom decode or event sending by S2S. Advertisers consume this in their systems. ZendeskConnect doesn't make use of it. |
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 |
|
skad_did_win (1) |
3.0 (iOS 14.6) |
Used to distinguish between campaigns contributing or attributed with the install.
|
Boolean |
|
skad_fidelity_type (1) |
2.2 (iOS 14.5) |
Differentiate between ad presentation options that affect attribution. Indicated using the values 0 and1 as follows:
Disregard the field value if the SKAN version is before 2.2 |
Integer |
|
ad_network_source_app_id (1) |
Ad network | Publisher app ID reported by the ad network. Use to help reconcile cost; reported by the ad network. The basis for this data is provided by the publisher app. | String |
|
ad_network_channel (1) |
Ad network | String | |
|
af_prt (1) |
Ad network | String | |
|
min_revenue |
ZendeskConnect | See note (4) | Real number |
|
max_revenue |
ZendeskConnect | See note (4) | Real number |
|
min_event_counter |
ZendeskConnect | Use to calculate the number of times a user performs an event. See note (3) | Integer |
|
max_event_counter |
ZendeskConnect | See note (3) | Integer |
|
min_time_post_install |
ZendeskConnect | See note (5) | Integer |
|
max_time_post_install |
ZendeskConnect | See note (5) | Integer |
|
af_attribution_flag |
ZendeskConnect | [Beta] When the single source of truth (SSOT) mechanism is on: If true, the install was attributed by both ZendeskConnect and SKAN. If false, the install wasn't attributed by ZendeskConnect. | Boolean |
|
measurement_window |
ZendeskConnect | Duration of the activity window. Default 24h. | Integer |
|
interval |
ZendeskConnect | Activity window intervals. | Integer |
|
user_agent |
ZendeskConnect | Device user agent | String |
|
** Apple determines if the field is populated using a privacy threshold mechanism (1) Starting June 2, 2021, the field is added to reports but won't necessarily be populated. (3) To determine the number of times a user performs a given in-app event use the formula: (4) Revenue is always provided in the field (5) In Custom conversion, ZendeskConnect calculates install time as the postback arrival time - 36h - average (min_time_post_install + max_time_post_install). However, if CV=0 then verage (min_time_post_install + max_time_post_install) is regarded as 0. |
|||
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 SKAN. |
| Non-organic data | Based on SKAN postbacks |
| Data freshness |
Daily. SKAN timing means that iOS reports on an install 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 |
Comments
0 comments
Article is closed for comments.