Advertising Tracking Enabled for Audience Network

Audience Network has updated its guidance on setting up the Advertiser Tracking Enabled parameter. You are no longer required to set the Advertiser Tracking Enabled parameter for Audience Network SDK for iOS 17.0.0 and later versions. We now rely on Apple’s App Tracking Transparency (ATT) system API to determine ATT permission status for requests or events sent through Audience Network SDK for iOS 17.0.0 and later versions.

Note: Developers can find additional details around the tracking domain field in the Privacy Manifests for Meta SDKs. What is pre-populated in the tracking domain field will receive traffic when a user has provided AppTrackingTransparency (ATT) permission to the app. If our check determines that a request or event from an iOS 14.5 and later device lacks ATT permission, then usage of such data will be restricted and we will use privacy preserving methods to remove or combine information before it’s used to deliver or measure ads.

Guidance for setting up the ATE parameter in Audience Network SDK for iOS 14.5 to iOS 16.3.1 versions

Set the setAdvertiserTrackingEnabled parameter to indicate that the request or event is opted in for tracking.

If you don't set the Advertiser Tracking Enabled parameter indicating that an iOS 14.5 and later request or event is opted-in for tracking, we may restrict our use of that request or event. You should review your own legal obligations, platform terms, and commitments you've made to your users to determine which requests or events should be sent with the Advertiser Tracking Enabled parameter indicating they are opted-in for tracking.

If the parameter is sent and set to true or yes, the request or event data may be treated as opted-in for tracking. If the parameter is sent and set to false or no, Meta may treat that iOS 14.5 and later request or event as lacking ATT permission.

Note also:

  • You will need to implement the setAdvertiserTrackingEnabled parameter irrespective of the use of mediation.
  • If you are integrating Facebook’s SDK as well as the Audience Network SDK, you must also set the setAdvertiserTrackingEnabled parameter for Facebook's SDK. See Advertiser Tracking Enabled for details.

Limitations

  • AdvertiserTrackingEnabled is only available for iOS 14.5 and up to 16.3.1 versions.
  • Limit Ad Tracking can be used for versions prior to iOS 14.5 that support Limit Ad Tracking.

Guidance for Audience Network SDK 6.15.0 and later versions and for iOS 17.0 and later versions

For iOS 17.0 and later devices, and Audience Network iOS SDK 6.15.0 and later versions, you are no longer required to set the Advertiser Tracking Enabled parameter for the Audience Network SDK. We now rely on Apple’s App Tracking Transparency (ATT) system API to determine ATT permission status for requests or events.

The setter for advertiserTrackingEnabled flag is deprecated: The setAdvertiserTrackingEnabled flag is not used for Audience Network SDK 6.15.0+ on iOS 17+ as the Audience Network SDK 6.15.0+ on iOS 17+ now relies on [ATTrackingManager trackingAuthorizationStatus]

How to Use the Parameter

  • AdvertiserTrackingEnabled is only available for iOS 14.5 or later devices. If you are running iOS prior to iOS 14.5 that supports Limit Ad Tracking, then Limit Ad Tracking can be used.
  • Set the AdvertiserTrackingEnabled parameter to either true or false.
  • Once you set the AdvertiserTrackingEnabled parameter, it is incorporated into each ad request and the bidder token automatically.
  • The true or false setting will remain at your chosen value until you manually change it. However, if the user uninstalls and reinstalls your app, you must set the parameter again.

Set the ‘Advertising Tracking Enabled’ Flag

Call the setAdvertiserTrackingEnabled method of the FBAdSettings class and set it to YES for Objective-C or true for Swift. On the contrary, set setAdvertiserTrackingEnabled to NO for Objective-C or false for Swift.

If you are using mediation, then you need to implement the setAdvertiserTrackingEnabled flag before initializing the mediation SDK in order for us to receive it in the bidding request.

This flag also applies with test mode enabled

// Set the flag as true 
[FBAdSettings setAdvertiserTrackingEnabled:YES];
// Set the flag as false 
[FBAdSettings setAdvertiserTrackingEnabled:NO];
// Set the flag as true
FBAdSettings.setAdvertiserTrackingEnabled(true)
// Set the flag as true
FBAdSettings.setAdvertiserTrackingEnabled(false)

Unity

Are you using the Audience Network-supplied Unity wrapper?

  • If Yes, use the following code.
// Set the flag as true 
AudienceNetwork.AdSettings.SetAdvertiserTrackingEnabled(true);
// Set the flag as false
AudienceNetwork.AdSettings.SetAdvertiserTrackingEnabled(false);
  • If No, enter this code first:
using UnityEngine;
using System.Runtime.InteropServices;

#if UNITY_IOS

namespace AudienceNetwork
{
    public static class AdSettings
    {
        [DllImport("__Internal")] 
        private static extern void FBAdSettingsBridgeSetAdvertiserTrackingEnabled(bool advertiserTrackingEnabled);

        public static void SetAdvertiserTrackingEnabled(bool advertiserTrackingEnabled)
        {
            FBAdSettingsBridgeSetAdvertiserTrackingEnabled(advertiserTrackingEnabled);
        }
    }
}

#endif

Once you have entered this code, you can then enable or disable the flag as if using the Unity wrapper.

Troubleshooting