IDFA: co to je, jak funguje a žádost o povolení v iOS

Autor: IT Sectr Publikováno: 2026-05-22 Doba čtení: 8 min

IDFA (Identifier for Advertisers) — je jedinečný identifikátor zařízení v iOS, určený pro reklamní účely a atribuci instalací. S příchodem App Tracking Transparency (ATT) v iOS 14.5 vyžaduje získání IDFA výslovný souhlas uživatele prostřednictvím systémového dialogu. Podle Apple App Tracking Transparency Documentation, 2025 bez povolení ATT aplikace obdrží nulový identifikátor. App Tracking Transparency zásadně změnila ekosystém mobilní reklamy a po zavedení snížila dostupnost IDFA o 80%.

Hlavní

  • IDFA — reklamní identifikátor iOS pro sledování uživatelů a atribuci instalací aplikací.
  • App Tracking Transparency — framework Apple vyžadující výslovný souhlas uživatele před získáním IDFA.
  • ATTrackingManager — hlavní třída iOS pro žádost o povolení sledování prostřednictvím requestTrackingAuthorization.
  • SKAdNetwork — alternativní mechanismus atribuce od Apple, který nevyžaduje IDFA a souhlas uživatele.
  • Privacy Manifest — povinný soubor iOS 18+ s deklarací důvodů použití reklamního identifikátoru.

Co je IDFA?

IDFA (Identifier for Advertisers) — je jedinečný alfanumerický identifikátor přiřazený každému zařízení Apple pro reklamní účely. Na rozdíl od IDFV (Identifier for Vendor) je IDFA jednotný pro všechny aplikace na zařízení a uživatel jej může kdykoli resetovat prostřednictvím Nastavení — Soukromí — Reklamy — Resetovat identifikátor.

Hlavním účelem IDFA je atribuce instalací a sledování účinnosti reklamních kampaní na zařízeních Apple. Reklamní sítě používají IDFA k propojení kliknutí na reklamu s instalací aplikace, vytváření profilů uživatelů a zobrazování personalizovaných reklam. Od zavedení ATT je procento uživatelů poskytujících přístup k IDFA v průměru 20–35% podle různých odhadů analytických platforem.

Podle údajů Flurry Analytics (2025) po iOS 18 míra přijetí ATT vzrostla na 92% aktivních zařízení, ale podíl uživatelů souhlasících se sledováním klesl na 22%. To vedlo k zásadní změně v odvětví mobilní reklamy a donutilo reklamní sítě hledat alternativní metody atribuce.

Klíčová vlastnost IDFA — neobsahuje osobní údaje uživatele a není spojen s Apple ID. Apple jej však klasifikuje jako identifikátor podléhající regulaci App Tracking Transparency.

Jak funguje IDFA a App Tracking Transparency

App Tracking Transparency (ATT) — je framework Apple představený v iOS 14.5, který vyžaduje výslovný souhlas uživatele před čtením IDFA. Bez souhlasu metoda asIdentifierManager vrací nulový identifikátor (00000000-0000-0000-0000-000000000000) a aplikace nemůže uživatele sledovat.

Framework App Tracking Transparency

ATT je implementován prostřednictvím třídy ATTrackingManager s jedinou veřejnou metodou requestTrackingAuthorization(completionHandler:). Při volání této metody systém zobrazí nativní dialog s textem, který vývojář nastaví prostřednictvím klíče NSUserTrackingUsageDescription v Info.plist. Uživatel si může vybrat jednu ze tří možností: „Povolit sledování“, „Požádat aplikaci, aby nesledovala“ nebo „Odmítnout“.

Stav autorizace je sledován prostřednictvím ATTrackingManager.trackingAuthorizationStatus, který může nabývat čtyř hodnot: notDetermined, restricted, denied nebo authorized. Před žádostí ATT se doporučuje zkontrolovat aktuální stav a nevolat dialog, pokud je stav již určen — od iOS 17 opětovné volání requestTrackingAuthorization ve stavu denied nezobrazí dialog a vrátí chybu.

Kdy žádat o povolení

Načasování žádosti ATT kriticky ovlivňuje procento souhlasů. Výzkum Singular (2025) ukazuje, že žádost ATT na uvítací obrazovce (při prvním spuštění) poskytuje konverzi 35–45%, zatímco žádost po dokončení nějaké akce (např. po registraci) zvyšuje konverzi na 55–65%. Doporučuje se zobrazit obrazovku předběžného povolení s vlastním designem a vysvětlením hodnoty sledování pro uživatele před systémovým dialogem ATT.

