IDFA: co to jest, jak działa i prośba o zgodę w iOS

Autor: IT Sectr Opublikowano: 2026-05-22 Czas czytania: 8 min

IDFA (Identifier for Advertisers) — to unikalny identyfikator urządzenia w iOS, przeznaczony do celów reklamowych i atrybucji instalacji. Wraz z pojawieniem się App Tracking Transparency (ATT) w iOS 14.5 uzyskanie IDFA wymaga wyraźnej zgody użytkownika za pośrednictwem systemowego okna dialogowego. Według Apple App Tracking Transparency Documentation, 2025, bez zgody ATT aplikacja otrzymuje zerowy identyfikator. App Tracking Transparency radykalnie zmieniła ekosystem reklamy mobilnej, zmniejszając dostępność IDFA o 80% po wdrożeniu.

Najważniejsze

  • IDFA — reklamowy identyfikator iOS do śledzenia użytkowników i atrybucji instalacji aplikacji.
  • App Tracking Transparency — framework Apple wymagający wyraźnej zgody użytkownika przed uzyskaniem IDFA.
  • ATTrackingManager — główna klasa iOS do żądania zgody na śledzenie za pomocą requestTrackingAuthorization.
  • SKAdNetwork — alternatywny mechanizm atrybucji od Apple, niewymagający IDFA i zgody użytkownika.
  • Privacy Manifest — obowiązkowy plik iOS 18+ z deklaracją powodów użycia reklamowego identyfikatora.

Czym jest IDFA?

IDFA (Identifier for Advertisers) — to unikalny alfanumeryczny identyfikator przypisywany każdemu urządzeniu Apple do celów reklamowych. W przeciwieństwie do IDFV (Identifier for Vendor), IDFA jest jednolity dla wszystkich aplikacji na urządzeniu i może zostać zresetowany przez użytkownika w dowolnym momencie przez Ustawienia — Prywatność — Reklamy — Resetuj identyfikator.

Głównym przeznaczeniem IDFA jest atrybucja instalacji i śledzenie skuteczności kampanii reklamowych na urządzeniach Apple. Sieci reklamowe używają IDFA do łączenia kliknięcia w reklamę z instalacją aplikacji, budowania profili użytkowników i wyświetlania spersonalizowanych reklam. Od czasu wdrożenia ATT odsetek użytkowników udostępniających IDFA wynosi średnio 20–35% według różnych szacunków platform analitycznych.

Według danych Flurry Analytics (2025), po iOS 18 wskaźnik adopcji ATT wzrósł do 92% aktywnych urządzeń, ale udział użytkowników zgadzających się na śledzenie spadł do 22%. Doprowadziło to do fundamentalnej zmiany w branży reklamy mobilnej, zmuszając sieci reklamowe do poszukiwania alternatywnych metod atrybucji.

Kluczowa cecha IDFA — nie zawiera danych osobowych użytkownika i nie jest powiązany z Apple ID. Jednak Apple klasyfikuje go jako identyfikator podlegający regulacjom App Tracking Transparency.

Jak działa IDFA i App Tracking Transparency

App Tracking Transparency (ATT) — to framework Apple wprowadzony w iOS 14.5, który wymaga wyraźnej zgody użytkownika przed odczytaniem IDFA. Bez zgody metoda asIdentifierManager zwraca zerowy identyfikator (00000000-0000-0000-0000-000000000000), a aplikacja nie może śledzić użytkownika.

Framework App Tracking Transparency

ATT jest zaimplementowany poprzez klasę ATTrackingManager z jedyną publiczną metodą requestTrackingAuthorization(completionHandler:). Po wywołaniu tej metody system wyświetla natywne okno dialogowe z tekstem, który programista określa za pomocą klucza NSUserTrackingUsageDescription w Info.plist. Użytkownik może wybrać jedną z trzech opcji: „Zezwól na śledzenie”, „Poproś aplikację o nieśledzenie” lub „Odrzuć”.

Status autoryzacji jest śledzony przez ATTrackingManager.trackingAuthorizationStatus, który może przyjmować cztery wartości: notDetermined, restricted, denied lub authorized. Przed żądaniem ATT zaleca się sprawdzenie bieżącego statusu i niewywoływanie okna dialogowego, jeśli status jest już określony — począwszy od iOS 17, ponowne wywołanie requestTrackingAuthorization przy statusie denied nie pokazuje okna dialogowego i zwraca błąd.

Kiedy żądać zgody

Czas żądania ATT krytycznie wpływa na odsetek zgód. Badania Singular (2025) pokazują, że żądanie ATT na ekranie onboardingu (przy pierwszym uruchomieniu) daje konwersję 35–45%, podczas gdy żądanie po zakończeniu jakiejś czynności (np. po rejestracji) zwiększa konwersję do 55–65%. Zaleca się wyświetlenie ekranu pre-permission z własnym projektem i wyjaśnieniem wartości śledzenia dla użytkownika przed systemowym oknem ATT.

