SKAdNetwork

Digital Turbine supports Apple’s SKAdNetwork version 2.0 and later, which allows programmatic buyers to effectively measure and track app installs and conversions on iOS. This framework allows buyers to gather insights while maintaining user privacy by leveraging aggregated attribution data.

Configuring SKAdNetwork IDs

To configure SKAdNetwork on DT Exchange:

  1. Register for ad network SKAdNetwork support with Apple. 
    For more information, see Registering an ad network.
  2. Provide your Legal Entity Name and your Apple SKAdNetwork ID to your Account Manager.
    To locate your Apple SKAdNetwork ID, see Apple's developer documentation to Configure a Source App.
  3. Remove IFA filters from your integration.
  4. Update your integration to:
  5. Send a bid response when the SKAdNetwork applies,  as described in Bid Response.

Note

To retrieve DT's recommended SKAdNetwork IDs, see Getting the SKAdNetwork IDs.

Receiving Postbacks

Apple sends postbacks to your designated endpoints, which you can share with your attribution provider for a unified view of app installs and conversions.

Bid Request

If a publisher includes at least one SKAdNetwork Item in the publisher app’s Info.plist, pass all of the following parameters in the bid request. DT includes a new object in the bid request that provides the necessary information to create a signature. 

BidRequest.imp.ext.skadn

Attribute Description Type
version Version of SKAdNetwork supported. Always 2.0 or later. Dependent on both the OS version and the SDK version.
With the release of SKAdNetwork 2.1, this field is deprecated in favor of the BidRequest.imp.ext.skadn.version to support an array of version numbers.
String
versions Array of strings containing the supported SKAdNetwork versions. Dependent on both the OS version and the SDK version. For example, [2.0, 2.1, 2.1, 3.0, 4.0]. String
sourceapp ID of publisher app in Apple’s App Store. Should match BidRequest.app.bundle. For example, 880047117. String
skadnetids A subset of SKAdNetworkIdentifier entries in the publisher app’s info.plist, expressed as lowercase strings, that are relevant to the bid request, for example, ["SKAdNetwork1.skadnetwork", "SKAdNetwork2.skadnetwork"]. String Array

Bid Response

If the bid request includes the BidRequest.imp.ext.skadn object, you must pass all the following parameters in the bid response. If present, DT submits the click data and signature to the productView for iOS SKAdnetwork attribution.

BidResponse.seatbid.bid.ext.skadn

Attribute Description Type
version Version of SKAdNetwork desired. Must be 2.0or above. String
network Ad network identifier used in signature. This should match one of the items in the skadnetids array in the request, for example, dsp1.skadnetwork. String
campaign Campaign ID compatible with Apple’s spec. This should be an integer between 1 and 100, expressed as a string.
With the release of SKAdNetwork 4.0, this field is deprecated in favor of sourceidentifier
String
sourceidentifier A four-digit integer that ad networks define to represent the ad campaign.
For 4.0+, sourceidentifier. This should be an integer between 1 and 9999, expressed as a string.
String
itunesitem ID of advertiser's app in Apple's app store. This should match BidResponse.seatbid.bid.bundle. String
nonce A unique ID for each ad response. Refer to Apple's documentation for the proper UUID format.
With the release of SKAdNetwork 2.2, this field is deprecated in favor of BidResponse.seatbid.bid.ext.dkadn.fidelities.nonce, for example, beeeb65e-b3de-02420004.
String
sourceapp ID of publisher’s app in Apple’s app store. This should match BidRequest.imp.ext.skad.sourceapp. String
timestamp Unix time (in milliseconds) string used at the time of signature.
With the release of SKAdNetwork 2.2, this field is deprecated in favor of BidResponse.seatbid.bid.ext.skadn.fidelities.timestamp to support multiple fidelity types, for example, 1594406341.
String
signature SKAdNetwork signature, as specified by Apple.
With the release of SKAdNetwork 2.2, this field is deprecated in favor of the BidResponse.seatbid.bid.ext.skadn.fidelities.signature to support multiple fidelity types, for example, MEQCIEQZRRyMyUXg==.
String

Note

Other contextual and device identifiers are critical to maintaining granular targeting post-IDFA; for more information, see Contextual App Targeting.

Testing SKAdNetwork with DSP Test App

To test your SKAdNetwork setup on the DT Test App, see SKAdNetwork Testing via DSP Test App.

FAQs

Will Digital Turbine pass the new BidRequest.imp.ext.skadn object when your network_ID is not listed on the publisher’s p.list?
Yes. In this case, skadnetids passes as null.
What happens if the StoreKit fails to load?
The iOS DT Exchange SDK supports fallback to the Apple Store if StoreKit fails to load.  This only occurs in sporadic edge cases.

Back to Top ⇧