Traffic tracking on iOS devices varies between versions. Before iOS 14.5, the IDFA (Apple device identifier) had been used. IDFA transfer to apps and ad networks was enabled by default, but the user could manually disable it.
Starting from iOS 14.5, SKAdNetwork was introduced for event tracking, which brought changes to the way advertisers receive conversion data. For more information about that, see Apple documentation.
Restrictions
iOS targeting campaigns have certain restrictions:
- An iOS app can be advertised using SKAdNetwork by the app owner, as well as by advertisers that have been given access to the app by the owner.
- Either a tracking link to the app’s App Store page is required to run ads.
- You can create no more than 100 ad sets for each app. The number of active ads and available ad slots can be viewed by going to the SKAD tab in the app card.
- If you archive an ad, you'll be able to access its Apple ID again in seven days.
- The app install statistics update with a delay of 24–48 hours.
Integration features
Requirements
myTarget SDK 5.9.0 or higher
Enabling SKAdNetwork for conversion tracking
myTarget SDK supports conversion tracking using Apple's SKAdNetwork framework, meaning VK Ads can count app installs even when IDFA is not available.
To enable this functionality, you need to add SKAdNetworkItems identifiers to the Info.plist file.
<key>SKAdNetworkItems</key>
<array>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>r26jy69rpl.skadnetwork</string>
</dict>
</array>
App Tracking Transparency authorization request
To request App Tracking Transparency authorization to access IDFA, update the Info.plist file and add the NSUserTrackingUsageDescription key with a message about how the ID will be used:
<key>NSUserTrackingUsageDescription</key>
<string>This ID will be used to tailor personalized ads.</string>
To show the request, call the requestTrackingAuthorizationWithCompletionHandler method.
It is recommended to start loading ads after calling the callback. This way, if the user's permission has been granted, myTarget SDK will be able to use IDFA in the ad request.
#import <AdSupport/AdSupport.h>
#import <AppTrackingTransparency/AppTrackingTransparency.h>
- (void) requestTrackingAuthorization
{
[ATTrackingManager requestTrackingAuthorizationWithCompletionHandler: ^(ATTrackingManagerAuthorizationStatus status)
{
// The request has been fulfilled, you can start downloading ads
// [self loadAd];
}];
}