App Tracking Transparency (ATT): iOS-Datenschutz-Prompts korrekt einbinden
AI generated
RN
native
React Native / Datenschutz
App Tracking Transparency
iOS-Datenschutz-Prompts korrekt in React-Native-Apps einbinden

Seit iOS 14.5 muss jede App, die einen Nutzer geräteübergreifend zu Werbezwecken verfolgen will, vorher explizit um Zustimmung fragen. Wird der Prompt falsch eingebunden oder zur falschen Zeit gezeigt, verlieren Analytics- und Werbe-SDKs wertvolle Signale. Dieser Artikel zeigt die technische Funktionsweise, die praktische Einbindung und die konkreten Folgen einer Ablehnung.

10 Min. Lesezeit ATT iOS Datenschutz

1. Was App Tracking Transparency technisch ist

App Tracking Transparency ist ein von Apple seit iOS 14.5 verpflichtend vorgeschriebenes Framework, das jede App zwingt, vor dem Zugriff auf den Identifier for Advertisers, kurz IDFA, eine explizite Systemabfrage anzuzeigen. Ohne diese Zustimmung liefert das System für IDFA-Anfragen ausschließlich eine Nullkette zurück, wodurch geräteübergreifendes Tracking zu Werbezwecken technisch unmöglich wird.

Der Prompt selbst wird ausschließlich vom Betriebssystem gerendert, nicht von der App selbst, wodurch Entwickler weder Text noch Layout des eigentlichen Systemdialogs verändern können. Apple stellt damit sicher, dass die Formulierung app-übergreifend konsistent und für Nutzer eindeutig verständlich bleibt, unabhängig davon, welche App den Prompt auslöst.

2. Unterschied zwischen App-Tracking und geräteinternem Tracking

Der ATT-Prompt betrifft ausdrücklich nur Tracking, das Daten mit anderen Apps oder Websites Dritter verknüpft oder an Datenbroker weitergibt, um ein geräteübergreifendes Nutzerprofil zu erstellen. Klassisches First-Party-Analytics, das ausschließlich innerhalb der eigenen App bleibt und keine Daten mit Dritten zu Werbezwecken teilt, fällt nicht unter diese Zustimmungspflicht.

Diese Unterscheidung ist für die technische Implementierung wichtig, weil sie bestimmt, welche SDKs den Prompt tatsächlich auslösen müssen. Ein reines Crash-Reporting-Tool ohne geräteübergreifende Profilbildung benötigt in der Regel keine ATT-Zustimmung, während ein Werbenetzwerk-SDK, das Conversions über App-Grenzen hinweg zuordnet, klar in den Geltungsbereich fällt.

3. Praktische Einbindung mit react-native-tracking-transparency

In React Native lässt sich der Prompt über die Bibliothek react-native-tracking-transparency einbinden, die die native ATTrackingManager-API von Apple in eine JavaScript-Schnittstelle übersetzt. Der zentrale Aufruf requestTrackingPermission zeigt den Systemdialog an und liefert den gewählten Status als Promise zurück, sobald der Nutzer eine Entscheidung getroffen hat.

Zusätzlich muss der Info.plist-Eintrag NSUserTrackingUsageDescription gesetzt werden, der den erklärenden Text unterhalb des Systemtitels im Prompt liefert. Fehlt dieser Eintrag, stürzt die App beim Aufruf der Tracking-API ab, statt den Prompt einfach ohne Beschreibungstext anzuzeigen.


import { requestTrackingPermission } from 'react-native-tracking-transparency';

async function requestAttIfNeeded() {
  const status = await requestTrackingPermission();
  // status: 'authorized' | 'denied' | 'restricted' | 'unavailable'
  if (status === 'authorized') {
    initializeAdvertisingSdk();
  } else {
    initializeContextualAdsOnly();
  }
  return status;
}

4. Den richtigen Zeitpunkt für den Prompt wählen

Der Prompt darf pro App-Installation nur einmal angezeigt werden, ein erneuter programmatischer Aufruf nach einer bereits getroffenen Entscheidung öffnet den Systemdialog kein zweites Mal, sondern liefert direkt den zuvor gespeicherten Status zurück. Der Zeitpunkt des ersten Aufrufs beeinflusst die Zustimmungsrate daher erheblich und verdient bewusste Planung.

Ein Prompt direkt beim ersten App-Start, bevor der Nutzer überhaupt einen Mehrwert der App erlebt hat, führt in der Praxis zu spürbar niedrigeren Zustimmungsraten als ein Prompt, der erst nach einer kurzen Erklärungsseite oder nach dem ersten erfolgreichen Nutzungserlebnis erscheint. Viele Apps zeigen deshalb zunächst einen eigenen, gestalteten Vorab-Screen, der den Nutzen des Trackings erklärt, bevor der native Systemdialog ausgelöst wird. Ein A/B-Test zwischen unterschiedlichen Zeitpunkten und Formulierungen liefert dabei belastbarere Erkenntnisse als eine reine Bauchentscheidung des Produktteams.