Důležité: aplikace může volat requestTrackingAuthorization pouze jednou před obdržením odpovědi. Poté, co uživatel zvolí „Odmítnout“ nebo „Požádat o nesledování“, se dialog na zařízení již nezobrazí. Vývojář by měl zajistit záložní mechanismy pro práci bez IDFA, aby aplikace nadále správně fungovala v podmínkách omezeného sledování.

Požadavky iOS 18+ na sledování

S vydáním iOS 18 Apple zpřísnil požadavky na aplikace používající reklamní identifikátor. Všechny aplikace, které žádají o IDFA nebo přenášejí údaje o zařízení pro reklamní účely, musí splňovat nová pravidla App Store. Nedodržení požadavků vede k odmítnutí sestavení ve fázi moderace App Store Connect.

Privacy Manifest a sledování

Od iOS 18 musí každá aplikace obsahovat Privacy Manifest (soubor privacy.xcprivacy) s deklarací všech API použitých pro sledování. Pro IDFA se používají klíče NSPrivacyTracking a NSPrivacyTrackingDomains, kde se uvádějí domény reklamních sítí, kterým je identifikátor předáván. Bez správného manifestu je aplikace odmítnuta při moderaci App Store Connect.

Apple také zavedl povinnost uvedení důvodu použití reklamního identifikátoru v popisu aplikace. Pokud aplikace používá IDFA k atribuci instalací, musí používat SKAdNetwork jako hlavní metodu a IDFA pouze jako doplňkový signál pro zvýšení přesnosti atribuce.

Alternativy k IDFA

S rostoucími omezeními IDFA vyvinul průmysl několik alternativních přístupů. SKAdNetwork (StoreKit Ad Network) — oficiální mechanismus atribuce od Apple, který funguje bez IDFA a nevyžaduje souhlas uživatele. SKAdNetwork používá podepsané požadavky postback mezi reklamní sítí a App Store, což zaručuje soukromí uživatele.

Další alternativy zahrnují: pravděpodobnostní atribuci na základě IP adresy, verze OS a dalších signálů zařízení; soukromá agregovaná API, jako je Private Click Measurement (PCM) od WebKit; a vlastní řešení reklamních platforem využívající strojové učení k predikci konverzí. Pro čínský trh se také používá CAID (Cellular Advertising ID) založený na datech mobilní sítě operátora.

Příklady kódu pro žádost o IDFA

Implementace žádosti o IDFA vyžaduje integraci App Tracking Transparency a správné zpracování všech možných stavů autorizace. Níže je uveden úplný příklad pro Swift s obrazovkou předběžného povolení.

Žádost ATT v Swift

Příklad demonstruje celý pracovní cyklus s IDFA: kontrolu stavu, zobrazení obrazovky předběžného povolení, volání systémového dialogu ATT a získání identifikátoru po autorizaci.

swift
import AppTrackingTransparency
import AdSupport

func requestIDFAAccess() {
    let status = ATTrackingManager.trackingAuthorizationStatus

    switch status {
    case .notDetermined:
        // Zobrazení obrazovky předběžného povolení s vysvětlením
        showPrePermissionScreen { accepted in
            guard accepted else { return }
            ATTrackingManager.requestTrackingAuthorization { newStatus in
                handleATTStatus(newStatus)
            }
        }
    case .authorized:
        // Uživatel již udělil souhlas — získáváme IDFA
        let idfa = ASIdentifierManager.shared().advertisingIdentifier
        print("IDFA: \(idfa.uuidString)")
    case .denied, .restricted:
        // Přesměrování uživatele do nastavení
        redirectToSettings()
    @unknown default:
        break
    }
}

private func handleATTStatus(status: ATTrackingManager.AuthorizationStatus) {
    if status == .authorized {
        let idfa = ASIdentifierManager.shared().advertisingIdentifier
        // Předání IDFA reklamní síti
        sendIDFAToAdNetwork(idfa.uuidString)
    }
}

Strategie práce bez IDFA

Vzhledem k tomu, že většina uživatelů žádost ATT odmítá, vývojáři potřebují sadu strategií pro efektivní práci bez identifikátoru. Hlavním přístupem je kombinace SKAdNetwork a pravděpodobnostních metod atribuce.

SKAdNetwork a atribuce

