Asking users to turn on app tracking is a sensitive task. Adding context and describing the benefits of app tracking for your users is key to optimise your App Tracking Transparency (ATT) opt-in rate. This is all the more important given the fact that the app tracking prompt can only be displayed once.
Batch In-App messages allow you to provide additional details on why app tracking is important for your app and to trigger that request at the best moment:
the first time users open your app,
after a meaningful action,
or when users match a specific targeting.
💡 Have any questions on how Batch collects the advertising ID?
Read our dedicated article here: How to make your Batch integration compliant with iOS 14?
First of all, make sure your app integrates the 1.16 version of the SDK or higher. It includes a new built-in action for In-App messages:
On iOS 14, that built-in action will ask for app tracking consent using the AppTrackingTransparency framework. If users have already been asked and refused to consent, it will open the app's settings where tracking can be enabled.
That built-in action doesn't have any effects on iOS 13 and earlier, or if tracking has been disabled by the user at the device level. Your application needs to have a 'NSUserTrackingUsageDescription' key in its Info.plist or else iOS will crash it. You will find more information on built-in actions here.
Tracking ATT authorization status
In order to target specifically users who didn't allow app tracking yet for your app, excluding users who disabled it system-wide, you will need to send the ATT authorisation status to Batch via a custom attribute.
Here is how to proceed:
trackingAuthorizationStatusproperty to check the app tracking authorization status (see more here).
Send the values provided by iOS (see more here) to Batch using a custom attribute. You can track an attribute that will send a string value to Batch (e.g. att_status="not_determined" or "authorized", "denied", "restricted"). You will find the methods required by Batch SDK to track attributes here.
Make sure these attributes are sent to Batch as soon as the SDK starts and are updated when users interact with iOS' app tracking prompt. You can see if your attribute is sent correctly to Batch using the debug tool.
Creating a pre-permission campaign
Once you have taken all the steps described in the prerequisites, you can start creating your In-App Campaign. Go to the dashboard → In-App and click the "New campaign" button.
Here is how you can target all users on iOS 14 who didn't trigger the app tracking prompt:
Choose a trigger event that matches your need. You can trigger the pre-permission message the first time users open the app (ASAP), on the next session (New Session) or based on a specific action tracked in your app (see more here).
Make sure you set a frequency capping and/or a grace period to avoid showing that message too many times.
Your In-App message layout and its content must be compliant with Apple's guidelines. Please read them carefully before creating your campaign : Apple Human Interface Guidelines - Accessing User Data.
Here are a few examples of what you need to take into account to avoid misleading or confuse users:
In-App theme: Your In-App message must offer only one action, which must display the system prompt, so it is clear for users that this is the only action they can take. You can create a new In-App theme with one CTA to match Apple requirements in your dashboard Settings → Themes.
Body: The body of your In-App message should only describe the benefits of app tracking for your users. You should not offer incentives, display a screen that looks like a request, display an image of the alert or annotate the screen behind the alert. Please review the examples provided by Apple in the Human Interface Guidelines and in the App Store Review Guidelines.
CTA: Don't use words that let users think they are granting the permission by clicking the CTA of your In-App message. Instead, use words that suggest the permission prompt will be displayed once they click the CTA (e.g. next, continue, etc).
Here is how a pre-permission campaign looks like if you use a full screen In-App format:
Tracking the results of your campaign
As any other In-App campaign, you can track the results of your campaign from Batch dashboard (see more here). You can also use one of Batch analytics dispatcher to track the results of your campaign in your favorite analytics tool.