Ważne: aplikacja może wywołać requestTrackingAuthorization tylko raz przed otrzymaniem odpowiedzi. Gdy użytkownik wybierze „Odrzuć” lub „Poproś o nieśledzenie”, okno dialogowe nie jest już wyświetlane na urządzeniu. Programista powinien przewidzieć mechanizmy awaryjne do pracy bez IDFA, aby aplikacja działała poprawnie w warunkach ograniczonego śledzenia.

Wymagania iOS 18+ dotyczące śledzenia

Wraz z wydaniem iOS 18 Apple zaostrzyła wymagania wobec aplikacji używających reklamowego identyfikatora. Wszystkie aplikacje, które żądają IDFA lub przesyłają dane urządzenia do celów reklamowych, muszą spełniać nowe zasady App Store. Nieprzestrzeganie wymagań prowadzi do odrzucenia kompilacji na etapie moderacji App Store Connect.

Privacy Manifest i śledzenie

Począwszy od iOS 18, każda aplikacja musi zawierać Privacy Manifest (plik privacy.xcprivacy) z deklaracją wszystkich API używanych do śledzenia. Dla IDFA używany jest klucz NSPrivacyTracking i NSPrivacyTrackingDomains, w którym określa się domeny sieci reklamowych, którym przekazywany jest identyfikator. Bez prawidłowego manifestu aplikacja jest odrzucana podczas moderacji App Store Connect.

Apple wprowadziła również wymóg obowiązkowego wskazania przyczyny użycia reklamowego identyfikatora w opisie aplikacji. Jeśli aplikacja używa IDFA do atrybucji instalacji, musi używać SKAdNetwork jako głównej metody, a IDFA tylko jako dodatkowy sygnał zwiększający dokładność atrybucji.

Alternatywy dla IDFA

Wraz ze wzrostem ograniczeń dotyczących IDFA branża opracowała kilka alternatywnych podejść. SKAdNetwork (StoreKit Ad Network) — oficjalny mechanizm atrybucji od Apple, który działa bez IDFA i nie wymaga zgody użytkownika. SKAdNetwork używa podpisanych żądań postback między siecią reklamową a App Store, gwarantując prywatność użytkownika.

Inne alternatywy obejmują: atrybucję probabilistyczną opartą na adresie IP, wersji OS i innych sygnałach urządzenia; prywatne agregowane API, takie jak Private Click Measurement (PCM) od WebKit; oraz własne rozwiązania platform reklamowych wykorzystujące uczenie maszynowe do przewidywania konwersji. Dla rynku chińskiego używany jest również CAID (Cellular Advertising ID) oparty na danych sieci komórkowej operatora.

Przykłady kodu do żądania IDFA

Implementacja żądania IDFA wymaga integracji App Tracking Transparency i prawidłowej obsługi wszystkich możliwych statusów autoryzacji. Poniżej znajduje się pełny przykład dla Swift z ekranem pre-permission.

Żadanie ATT w Swift

Przykład demonstruje pełny cykl pracy z IDFA: sprawdzenie statusu, wyświetlenie ekranu pre-permission, wywołanie systemowego okna ATT i uzyskanie identyfikatora po autoryzacji.

swift
import AppTrackingTransparency
import AdSupport

func requestIDFAAccess() {
    let status = ATTrackingManager.trackingAuthorizationStatus

    switch status {
    case .notDetermined:
        // Wyświetlamy ekran pre-permission z wyjaśnieniem
        showPrePermissionScreen { accepted in
            guard accepted else { return }
            ATTrackingManager.requestTrackingAuthorization { newStatus in
                handleATTStatus(newStatus)
            }
        }
    case .authorized:
        // Użytkownik już wyraził zgodę — otrzymujemy IDFA
        let idfa = ASIdentifierManager.shared().advertisingIdentifier
        print("IDFA: \(idfa.uuidString)")
    case .denied, .restricted:
        // Przekierowujemy użytkownika do ustawień
        redirectToSettings()
    @unknown default:
        break
    }
}

private func handleATTStatus(status: ATTrackingManager.AuthorizationStatus) {
    if status == .authorized {
        let idfa = ASIdentifierManager.shared().advertisingIdentifier
        // Przekazujemy IDFA do sieci reklamowej
        sendIDFAToAdNetwork(idfa.uuidString)
    }
}

Strategie pracy bez IDFA

Ponieważ większość użytkowników odrzuca żądanie ATT, programiści potrzebują zestawu strategii do efektywnej pracy bez identyfikatora. Głównym podejŜiem jest kombinacja SKAdNetwork i probabilistycznych metod atrybucji.

SKAdNetwork i atrybucja