SKAdNetwork (SKAN) — je framework Apple pro atribuci instalací, který nevyžaduje IDFA a nezobrazuje dialog souhlasu. Reklamní síť zaregistruje své SKAdNetwork ID v Info.plist aplikace a po instalaci App Store odešle podepsaný postback s informacemi o kampani. SKAN 4.0, představený v iOS 17, podporuje multiple conversions, source identifiers a coarse-grained conversion values.

Omezení SKAN: zpoždění postback od 24 do 48 hodin, chybějící identifikátor uživatele, omezený počet conversion values (až 64). Navzdory tomu se SKAN stal de facto standardem pro iOS atribuci po zavedení ATT a všechny velké reklamní sítě jej musí podporovat pro fungování na zařízeních Apple.

Predikované identifikátory

Reklamní sítě jako Meta a Google vyvinuly vlastní řešení založená na strojovém učení, která předpovídají konverze bez identifikátoru uživatele. Meta Aggregated Events Measurement (AEM) používá agregovaná data pro atribuci a Google Attribution modeluje konverze na základě historických dat.

Pro vývojáře je důležité implementovat několik metod atribuce současně: SKAdNetwork jako hlavní, serverovou atribuci prostřednictvím reklamních sítí a vlastní analytické nástroje s modelováním konverzí. Kombinace metod umožňuje obnovit až 70–80% přesnosti atribuce ve srovnání s érou IDFA. Doporučuje se testovat různé kombinace metod ve fázi beta testování, aby byl vybrán optimální soubor pro konkrétní aplikaci a cílovou skupinu.

Často kladené otázky

Co je IDFA jednoduše řečeno?

IDFA — je jedinečný kód zařízení iPhone nebo iPad, který reklamní sítě používají k zobrazování personalizovaných reklam a měření účinnosti kampaní. Od iOS 14.5 musí aplikace požádat o povolení před získáním IDFA prostřednictvím systémového dialogu App Tracking Transparency.

Jaký je rozdíl mezi IDFA a IDFV?

IDFV (Identifier for Vendor) — je identifikátor jedinečný pro všechny aplikace jednoho vývojáře na zařízení. Na rozdíl od IDFA, IDFV nevyžaduje souhlas ATT a je vždy k dispozici. IDFA je jednotný pro všechny aplikace, IDFV pouze pro aplikace jednoho prodejce (podle bundle ID).

Jak získat IDFA bez souhlasu uživatele?

Získání IDFA bez souhlasu uživatele je nemožné. Od iOS 14.5 ASIdentifierManager.advertisingIdentifier vrací nulový identifikátor (00000000-0000-0000-0000-000000000000), pokud uživatel neudělil souhlas prostřednictvím ATT. Jediným legálním způsobem je zavolat ATTrackingManager.requestTrackingAuthorization a získat stav authorized.

Co je NSUserTrackingUsageDescription?

NSUserTrackingUsageDescription — je klíč v Info.plist aplikace, který obsahuje text zobrazený v systémovém dialogu ATT. Text by měl uživateli vysvětlit, proč aplikace potřebuje sledování. Příklad: „Váš IDFA se používá k zobrazování personalizovaných reklam a měření účinnosti kampaní“.

Funguje IDFA na Androidu?

Ne, IDFA je výhradní identifikátor ekosystému Apple. Na Androidu se používá GAID (Google Advertising ID) nebo AAID (Android Advertising ID). Oba plní podobnou funkci, ale řídí se různými pravidly — na Androidu může uživatel resetovat identifikátor nebo vypnout personalizaci reklam v nastavení Google.

Shrnutí

  • IDFA — reklamní identifikátor zařízení Apple používaný pro atribuci a personalizované reklamy.
  • App Tracking Transparency — framework iOS 14.5+ vyžadující výslovný souhlas uživatele před získáním IDFA.
  • ATTrackingManager — hlavní třída pro žádost o povolení sledování v iOS.
  • SKAdNetwork — alternativní mechanismus atribuce od Apple bez potřeby souhlasu uživatele a IDFA.
  • Privacy Manifest — povinný soubor iOS 18+ s deklarací důvodů použití reklamního identifikátoru.
  • Obrazovka předběžného povolení — vlastní dialog s vysvětlením před systémovým ATT, zvyšuje konverzi na 55–65%.
  • Vícenásobná atribuce — kombinace SKAdNetwork, pravděpodobnostních metod a strojového učení pro obnovení přesnosti měření kampaní.

Vyvineme mobilní aplikaci na klíč

IT Sectr vytváří aplikace pro iOS a Android pro startupy a podniky od roku 2017. Poradíme vám a navrhneme nejlepší řešení.

Prodiskutovat projekt

Přečtěte si také