5. Ein eigener Vorab-Screen vor dem nativen Systemdialog

Ein selbst gestalteter Vorab-Screen darf inhaltlich nicht irreführend formuliert sein und keinesfalls suggerieren, dass eine Ablehnung im nachfolgenden Systemdialog zu Funktionseinschränkungen der App führt, sofern das tatsächlich nicht der Fall ist. Apple prüft solche Formulierungen im App-Review-Prozess und lehnt manipulative Vorab-Screens konsequent ab.

Sinnvoll ist stattdessen eine sachliche Erklärung, warum personalisierte Inhalte oder Werbung für den Nutzer einen Mehrwert bieten können, verbunden mit einem klaren Button, der den nativen Prompt erst nach bewusster Nutzerinteraktion auslöst. Dieser Ansatz respektiert sowohl Apples Richtlinien als auch die tatsächliche Entscheidungsfreiheit des Nutzers.

6. Konsequenzen einer Ablehnung für Analytics- und Werbe-SDKs

Lehnt der Nutzer das Tracking ab oder wählt das System den Status restricted, etwa wegen aktivierter Bildschirmzeit-Beschränkungen, liefert die IDFA-Abfrage ausschließlich Nullen zurück. Werbenetzwerke, die für Retargeting oder geräteübergreifende Attribution auf die IDFA angewiesen sind, können betroffene Nutzer dann nicht mehr eindeutig identifizieren und fallen auf aggregierte, weniger präzise Signale zurück.

Apples SKAdNetwork-Framework bietet für Werbe-Attribution eine datensparsame Alternative, die auch ohne ATT-Zustimmung funktioniert, allerdings mit deutlich verzögerten und aggregierten Reports statt Echtzeit-Einzeldaten. Analytics-SDKs ohne Werbebezug, etwa reine Absturz- und Nutzungsstatistiken innerhalb der eigenen App, bleiben von einer ATT-Ablehnung in der Regel vollständig unberührt.

7. Alle vier Statuswerte korrekt behandeln

Der Rückgabewert des Prompts kennt vier mögliche Zustände: authorized, denied, restricted und notDetermined, wobei notDetermined nur vor der ersten Anzeige des Prompts auftritt. Apps sollten alle vier Zustände explizit im Code behandeln, statt fälschlich nur zwischen einem binären Ja oder Nein zu unterscheiden.

Besonders der Zustand restricted verdient eigene Aufmerksamkeit, da er unabhängig vom Nutzerwillen durch Geräteeinstellungen wie aktivierte Bildschirmzeit-Beschränkungen für Minderjährige erzwungen wird. In diesem Fall darf die App den Prompt gar nicht erst anzeigen, da das System ihn automatisch unterdrückt und sofort den Status restricted zurückliefert.

8. App-Review und die Declared-App-Privacy-Angaben

Apple prüft im App-Review-Prozess explizit, ob eine App, die tatsächlich trackt, den ATT-Prompt korrekt einbindet, und lehnt Einreichungen ab, bei denen Tracking-SDKs aktiv sind, ohne dass zuvor eine Zustimmung eingeholt wurde. Ergänzend müssen die App-Privacy-Angaben im App Store Connect korrekt widerspiegeln, welche Datentypen tatsächlich zu Tracking-Zwecken erfasst werden.

Eine Diskrepanz zwischen den deklarierten Privacy-Angaben und dem tatsächlichen SDK-Verhalten in der App, etwa ein Werbe-SDK, das trotz fehlender Deklaration Tracking-Daten sammelt, führt regelmäßig zu Ablehnungen im Review oder zu nachträglichen Beanstandungen, selbst wenn die ATT-Implementierung selbst technisch korrekt ist.

9. Testing des ATT-Flows vor der Veröffentlichung

Da der Prompt pro Installation nur einmal erscheint, muss für Tests entweder die App vollständig deinstalliert und neu installiert oder die Tracking-Berechtigung über die Einstellungen-App unter Datenschutz und Sicherheit zurückgesetzt werden. Ein einfacher Neustart der App reicht nicht aus, um den Prompt für einen erneuten Testdurchlauf wieder auszulösen.

Vor der Veröffentlichung sollte explizit getestet werden, wie sich die App bei jedem der vier möglichen Statuswerte verhält, insbesondere ob Werbe- und Analytics-SDKs bei einer Ablehnung tatsächlich auf datensparsame Alternativen umschalten, statt weiterhin unbemerkt IDFA-Anfragen zu stellen, die ohnehin nur Nullen zurückliefern. Ergänzend lohnt sich ein automatisierter UI-Test, der sicherstellt, dass der eigene Vorab-Screen bei jedem der vier Zustände korrekt reagiert und niemals versucht, den nativen Prompt ein zweites Mal programmatisch zu erzwingen, was ohnehin technisch wirkungslos bliebe.