SKAdNetwork (SKAN) — to framework Apple do atrybucji instalacji, który nie wymaga IDFA i nie wyświetla okna zgody. Sieć reklamowa rejestruje swój SKAdNetwork ID w Info.plist aplikacji, a po instalacji App Store wysyła podpisany postback z informacją o kampanii. SKAN 4.0, wprowadzony w iOS 17, obsługuje multiple conversions, source identifiers i coarse-grained conversion values.

Ograniczenia SKAN: opóźnienie postback od 24 do 48 godzin, brak identyfikatora użytkownika, ograniczona liczba conversion values (do 64). Mimo to SKAN stał się de facto standardem dla atrybucji iOS po wdrożeniu ATT, a wszystkie duże sieci reklamowe są zobowiązane do jego obsługi na urządzeniach Apple.

Prognozowane identyfikatory

Sieci reklamowe, takie jak Meta i Google, opracowały własne rozwiązania oparte na uczeniu maszynowym, które przewidują konwersje bez identyfikatora użytkownika. Meta Aggregated Events Measurement (AEM) wykorzystuje zagregowane dane do atrybucji, a Google Attribution modeluje konwersje na podstawie danych historycznych.

Dla programisty ważne jest wdrożenie wielu metod atrybucji jednocześnie: SKAdNetwork jako głównej, atrybucji serwerowej przez sieci reklamowe i własnych narzędzi analitycznych z modelowaniem konwersji. Kombinacja metod pozwala odzyskać do 70–80% dokładności atrybucji w porównaniu z epoką IDFA. Zaleca się testowanie różnych kombinacji metod na etapie beta-testów, aby wybrać optymalny zestaw dla konkretnej aplikacji i grupy docelowej.

Często zadawane pytania

Czym jest IDFA w prostych słowach?

IDFA — to unikalny kod urządzenia iPhone lub iPad, którego sieci reklamowe używają do wyświetlania spersonalizowanych reklam i mierzenia skuteczności kampanii. Od iOS 14.5 aplikacja musi poprosić o zgodę przed uzyskaniem IDFA za pośrednictwem systemowego okna App Tracking Transparency.

Jaka jest różnica między IDFA a IDFV?

IDFV (Identifier for Vendor) — to identyfikator unikalny dla wszystkich aplikacji jednego programisty na urządzeniu. W przeciwieństwie do IDFA, IDFV nie wymaga zgody ATT i jest zawsze dostępny. IDFA jest jednolity dla wszystkich aplikacji, IDFV tylko dla aplikacji jednego dostawcy (według bundle ID).

Jak uzyskać IDFA bez zgody użytkownika?

Uzyskanie IDFA bez zgody użytkownika jest niemożliwe. Od iOS 14.5 ASIdentifierManager.advertisingIdentifier zwraca zerowy identyfikator (00000000-0000-0000-0000-000000000000), jeśli użytkownik nie wyraził zgody przez ATT. Jedynym legalnym sposobem jest wywołanie ATTrackingManager.requestTrackingAuthorization i uzyskanie statusu authorized.

Czym jest NSUserTrackingUsageDescription?

NSUserTrackingUsageDescription — to klucz w Info.plist aplikacji, który zawiera tekst wyświetlany w systemowym oknie ATT. Tekst powinien wyjaśniać użytkownikowi, dlaczego aplikacja potrzebuje śledzenia. Przykład: „Twój IDFA jest używany do wyświetlania spersonalizowanych reklam i mierzenia skuteczności kampanii”.

Czy IDFA działa na Androidzie?

Nie, IDFA to ekskluzywny identyfikator ekosystemu Apple. Na Androidzie używany jest GAID (Google Advertising ID) lub AAID (Android Advertising ID). Oba pełnią podobną funkcję, ale podlegają różnym zasadom — na Androidzie użytkownik może zresetować identyfikator lub wyłączyć personalizację reklam w ustawieniach Google.

Podsumowanie

  • IDFA — reklamowy identyfikator urządzeń Apple używany do atrybucji i spersonalizowanych reklam.
  • App Tracking Transparency — framework iOS 14.5+ wymagający wyraźnej zgody użytkownika przed uzyskaniem IDFA.
  • ATTrackingManager — główna klasa do żądania zgody na śledzenie w iOS.
  • SKAdNetwork — alternatywny mechanizm atrybucji od Apple, niewymagający zgody użytkownika i IDFA.
  • Privacy Manifest — obowiązkowy plik iOS 18+ z deklaracją powodów użycia identyfikatora reklamowego.
  • Pre-permission ekran — własne okno z wyjaśnieniem przed systemowym ATT, zwiększające konwersję do 55–65%.
  • Wielokrotna atrybucja — kombinacja SKAdNetwork, metod probabilistycznych i uczenia maszynowego do odzyskania dokładności pomiaru kampanii.

Opracujemy aplikację mobilną pod klucz

IT Sectr tworzy aplikacje na iOS i Androida dla startupów i firm od 2017 roku. Doradzimy Ci i zaproponujemy najlepsze rozwiązanie.

Omów projekt

Przeczytaj również