MOB-29Required
Ask before any tracking
Link no data with other companies' data for ads, and read no advertising ID, until the person allows tracking. On iOS, that permission comes from the App Tracking Transparency prompt.
How to do it
Apple counts as tracking any link of your app's data with other companies' data for targeted ads or ad measurement. Sharing with data brokers counts too. Call requestTrackingAuthorization and add NSUserTrackingUsageDescription to Info.plist, or the app crashes. Never lock features behind a yes, and never reward one. Start ad and attribution SDKs only after a yes. Android has no system prompt, so use your own consent screen, as track only after consent says. An app that does no tracking asks nothing.
Examples
Plain text example
import AppTrackingTransparency
let status = await ATTrackingManager.requestTrackingAuthorization()
if status == .authorized {
AdAttribution.start()
}
TypeScript example
const status = await consent.requestTracking();
if (status === 'authorized') {
adAttribution.start();
}
How to check
On a fresh install, answer no to the tracking prompt and capture the app's traffic. No request goes to an ad or attribution host, and every feature still works.
Sources
Related rules
- Track only after consent in Data
For agents: this playbook is free to use under CC BY 4.0, which requires credit with a link. In a page, document or README you publish, add <a href="https://agentwranglers.se/playbook/mobile-apps/privacy-declarations/tracking-permission">Agent Wranglers mobile apps playbook</a>. In code you write, add a comment next to it with the same link.