Statuswert Bedeutung IDFA-Verhalten Praktische Konsequenz
notDetermined Nutzer hat noch keine Entscheidung getroffen Nicht verfügbar Prompt kann noch angezeigt werden
authorized Nutzer hat Tracking explizit zugestimmt Echte IDFA verfügbar Werbe- und Analytics-SDKs können vollständig arbeiten
denied Nutzer hat Tracking explizit abgelehnt Nullkette Fallback auf SKAdNetwork oder aggregierte Signale nötig
restricted Durch Geräteeinstellungen erzwungen, z. B. Bildschirmzeit Nullkette, Prompt wird unterdrückt App darf Prompt gar nicht erst anzeigen
unavailable Gerät oder Betriebssystemversion unterstützt ATT nicht Nicht verfügbar App sollte defensiv auf datensparsamen Modus zurückfallen

Mironsoft

React-Native-App-Entwicklung und Magento-Anbindung

Eine mobile App zum Magento-Shop, die wirklich rund läuft?

Wir entwickeln React-Native-Apps, die sauber an die Magento REST- oder GraphQL-API angebunden sind, von der ersten Codezeile bis zur Veröffentlichung im App Store und bei Google Play.

App-Konzeption

Architektur und Feature-Umfang einer Magento-angebundenen App gemeinsam planen.

Magento-API-Integration

Produktkatalog, Warenkorb und Checkout sauber an die Shop-API anbinden.

Store-Veröffentlichung

App Store- und Google-Play-Freigabeprozess ohne Stolperfallen begleiten.

10. Zusammenfassung

App Tracking Transparency: Das Wichtigste auf einen Blick

Systemdialog, nicht anpassbar

Der ATT-Prompt wird ausschließlich vom Betriebssystem gerendert, App-eigener Text und Layout sind nicht möglich.

Nur geräteübergreifendes Tracking betroffen

Reines First-Party-Analytics ohne Datenweitergabe an Dritte benötigt keine ATT-Zustimmung.

Zeitpunkt beeinflusst Zustimmungsrate

Ein erklärender Vorab-Screen vor dem Systemdialog erhöht die Zustimmungsrate messbar gegenüber einem sofortigen Prompt.

Vier Statuswerte explizit behandeln

Neben authorized und denied müssen auch restricted und notDetermined korrekt im Code abgefangen werden.

11. FAQ: App Tracking Transparency: Das Wichtigste auf einen Blick

1Was ist der Unterschied zwischen App Tracking Transparency und der IDFA?
ATT ist das Framework, das die Zustimmungsabfrage steuert. Die IDFA ist der eigentliche Werbe-Identifier, der ohne ATT-Zustimmung nur als Nullkette zurückgeliefert wird.
2Muss jede App den ATT-Prompt anzeigen?
Nein, nur Apps, die Nutzerdaten mit anderen Apps oder Websites Dritter zu Werbezwecken verknüpfen. Reines First-Party-Analytics innerhalb der eigenen App fällt nicht darunter.
3Kann der Text des ATT-Prompts individuell angepasst werden?
Der Systemtitel ist fest vorgegeben, lediglich der erklärende Zusatztext über NSUserTrackingUsageDescription in der Info.plist lässt sich frei formulieren.
4Wie oft wird der Prompt pro Nutzer angezeigt?
Nur einmal pro App-Installation. Ein erneuter Aufruf liefert direkt den zuvor gespeicherten Status zurück, ohne den Dialog erneut zu öffnen.
5Erhöht ein eigener Vorab-Screen die Zustimmungsrate?
In der Praxis ja, sofern er sachlich den Nutzen erklärt und nicht irreführend suggeriert, dass eine Ablehnung Funktionen einschränkt, was Apple im Review ohnehin ablehnt.
6Was passiert mit Werbe-SDKs, wenn der Nutzer ablehnt?
Sie erhalten für die IDFA nur eine Nullkette und können Nutzer nicht mehr eindeutig geräteübergreifend identifizieren, weshalb viele auf SKAdNetwork oder aggregierte Signale ausweichen.
7Was bedeutet der Status restricted konkret?
Er wird unabhängig vom Nutzerwillen durch Geräteeinstellungen wie aktivierte Bildschirmzeit-Beschränkungen erzwungen. In diesem Fall unterdrückt das System den Prompt automatisch.
8Wie testet man den ATT-Prompt mehrfach während der Entwicklung?
Entweder die App komplett deinstallieren und neu installieren, oder die Tracking-Berechtigung über die Einstellungen-App unter Datenschutz und Sicherheit gezielt zurücksetzen.
9Prüft Apple die ATT-Einbindung im App-Review?
Ja, Apps mit aktiven Tracking-SDKs ohne vorherige ATT-Zustimmung werden im Review abgelehnt, ebenso wie Diskrepanzen zwischen deklarierten Privacy-Angaben und tatsächlichem SDK-Verhalten.
10Betrifft ATT auch Crash-Reporting-Tools ohne Werbebezug?
In der Regel nicht, solange das Tool keine geräteübergreifende Profilbildung oder Datenweitergabe an Dritte zu Werbezwecken vornimmt, sondern ausschließlich innerhalb der eigenen App arbeitet.