IDFA (Identifier for Advertisers) — је јединствени идентификатор уређаја у iOS-у, намењен за рекламне сврхе и атрибуцију инсталација. Са појавом App Tracking Transparency (ATT) у iOS 14.5, добијање IDFA захтева изричиту сагласност корисника путем системског дијалога. Према Apple App Tracking Transparency Documentation, 2025, без ATT дозволе апликација добија нулти идентификатор. App Tracking Transparency је коренито променила екосистем мобилног оглашавања, смањивши доступност IDFA за 80% након имплементације.
Главно
IDFA (Identifier for Advertisers) — је јединствени алфанумерички идентификатор додељен сваком Apple уређају за рекламне сврхе. За разлику од IDFV (Identifier for Vendor), IDFA је јединствен за све апликације на уређају и корисник га може ресетовати у било ком тренутку путем Подешавања — Приватност — Оглашавање — Ресетуј идентификатор.
Основна намена IDFA је атрибуција инсталација и праћење ефикасности рекламних кампања на Apple уређајима. Рекламне мреже користе IDFA за повезивање клика на оглас са инсталацијом апликације, изградњу профила корисника и приказ персонализованих реклама. Од имплементације ATT, проценат корисника који омогућавају приступ IDFA износи у просеку 20–35% према различитим проценама аналитичких платформи.
Према подацима Flurry Analytics (2025), након iOS 18 стопа усвајања ATT порасла је на 92% активних уређаја, али удео корисника који пристају на праћење пао је на 22%. То је довело до фундаменталне промене у индустрији мобилног оглашавања, приморавши рекламне мреже да траже алтернативне методе атрибуције.
Кључна карактеристика IDFA — не садржи личне податке корисника и није повезан са Apple ID-ом. Међутим, Apple га класификује као идентификатор који подлеже регулативи App Tracking Transparency.
App Tracking Transparency (ATT) — је Apple фрејмворк представљен у iOS 14.5, који захтева изричиту сагласност корисника пре читања IDFA. Без сагласности, метод asIdentifierManager враћа нулти идентификатор (00000000-0000-0000-0000-000000000000) и апликација не може да прати корисника.
ATT је имплементиран кроз класу ATTrackingManager са јединим јавним методом requestTrackingAuthorization(completionHandler:). При позивању ове методе, систем приказује изворни дијалог са текстом који програмер поставља кроз кључ NSUserTrackingUsageDescription у Info.plist-у. Корисник може изабрати једну од три опције: „Дозволи праћење“, „Затражи од апликације да не прати“ или „Одбиј“.
Статус ауторизације се прати путем ATTrackingManager.trackingAuthorizationStatus, који може имати четири вредности: notDetermined, restricted, denied или authorized. Пре захтева ATT препоручује се провера тренутног статуса и не позивање дијалога ако је статус већ одређен — почев од iOS 17, поновно позивање requestTrackingAuthorization при статусу denied не приказује дијалог и враћа грешку.
Време захтева ATT критично утиче на проценат сагласности. Истраживања Singular (2025) показују да захтев ATT на екрану за упознавање (при првом покретању) даје конверзију 35–45%, док захтев након завршетка неке радње (нпр. након регистрације) повећава конверзију на 55–65%. Препоручује се приказ pre-permission екрана са сопственим дизајном и објашњењем вредности праћења за корисника пре системског ATT дијалога.
Важно: апликација може позвати requestTrackingAuthorization само једном пре добијања одговора. Након што је корисник изабрао „Одбиј“ или „Затражи да не прати“, дијалог се више не приказује на уређају. Програмер треба да предвиди резервне механизме за рад без IDFA како би апликација наставила да исправно функционише у условима ограниченог праћења.
Са изласком iOS 18, Apple је пооштрио захтеве за апликације које користе рекламни идентификатор. Све апликације које захтевају IDFA или преносе податке о уређају у рекламне сврхе морају да испуњавају нова правила App Store. Непоштовање захтева доводи до одбијања билда у фази модерисања App Store Connect.
Почев од iOS 18, свака апликација мора да садржи Privacy Manifest (датотека privacy.xcprivacy) са декларацијом свих API-ја који се користе за праћење. За IDFA се користи кључ NSPrivacyTracking и NSPrivacyTrackingDomains, где се наводе домени рекламних мрежа којима се преноси идентификатор. Без исправног манифеста, апликација се одбија при модерисању App Store Connect.
Apple је такође увео захтев за обавезно навођење разлога коришћења рекламног идентификатора у опису апликације. Ако апликација користи IDFA за атрибуцију инсталација, мора да користи SKAdNetwork као примарну методу, а IDFA само као додатни сигнал за повећање прецизности атрибуције.
Са порастом ограничења на IDFA, индустрија је развила неколико алтернативних приступа. SKAdNetwork (StoreKit Ad Network) — званични механизам атрибуције од Apple-а, који ради без IDFA и не захтева сагласност корисника. SKAdNetwork користи потписане postback захтеве између рекламне мреже и App Store-а, гарантујући приватност корисника.
Друге алтернативе укључују: вероватносну атрибуцију засновану на IP адреси, верзији OS и другим сигналима уређаја; приватне агрегиране API-је, као што је Private Click Measurement (PCM) од WebKit-а; и сопствена решења рекламних платформи која користе машинско учење за предвиђање конверзија. За кинеско тржиште такође се користи CAID (Cellular Advertising ID), заснован на подацима мобилне мреже оператора.
Имплементација захтева IDFA захтева интеграцију App Tracking Transparency и правилну обраду свих могућих статуса ауторизације. Испод је потпун пример за Swift са pre-permission екраном.
Пример демонстрира комплетан циклус рада са IDFA: проверу статуса, приказ pre-permission екрана, позивање системског ATT дијалога и добијање идентификатора након ауторизације.
import AppTrackingTransparency
import AdSupport
func requestIDFAAccess() {
let status = ATTrackingManager.trackingAuthorizationStatus
switch status {
case .notDetermined:
// Приказујемо pre-permission екран са објашњењем
showPrePermissionScreen { accepted in
guard accepted else { return }
ATTrackingManager.requestTrackingAuthorization { newStatus in
handleATTStatus(newStatus)
}
}
case .authorized:
// Корисник је већ дао сагласност — добијамо IDFA
let idfa = ASIdentifierManager.shared().advertisingIdentifier
print("IDFA: \(idfa.uuidString)")
case .denied, .restricted:
// Преусмеравамо корисника у подешавања
redirectToSettings()
@unknown default:
break
}
}
private func handleATTStatus(status: ATTrackingManager.AuthorizationStatus) {
if status == .authorized {
let idfa = ASIdentifierManager.shared().advertisingIdentifier
// Преносимо IDFA рекламној мрежи
sendIDFAToAdNetwork(idfa.uuidString)
}
}
Пошто већина корисника одбија ATT захтев, програмерима је потребан скуп стратегија за ефикасан рад без идентификатора. Главни приступ је комбинација SKAdNetwork и вероватносних метода атрибуције.
SKAdNetwork (SKAN) — је Apple фрејмворк за атрибуцију инсталација, који не захтева IDFA и не приказује дијалог сагласности. Рекламна мрежа региструје свој SKAdNetwork ID у Info.plist-у апликације, а након инсталације App Store шаље потписани postback са информацијама о кампањи. SKAN 4.0, представљен у iOS 17, подржава multiple conversions, source identifiers и coarse-grained conversion values.
Ограничења SKAN-а: кашњење postback-а од 24 до 48 сати, недостатак идентификатора корисника, ограничен број conversion values (до 64). Упркос томе, SKAN је постао дефакто стандард за iOS атрибуцију након имплементације ATT, а све велике рекламне мреже морају да га подржавају за рад на Apple уређајима.
Рекламне мреже, попут Meta и Google, развиле су сопствена решења заснована на машинском учењу која предвиђају конверзије без идентификатора корисника. Meta Aggregated Events Measurement (AEM) користи агрегиране податке за атрибуцију, а Google Attribution моделира конверзије на основу историјских података.
За програмера је важно да имплементира више метода атрибуције истовремено: SKAdNetwork као примарну, серверску атрибуцију кроз рекламне мреже и сопствене аналитичке алате са моделирањем конверзија. Комбинација метода омогућава повраћај до 70–80% прецизности атрибуције у поређењу са ером IDFA. Препоручује се тестирање различитих комбинација метода у фази бета тестирања како би се изабрао оптималан скуп за конкретну апликацију и циљну публику.
Често постављана питања
IDFA — је јединствени код iPhone или iPad уређаја који рекламне мреже користе за приказ персонализованих реклама и мерење ефикасности кампања. Од iOS 14.5, апликација мора да затражи дозволу пре добијања IDFA путем системског App Tracking Transparency дијалога.
IDFV (Identifier for Vendor) — је идентификатор јединствен за све апликације једног програмера на уређају. За разлику од IDFA, IDFV не захтева ATT сагласност и увек је доступан. IDFA је јединствен за све апликације, IDFV само за апликације једног продавца (по bundle ID-у).
Добијање IDFA без сагласности корисника је немогуће. Почев од iOS 14.5, ASIdentifierManager.advertisingIdentifier враћа нулти идентификатор (00000000-0000-0000-0000-000000000000) ако корисник није дао сагласност путем ATT. Једини легални начин је позивање ATTrackingManager.requestTrackingAuthorization и добијање статуса authorized.
NSUserTrackingUsageDescription — је кључ у Info.plist-у апликације који садржи текст приказан у системском ATT дијалогу. Текст треба да објасни кориснику зашто апликацији треба праћење. Пример: „Ваш IDFA се користи за приказ персонализованих реклама и мерење ефикасности кампања“.
Не, IDFA је ексклузивни идентификатор Apple екосистема. На Android-у се користи GAID (Google Advertising ID) или AAID (Android Advertising ID). Оба обављају сличну функцију, али су регулисана различитим правилима — на Android-у корисник може ресетовати идентификатор или искључити персонализацију реклама у Google подешавањима.
Закључак
Развићемо мобилну апликацију под кључ
IT Sectr креира iOS и Android апликације за стартапе и предузећа од 2017. године. Саветоваћемо вас и предложити најбоље решење.
Прочитајте такође