Stored postbacks don’t feed Reports or Overview yet. Keep your existing mobile
measurement partner as your SKAdNetwork reporting source.
Before you start
Register the source
1
Open Sources
Open Sources. Find the Apple SKAdNetwork card. Select connect.
2
Enter the Bundle ID
Fill the iOS Bundle ID. Use the exact reverse-DNS string from Xcode.
3
Pick a template
Pick E-commerce, Gaming, or Subscription. This sets the conversion-value mapping.
4
Save
Select connect.
Point Apple at Datalyr
Apple fixes the postback path. It reads only the domain from your app, then posts to/.well-known/skadnetwork/report on that domain.
1
Open Info.plist
Open your app’s
Info.plist in Xcode.2
Add the endpoint key
Add the key
NSAdvertisingAttributionReportEndpoint. Set its value to https://ingest.datalyr.com.3
Ship a build
Archive the app. Submit the build to App Store Connect.
Set the conversion value
Call the helper at each milestone you want Apple to encode. Fine values run from 0 to 63.skadTemplate at initialization and call trackWithSKAdNetwork() to let the SDK
encode the value for you. On iOS 17.4 and later the SDK sends each value to both SKAdNetwork
and AdAttributionKit. On iOS 18 and later it also sends re-engagement values. See
iOS SDK for the per-version table and the two optional
Info.plist keys, EligibleForAdAttributionKitReengagementPostbackCopies and
AttributionCopyEndpoint.
The three templates map these event names to fine values.
Ad network IDs
SKAdNetworkItems is a key for apps that show ads. An advertised app does not need it to
receive postbacks. Some ad networks ask advertisers to list their IDs anyway. In an Expo app,
the networks option of the config plugin writes them. In a native app, add them to your own
Info.plist. See React Native SDK.
Reference
Fields we store
version, ad_network_id, campaign_id, source_identifier, app_id, source_app_id, source_domain, conversion_value, coarse_conversion_value, did_win, redownload, postback_sequence_index, transaction_id, signature_valid, receiving_host, raw_payload.
Version 4 postbacks carry no campaign-id, so we derive campaign_id from the last two digits of source-identifier.
Rejections
Verify
- Open a terminal.
- Run the command below.
- Confirm the response body reads
{"ok":true}. - Ship the build with the plist key set.
- Wait for Apple’s postback window. Apple sends the first postback 24 to 48 hours after an install.
When it does not work
Next
- iOS SDK: the conversion-value helper signature.
- React Native SDK: the template encoder.
- Conversion delivery: how server-side conversions reach ad platforms.