SKAdNetwork

Digital Turbine supports Apple’s SKAdNetwork versions 2.0 and 2.1 to facilitate app install and conversion tracking for our programmatic bidders buying on iOS 14+.

We are adopting a unified approach that allows our buy-side partners to maximize campaign and creative optimization. We are dedicated to ensuring SKAdNetwork is adopted in an efficient and optimal manner 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 complete details on how to end-to-end test your SKAdNetwork setup on DT

DT's SKAdNetwork Flowchart

Bid Request

If a DSP has at least one SKAdNetworkItem 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. Object is only present if both the DT SDK version and the OS version (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"
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"," SKAdNetwork2.skadnetwork"]

Bid Response

If the bid request includes the BidRequest.imp.ext.skadn object, then a DSP is required to pass all of 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
String "campaign":"45"
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=="

Step 2: Setup Contextual Data Signals

Other contextual and device identifiers are critical to maintaining granular targeting post-IDFA. Please visit our Contextual App Targeting page for more details.

 FAQs

Will Digital Turbine pass the new BidRequest.imp.ext.skadn object when the DSP’s network_ID is not listed on the publisher’s p.list?

Yes. In this case, Skadnetids are passed as null.

Does an app developer need to publish a new version of their app to the store to update info.plist data?
Yes.
What happens if the StoreKit fails to load?
iOS DT Exchange SDK supports fallback to Apple Store in cases where we receive a StoreKit failure message starting from version 7.5.0 and above. This only occurs in very rare edge cases.
In what cases is the BidRequest.imp.ext.skadn object sent?
BidRequest.imp.ext.skadn will only be sent for iOS 14 inventory using DT Exchange SDK 7.7.0+ and DT Fairbid SDK version (TBD)

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.

Back to Top ⇧