App Tracking Transparency (ATT) ist ein iOS-Mechanismus, der die ausdrückliche Zustimmung des Nutzers zum Zugriff auf den Werbeidentifikator IDFA vor dem Tracking in Apps und Websites erfordert. Mit iOS 14.5 eingeführt, verpflichtet ATT alle Entwickler, einen Systemdialog mit der Anfrage zur Tracking-Erlaubnis anzuzeigen. Laut der Apple Developer Documentation muss jede App, die IDFA für gezielte Werbung oder Attribution verwendet, das ATT-Framework integrieren und eine Zugriffsberechtigung einholen.
Das Wichtigste
App Tracking Transparency ist ein Framework von Apple zum Schutz der Privatsphäre der Nutzer, eingeführt in iOS 14.5. Es verlangt von Apps, ausdrückliche Erlaubnis zum Zugriff auf den Werbeidentifikator des Geräts (IDFA) einzuholen, bevor sie ihn zum Tracking verwenden.
Vor ATT konnten Entwickler die IDFA ohne Anfrage auslesen, was Werbenetzwerken ermöglichte, Nutzerprofile zu erstellen und ihre Aktivität zwischen Apps und Websites zu verfolgen. Apple betrachtete dies als Verletzung der Privatsphäre und führte einen obligatorischen Zustimmungsdialog ein.
Das Framework ist seit iOS 14.0 verfügbar, wurde aber mit der Veröffentlichung von iOS 14.5 im April 2021 für alle Apps, die IDFA verwenden, verpflichtend. Laut Flurry Analytics stimmten nach der Einführung von ATT weniger als 25% der US-Nutzer dem Tracking zu, was den Markt für mobile Werbung grundlegend veränderte.
ATT überprüft die Berechtigung über einen speziellen Systemdialog, den die App weder ändern noch umgehen kann. Der Nutzer sieht ein Standard-Popup mit dem vom Entwickler bereitgestellten Text und wählt zwischen „Erlauben“ oder „App bitten, nicht zu tracken“.
Apple positioniert ATT als Teil seiner umfassenden Datenschutzstrategie, die auch Privacy Nutrition Labels im App Store und das Privacy Manifest umfasst. Alle drei Mechanismen arbeiten zusammen: Die Labels zeigen, welche Daten die App sammelt, das Manifest erklärt die Gründe für die API-Nutzung, und ATT gibt dem Nutzer die Kontrolle über das Tracking.
Die Ablehnung des Trackings blockiert nicht die App selbst — Nutzer können alle Funktionen weiter nutzen, aber Werbenetzwerke erhalten keine IDFA für Personalisierung und Attribution. Apples Alternativen zu IDFA umfassen SKAdNetwork und probabilistische Attribution.
Laut Branch Metrics sank der Anteil der Apps, die IDFA erhalten, nach der Einführung von ATT weltweit von 70% auf 20%. Dies führte zu einer Neubewertung der Ansätze für Installationsattribution und Werbemonetarisierung.
In iOS 15 verschärfte Apple die ATT-Anforderungen nicht, fügte jedoch den App Privacy Report hinzu — einen Bericht, der dem Nutzer zeigt, wie oft Apps auf Sensoren und Daten zugreifen. iOS 16 erweiterte die Kontrolle: Der Nutzer kann die Tracking-Einstellungen jederzeit unter Einstellungen → Datenschutz → Tracking ändern.
Wichtig: Wenn der Nutzer im ATT-Dialog „App bitten, nicht zu tracken“ auswählt, erhält die App keinen IDFA-Wert, sondern stattdessen eine Nullzeichenfolge: 00000000-0000-0000-0000-000000000000. Der Versuch, IDFA auf anderen Wegen oder mit Umgehungsmethoden zu lesen, führt zur Ablehnung der App im App Store.
Ab iOS 17 hat Apple die Kontrollen verschärft: Wenn eine App IDFA anfordert, ohne den ATT-Systemdialog anzuzeigen, erhält sie eine Ablehnung auf Betriebssystemebene, nicht nur eine leere Kennung. Dies schließt die Möglichkeit der Hintergrundsammlung von IDFA ohne Wissen des Nutzers aus.
Der ATT-Anfrageprozess besteht aus drei Phasen: Überprüfung des Status, Anzeige des Systemdialogs und Verarbeitung der Antwort. Der Entwickler kann keinen Schritt überspringen — das Betriebssystem kontrolliert jede Phase.
Vor dem Aufruf des Dialogs muss die App den aktuellen Status über ATTrackingManager überprüfen. Mögliche Status: notDetermined (noch nicht angefragt), restricted (durch Geräterichtlinien verboten), denied (Nutzer abgelehnt), authorized (erlaubt).
Wenn der Status bereits festgelegt ist (authorized oder denied), kann der Dialog nicht erneut aufgerufen werden — der Nutzer hat eine dauerhafte Entscheidung getroffen. Die einzige Möglichkeit, die Entscheidung zu ändern, sind die iOS-Systemeinstellungen.
Zur Statusüberprüfung wird die Eigenschaft ATTrackingManager.trackingAuthorizationStatus verwendet. Der Aufruf muss im Hauptthread erfolgen, da der Systemdialog eine UI-Komponente ist.
import AppTrackingTransparency
import AdSupport
func checkTrackingStatus() {
let status = ATTrackingManager.trackingAuthorizationStatus
switch status {
case .notDetermined:
requestTrackingPermission()
case .authorized:
readIDFA()
case .denied, .restricted:
useAlternativeTracking()
@unknown default:
break
}
}
Zum Anzeigen des Dialogs wird die Methode requestTrackingAuthorization mit einem Closure aufgerufen, das das Ergebnis der Nutzerwahl erhält. Wichtig: Der Dialog wird nur einmal angezeigt. Wenn der Entwickler versucht, ihn erneut aufzurufen, ignoriert das System die Anfrage.
Der Dialogtext besteht aus zwei Teilen: einem System-Header (der nicht geändert werden kann) und einer benutzerdefinierten Nachricht, die der Entwickler in Info.plist unter dem Schlüssel NSUserTrackingUsageDescription angibt.
Der Dialog sollte in einem natürlichen Kontext erscheinen — nicht sofort beim App-Start, sondern beim ersten Versuch, trackingbezogene Funktionen zu nutzen. Apple empfiehlt, den Dialog anzuzeigen, nachdem der Nutzer den Wert der Funktion verstanden hat.
func requestTrackingPermission() {
ATTrackingManager.requestTrackingAuthorization { status in
DispatchQueue.main.async {
switch status {
case .authorized:
let idfa = ASIdentifierManager.shared().advertisingIdentifier
print("IDFA: \(idfa)")
case .denied:
print("Benutzer hat Tracking abgelehnt")
default:
break
}
}
}
}
IDFA (Identifier for Advertisers) ist ein eindeutiger Werbeidentifikator für iOS-Geräte, der für gezielte Werbung und Installationsattribution verwendet wird. Vor ATT erhielten Entwickler ihn über ASIdentifierManager ohne Einschränkungen. Nach ATT ist der Zugriff auf IDFA blockiert, bis der Nutzer seine ausdrückliche Zustimmung gibt.
IDFA ist eine UUID-Zeichenfolge, die für jedes iOS-Gerät eindeutig ist. Werbenetzwerke verwenden IDFA zum: Verfolgen von App-Installationen (Attribution), Anzeigen relevanter Werbung basierend auf Nutzerinteressen, Messen der Effektivität von Werbekampagnen und Retargeting — Rückgewinnung von Nutzern, die eine gewünschte Aktion nicht abgeschlossen haben.
Nach der Ablehnung des Trackings durch den Nutzer gibt ASIdentifierManager den Wert 00000000-0000-0000-0000-000000000000 zurück. Die App kann IDFA weiterhin für technische Zwecke (wie Betrugsbekämpfung) lesen, darf es aber nicht an Werbenetzwerke weitergeben.
Laut Singular (2024) liegt die globale ATT-Zustimmungsrate bei 25–35%, wobei Europa (GDPR) mit 40–50% höhere Raten aufweist als die USA (15–25%). Dies hat Werbeplattformen dazu veranlasst, alternative Attributionsmethoden zu entwickeln.
SKAdNetwork ist ein Apple-Framework zur Installationsattribution ohne Offenlegung der IDFA. Es arbeitet auf Betriebssystemebene: Das Werbenetzwerk sendet einen signierten Postback, den Apple überprüft und an den Entwickler weiterleitet. Die Attribution erfolgt ohne Identifizierung eines bestimmten Nutzers, nur auf Kampagnenebene.
Die probabilistische Attribution verwendet mehrere Gerätesignale — Modell, iOS-Version, Zeitzone, Bildschirmhelligkeit — um Installationen probabilistisch Werbeeindrücken zuzuordnen. Apple verbietet diese Methode jedoch in seinen Richtlinien, und ihre Verwendung kann zur Ablehnung der App führen.
Google, Adjust und AppsFlyer haben eigene hybride Lösungen entwickelt, die SKAdNetwork mit proprietären aggregierten Daten kombinieren. Beispielsweise verwendet der Google Ads Conversion Tracking SKAdNetwork-Postbacks und eigene Machine-Learning-Modelle zur Attribution ohne IDFA.
Zur Integration von ATT muss der Schlüssel NSUserTrackingUsageDescription in Info.plist hinzugefügt und das Framework AppTrackingTransparency importiert werden. Nachfolgend sind die Schritte für Swift und Objective-C aufgeführt.
Der erste Schritt ist das Hinzufügen des Schlüssels NSUserTrackingUsageDescription in Info.plist mit einem Text, der erklärt, warum die App Tracking benötigt. Dieser Text wird im Systemdialog angezeigt. Beispiel: „Ihre IDFA wird verwendet, um personalisierte Werbung anzuzeigen und die Kampagneneffektivität zu verfolgen.“
Ohne diesen Schlüssel führt der Aufruf von requestTrackingAuthorization zu einem Absturz der App — Apple überprüft explizit das Vorhandensein von NSUserTrackingUsageDescription vor der Anzeige des Dialogs. Der Text sollte prägnant, spezifisch und der tatsächlichen Datennutzung entsprechend sein.
Wichtig: Der Schlüssel wird manuell über den Xcode-Info-Tab oder durch Bearbeiten der XML-Quelle von Info.plist hinzugefügt. Nach dem Hinzufügen das Projekt neu erstellen und überprüfen, ob der Schlüssel im endgültigen Binär erscheint.
<!-- Info.plist -->
<key>NSUserTrackingUsageDescription</key>
<string>This identifier is used to deliver
personalized ads and measure campaign performance.</string>
In einem echten Projekt ist es am besten, die ATT-Anfrage vor dem ersten Start eines Werbemoduls oder Trackers aufzurufen. Es wird empfohlen, den Wert der Zustimmung zunächst auf einem separaten Bildschirm (Pre-Permission-Prompt) zu erklären — dies erhöht die Zustimmungsrate um 20–30%.
Ein Pre-Permission-Prompt ist eine benutzerdefinierte UI, die den Vorteil der Aktivierung des Trackings zeigt („Helfen Sie uns, relevante Werbung anzuzeigen“). Erst nach dem Tippen auf „Weiter“ erscheint der systemeigene ATT-Dialog. Adjust (2024) verzeichnete einen Anstieg der Zustimmung um 40% bei Verwendung eines Pre-Permission-Bildschirms.
final class TrackingManager {
static let shared = TrackingManager()
func requestTrackingIfNeeded() {
guard ATTrackingManager.trackingAuthorizationStatus
== .notDetermined
else { return }
ATTrackingManager.requestTrackingAuthorization { _ in
NotificationCenter.default.post(
Notification(Name("trackingStatusChanged"))
)
}
}
}
Entwickler machen bei der Integration von ATT häufig typische Fehler, die zu einer geringeren Zustimmungskonversion oder zur Ablehnung der App durch App Store-Prüfer führen. Sehen wir uns die fünf häufigsten Probleme an.
Der häufigste Fehler ist das Anzeigen des ATT-Systemdialogs auf dem ersten Bildschirm direkt nach dem Laden der App. Der Nutzer versteht den Wert der App noch nicht und tippt mit hoher Wahrscheinlichkeit auf „Ablehnen“. IronSource (2023) zeigte einen Rückgang der Zustimmung um 32% bei der Anfrage auf dem ersten Bildschirm im Vergleich zur Anfrage nach der dritten Sitzung.
Empfehlung: Fordern Sie das Tracking an, nachdem der Nutzer eine wertvolle Aktion durchgeführt hat (Inhalt angesehen, Onboarding gestartet), oder nach 3–5 App-Sitzungen. Dies erhöht das Vertrauen und die Wahrnehmung des Wertes.
Das Anzeigen des ATT-Systemdialogs ohne vorherige Erklärung ist ein Fehler, der die Konversion auf 15–20% senkt. Der Nutzer sieht eine unerwartete Anfrage und lehnt instinktiv ab. Ein Pre-Permission-Bildschirm mit Erklärung des Nutzens erhöht die Zustimmung auf 35–45%.
Der Pre-Permission-Text sollte spezifisch sein: „Erlauben Sie uns, relevante Werbung anzuzeigen — das hilft uns, kostenlos zu bleiben.“ Vermeiden Sie vage Formulierungen — sie mindern das Vertrauen. GameAnalytics zeigte 2023, dass ein Pre-Permission-Bildschirm mit Nutzenerklärung 28% mehr Zustimmungen bringt als ein leerer Bildschirm.
Wenn der Nutzer das Tracking bereits abgelehnt hat oder der Status restricted ist (Kindersicherung, Unternehmensrichtlinien), darf die App den ATT-Dialog nicht erneut aufrufen. Ein wiederholter Aufruf funktioniert nicht und wird als Datenschutzverletzung wahrgenommen. Wechseln Sie stattdessen zu SKAdNetwork und kontextbezogener Werbung.
Im Status restricted kann die App nicht feststellen, ob die Option „Tracking-Anfragen zulassen“ in den Einstellungen aktiviert ist. Verwenden Sie in diesem Fall immer SKAdNetwork als alleinige Attributionsmethode und zeigen Sie keinen Pre-Permission-Bildschirm.
Das Lesen von IDFA über ASIdentifierManager.shared().advertisingIdentifier ohne vorherige ATT-Erlaubnis gibt eine Nullzeichenfolge zurück. Einige Entwickler versuchen, alte Methoden des IDFA-Zugriffs über private APIs zu verwenden — dies garantiert die Ablehnung bei der App-Prüfung.
Apple verwendet statische Code-Analyse und maschinelles Lernen, um Umgehungen zu erkennen. Selbst wenn die App die Prüfung besteht, können nachfolgende Updates oder automatische Überprüfungen den Verstoß aufdecken und zur Sperrung des Entwicklerkontos führen.
Ein zu langer, vager oder irreführender Text im Schlüssel NSUserTrackingUsageDescription ist ein Grund für die Ablehnung durch die Prüfer. Apple überprüft, ob die Beschreibung mit der tatsächlichen Datennutzung übereinstimmt. Wenn die App keine Werbung hat, aber „zu Werbezwecken“ angibt, wird der Prüfer den Build ablehnen.
Empfohlenes Format: Eine spezifische Beschreibung des Zwecks der IDFA-Nutzung mit 2–3 Sätzen. Beispiel für eine App ohne Werbung: „Die Kennung wird für Analysen und Betrugsprävention verwendet. Daten werden nicht an Dritte weitergegeben und nicht für die Profilerstellung verwendet.“
Häufig gestellte Fragen
Wenn eine App IDFA oder Tracking ohne ATT verwendet, wird Apple sie bei der Prüfung ablehnen. Selbst wenn kein Tracking stattfindet, wird empfohlen, ATT aus Transparenzgründen hinzuzufügen — andernfalls steigt das Ablehnungsrisiko mit jedem Update.
Ja, die App funktioniert vollständig, aber Werbenetzwerke erhalten keine IDFA für Personalisierung und Attribution. Alle App-Funktionen außer personalisierter Werbung bleiben verfügbar.
Ja, der Nutzer kann seine Entscheidung jederzeit über Einstellungen → Datenschutz → Tracking ändern. Die App kann den Status nicht programmatisch zurücksetzen — nur über die Systemeinstellungen.
Verwenden Sie einen Pre-Permission-Bildschirm, der den Nutzen erklärt, und fordern Sie das Tracking nicht beim ersten Start, sondern nach einer wertvollen Aktion des Nutzers an. Meta (2024) zeigte einen Anstieg der Zustimmungen um 35% bei verzögerter Anfrage.
Apps in der Kategorie „Kinder“ dürfen IDFA und ATT gemäß den Apple-Regeln nicht zum Tracking verwenden. Ihnen ist es auch untersagt, Daten zu Analyse- oder Werbezwecken an Dritte weiterzugeben.
Zusammenfassung
Wir entwickeln eine mobile Applikation schlüsselfertig
IT Sectr entwickelt seit 2017 iOS- und Android-Apps für Startups und Unternehmen. Wir beraten Sie und schlagen die beste Lösung vor.
Lesen Sie auch