Digital Turbine supports Apple’s SKAdNetwork versions 2.0 and above to facilitate app installation and conversion tracking for our programmatic bidders buying on iOS 14+.
We are adopting a unified approach that allows our buyer-side partners to maximize campaign and creative optimization. We are dedicated to ensuring SKAdNetwork is adopted efficiently and optimally for real-time bidding.
SKAdNetwork DSP Setup
Initial Configuration with Apple
DSP registers for SKAdNetwork support with Apple:
-
-
Receives SKAdNetwork ID from Apple (must be lowercase)
- Receives Private Key from Apple
-
Creates an elliptic curve cryptographic key pair, referred to as the DSP's public key, and shares with Apple
-
Configures endpoint URL to receive SKAdNetwork install validation postbacks
-
Integration Setup with DT
- Submit your Legal Entity Name and SKAdNetwork ID to your dedicated account manager as soon as possible to ensure no disruption to supply access.
- Remove IFA filters from your integration.
- Update your integration to receive SKAdNetwork Bid Request and Bid Response extension objects and IDFV. Click here for more details.
- Concurrently update your integration to receive Contextual Data Signals. Visit our Contextual App Targeting page for more details.
- When eligible for SKAdNetwork, return a bid response with the necessary information, as described below.
Receiving Postbacks
- DSPs receive postbacks directly from Apple at their designated endpoints
- DSPs may forward postbacks to MMPs to enable marketers to have a unified view of their app installs
Testing SKAdNetwork with DSP Test App
Click here for a complete end-to-end guide that will allow you to test your SKAdNetwork setup on DT.
DT's SKAdNetwork Flowchart
Bid Request
If a DSP has at least one SKAdNetwork Item in the publisher app’s Info.plist, DT includes a new object in the bid request that provides the necessary information to create a signature. The object is only present if the DT SDK and iOS versions (iOS 14 and above) support SKAdNetwork.
BidRequest.imp.ext.skadn
Attribute | Description | Type | Example |
---|---|---|---|
version | Version of SKAdNetwork supported. Always "2.0" or higher. Dependent on both the OS version and the SDK version. | String | "version":"2.0" |
versions | Array of strings containing the supported SKAdNetwork versions. Dependent on both the OS version and the SDK version. | String | "versions": ["2.0", "2.1", "2.2", "3.0", "4.0"] |
sourceapp | ID of publisher app in Apple’s App Store. Should match BidRequest.app.bundle | String | "sourceapp":"880047117" |
skadnetids | A subset of SKAdNetworkIdentifier entries in the publisher app’s info.plist that are relevant to the DSP. | String Array |
["SKAdNetwork1.skadnetwork"," |
Bid Response
If the bid request includes the BidRequest.imp.ext.skadn object, then a DSP must pass all the following parameters using the below object on their bid response. If the object is present in the response, then DT submits the click data and signature to the productView for iOS SKAdnetwork attribution.
BidResponse.seatbid.bid.ext.skadn
Attribute | Description | Type | Example |
---|---|---|---|
version | Version of SKAdNetwork desired. Must be 2.0 or above. | String | "version":"2.0" |
network | Ad network identifier used in signature. Should match one of the items in the skadnetids array in the request |
String | "network":"dsp1.skadnetwork" |
campaign |
Campaign ID compatible with Apple’s spec. As of 2.0, should be an integer between 1 and 100, expressed as a string. Note: Used in SKAdNetwork 3.0 and below. Replaced by sourceidentifier in 4.0 and above. |
String | "campaign":"45" |
sourceidentifier |
A four-digit integer that ad networks define to represent the ad campaign. Used in SKAdNetwork 4.0+, replaces Campaign ID `campaign`. DSPs must generate signatures in 4.0+ using the Source Identifier. For 4.0+, sourceidentifier can be an integer between 1 and 9999. |
String | "sourceidentifier": "4321" |
itunesitem | ID of advertiser’s app in Apple’s app store. Should match BidResponse.bid.bundle | String | "itunesitem":"880047117 |
nonce | An ID unique to each ad response | String | "nonce": "beeeb65e-b3de-02420004" |
sourceapp | ID of publisher’s app in Apple’s app store. Should match BidRequest.imp.ext.skad.sourceapp | String | "sourceapp":"123456789" |
timestamp | UNIX time in millis string used at the time of signature | String | "timestamp": "1594406341" |
signature | SKAdNetwork signature as specified by Apple | String | "signature": "MEQCIEQZRRyMyUXg==" |
Other contextual and device identifiers are critical to maintaining granular targeting post-IDFA. Please visit our Contextual App Targeting page for more details.
FAQs
Yes. In this case, Skadnetids is passed as null.
DT is actively participating in the IAB’s SKAdNetwork Working Group, and OpenRTB support for SKAdNetwork is subject to change as Apple updates its support versions. We welcome your feedback on this matter.