IDFA (Identifier for Advertisers), iOS'ta reklam amaçları ve yükleme ilişkilendirmesi için tasarlanmış benzersiz bir cihaz tanımlayıcısıdır. iOS 14.5'te App Tracking Transparency'nin (ATT) ortaya çıkmasıyla birlikte, IDFA almak bir sistem diyaloğu aracılığıyla kullanıcının açık rızasını gerektirir. Apple App Tracking Transparency Documentation, 2025'e göre, ATT izni olmadan uygulama sıfırlanmış bir tanımlayıcı alır. App Tracking Transparency mobil reklam ekosistemini kökten değiştirmiş, uygulanmasının ardından IDFA kullanılabilirliğini %80 oranında azaltmıştır.
Önemli Noktalar
IDFA (Identifier for Advertisers), reklam amaçları için her Apple cihazına atanan benzersiz bir alfanümerik tanımlayıcıdır. IDFV'den (Identifier for Vendor) farklı olarak IDFA, cihazdaki tüm uygulamalarda aynıdır ve kullanıcı tarafından herhangi bir zamanda Ayarlar — Gizlilik — Reklam — Tanımlayıcıyı Sıfırla yoluyla sıfırlanabilir.
IDFA'nın temel amacı, Apple cihazlarında yükleme ilişkilendirmesi ve reklam kampanyalarının etkinliğini izlemektir. Reklam ağları, bir reklam tıklamasını uygulama yüklemesine bağlamak, kullanıcı profilleri oluşturmak ve kişiselleştirilmiş reklamlar göstermek için IDFA kullanır. ATT'nin uygulanmasından bu yana, çeşitli analitik platformlarına göre IDFA'ya erişim izni veren kullanıcıların yüzdesi ortalama %20-35'tir.
Flurry Analytics (2025)'e göre, iOS 18'den sonra ATT benimseme oranı aktif cihazların %92'sine ulaşmış, ancak izlemeyi kabul eden kullanıcıların oranı %22'ye düşmüştür. Bu, mobil reklam endüstrisinde temel bir değişime yol açarak reklam ağlarını alternatif ilişkilendirme yöntemleri aramaya zorlamıştır.
IDFA'nın önemli bir özelliği, kullanıcının kişisel verilerini içermemesi ve bir Apple ID'ye bağlı olmamasıdır. Ancak Apple, bunu App Tracking Transparency düzenlemesine tabi bir tanımlayıcı olarak sınıflandırır.
App Tracking Transparency (ATT), iOS 14.5'te sunulan ve IDFA'yı okumadan önce kullanıcının açık rızasını gerektiren bir Apple çerçevesidir. Rıza olmadan, asIdentifierManager yöntemi sıfırlanmış bir tanımlayıcı (00000000-0000-0000-0000-000000000000) döndürür ve uygulama kullanıcıyı izleyemez.
ATT, tek bir genel yöntem olan requestTrackingAuthorization(completionHandler:) ile ATTrackingManager sınıfı aracılığıyla uygulanır. Bu yöntem çağrıldığında, sistem geliştirici tarafından Info.plist'teki NSUserTrackingUsageDescription anahtarı aracılığıyla ayarlanan metinle birlikte yerel bir diyalog görüntüler. Kullanıcı üç seçenekten birini seçebilir: “İzlemeye İzin Ver”, “Uygulamadan İzlememesini İste” veya “Reddet”.
Yetkilendirme durumu, ATTrackingManager.trackingAuthorizationStatus aracılığıyla izlenir ve dört değer alabilir: notDetermined, restricted, denied veya authorized. ATT istemeden önce, mevcut durumu kontrol etmeniz ve durum zaten belirlenmişse diyaloğu çağırmamanız önerilir — iOS 17'den itibaren, denied durumuyla requestTrackingAuthorization'ı tekrar çağırmak diyaloğu göstermez ve bir hata döndürür.
ATT talebinin zamanlaması, rıza oranlarını kritik şekilde etkiler. Singular (2025) araştırmaları, karşılama ekranında (ilk açılışta) ATT istemenin %35-45 dönüşüm oranı sağladığını, bir eylemi tamamladıktan sonra (örneğin kayıttan sonra) istemenin ise dönüşümü %55-65'e yükselttiğini göstermektedir. Sistem ATT diyaloğundan önce, kullanıcıya izlemenin değerini açıklayan özel tasarımlı bir ön izin ekranı gösterilmesi önerilir.
Önemli: uygulama, bir yanıt almadan önce requestTrackingAuthorization'ı yalnızca bir kez çağırabilir. Kullanıcı “Reddet” veya “Uygulamadan İzlememesini İste” seçeneğini seçtikten sonra, diyalog cihazda bir daha görünmez. Geliştirici, sınırlı izleme koşullarında uygulamanın doğru şekilde çalışmaya devam etmesini sağlamak için IDFA olmadan çalışmak üzere yedek mekanizmalar uygulamalıdır.
iOS 18'in piyasaya sürülmesiyle Apple, reklam tanımlayıcısını kullanan uygulamalar için gereksinimleri sıkılaştırdı. IDFA talep eden veya reklam amaçlarıyla cihaz verisi ileten tüm uygulamalar yeni App Store kurallarına uymalıdır. Uyulmaması, App Store Connect incelemesi sırasında yapının reddedilmesine yol açar.
iOS 18'den itibaren, her uygulama izleme için kullanılan tüm API'leri bildiren bir Privacy Manifest (privacy.xcprivacy dosyası) içermelidir. IDFA için, tanımlayıcının iletildiği reklam ağı alanlarını belirtmek üzere NSPrivacyTracking ve NSPrivacyTrackingDomains anahtarları kullanılır. Doğru bir bildirim olmadan, uygulama App Store Connect denetimi sırasında reddedilir.
Apple ayrıca, uygulama açıklamasında reklam tanımlayıcısını kullanma nedeninin belirtilmesi zorunluluğunu getirmiştir. Uygulama, yükleme ilişkilendirmesi için IDFA kullanıyorsa, SKAdNetwork'ü birincil yöntem olarak kullanmalı ve IDFA'yı yalnızca ilişkilendirme doğruluğunu artırmak için ek bir sinyal olarak kullanmalıdır.
IDFA üzerindeki artan kısıtlamalarla birlikte endüstri, birkaç alternatif yaklaşım geliştirmiştir. SKAdNetwork (StoreKit Ad Network), IDFA olmadan çalışan ve kullanıcı rızası gerektirmeyen Apple'ın resmi ilişkilendirme mekanizmasıdır. SKAdNetwork, reklam ağı ile App Store arasında imzalı postback istekleri kullanarak kullanıcı gizliliğini garanti eder.
Diğer alternatifler şunları içerir: IP adresi, işletim sistemi sürümü ve diğer cihaz sinyallerine dayalı olasılıksal ilişkilendirme; WebKit'ten Private Click Measurement (PCM) gibi özel toplu API'ler; ve dönüşümleri tahmin etmek için makine öğrenimi kullanan özel reklam platformu çözümleri. Çin pazarı için, mobil operatör ağ verilerine dayalı CAID (Cellular Advertising ID) de kullanılmaktadır.
IDFA talebi uygulamak, App Tracking Transparency'yi entegre etmeyi ve olası tüm yetkilendirme durumlarını doğru şekilde işlemeyi gerektirir. Aşağıda, ön izin ekranıyla birlikte Swift için tam bir örnek verilmiştir.
Örnek, IDFA ile tam iş akışını göstermektedir: durumu kontrol etme, ön izin ekranı gösterme, ATT sistem diyaloğunu çağırma ve yetkilendirmeden sonra tanımlayıcıyı alma.
import AppTrackingTransparency
import AdSupport
func requestIDFAAccess() {
let status = ATTrackingManager.trackingAuthorizationStatus
switch status {
case .notDetermined:
// Açıklamayla ön izin ekranı gösteriliyor
showPrePermissionScreen { accepted in
guard accepted else { return }
ATTrackingManager.requestTrackingAuthorization { newStatus in
handleATTStatus(newStatus)
}
}
case .authorized:
// Kullanıcı zaten rıza verdi — IDFA alınıyor
let idfa = ASIdentifierManager.shared().advertisingIdentifier
print("IDFA: \(idfa.uuidString)")
case .denied, .restricted:
// Kullanıcı ayarlara yönlendiriliyor
redirectToSettings()
@unknown default:
break
}
}
private func handleATTStatus(status: ATTrackingManager.AuthorizationStatus) {
if status == .authorized {
let idfa = ASIdentifierManager.shared().advertisingIdentifier
// IDFA reklam ağına iletilioyor
sendIDFAToAdNetwork(idfa.uuidString)
}
}
Kullanıcıların çoğunluğu ATT talebini reddettiğinden, geliştiricilerin tanımlayıcı olmadan etkin bir şekilde çalışmak için bir dizi stratejiye ihtiyacı vardır. Ana yaklaşım, SKAdNetwork ve olasılıksal ilişkilendirme yöntemlerinin bir kombinasyonudur.
SKAdNetwork (SKAN), IDFA gerektirmeyen ve rıza diyaloğu göstermeyen, yükleme ilişkilendirmesi için bir Apple çerçevesidir. Reklam ağı, SKAdNetwork kimliğini uygulamanın Info.plist'ine kaydeder ve yüklemeden sonra App Store, kampanya bilgileriyle birlikte imzalı bir postback gönderir. iOS 17'de sunulan SKAN 4.0, birden çok dönüşüm, kaynak tanımlayıcıları ve kaba taneli dönüşüm değerlerini destekler.
SKAN sınırlamaları: 24 ila 48 saat arasında postback gecikmesi, kullanıcı tanımlayıcısı yok ve sınırlı dönüşüm değerleri (64'e kadar). Buna rağmen, SKAN ATT uygulamasından sonra iOS ilişkilendirmesi için fiili standart haline gelmiştir ve tüm büyük reklam ağlarının Apple cihazlarında çalışmak için bunu desteklemesi gerekir.
Meta ve Google gibi reklam ağları, kullanıcı tanımlayıcısı olmadan dönüşümleri tahmin eden kendi makine öğrenimi tabanlı çözümlerini geliştirmiştir. Meta Aggregated Events Measurement (AEM), ilişkilendirme için toplu veri kullanırken, Google Attribution geçmiş verilere dayalı olarak dönüşümleri modeller.
Geliştiriciler için, birden çok ilişkilendirme yöntemini aynı anda uygulamak önemlidir: birincil yöntem olarak SKAdNetwork, reklam ağları aracılığıyla sunucu tarafı ilişkilendirme ve dönüşüm modellemesiyle özel analitik araçları. Yöntemlerin kombinasyonu, IDFA dönemine kıyasla ilişkilendirme doğruluğunun %70-80'ine kadar geri kazanılmasını sağlar. Belirli uygulama ve hedef kitle için en uygun seti seçmek üzere beta test aşamasında farklı yöntem kombinasyonlarının test edilmesi önerilir.
Sıkça Sorulan Sorular
IDFA, reklam ağlarının kişiselleştirilmiş reklamlar göstermek ve kampanya etkinliğini ölçmek için kullandığı iPhone veya iPad cihazının benzersiz bir kodudur. iOS 14.5'ten itibaren, uygulamanın App Tracking Transparency sistem diyaloğu aracılığıyla IDFA'ya erişmeden önce izninizi istemesi gerekir.
IDFV (Identifier for Vendor), bir cihazdaki aynı geliştiricinin tüm uygulamaları için benzersiz olan bir tanımlayıcıdır. IDFA'nın aksine, IDFV ATT rızası gerektirmez ve her zaman kullanılabilir. IDFA tüm uygulamalarda aynıyken, IDFV bir satıcının uygulamalarına özeldir (bundle ID'ye göre).
Kullanıcı rızası olmadan IDFA almak imkansızdır. iOS 14.5'ten itibaren, kullanıcı ATT aracılığıyla rıza vermediyse ASIdentifierManager.advertisingIdentifier sıfırlanmış bir tanımlayıcı (00000000-0000-0000-0000-000000000000) döndürür. Tek yasal yol, ATTrackingManager.requestTrackingAuthorization'ı çağırmak ve authorized durumunu elde etmektir.
NSUserTrackingUsageDescription, ATT sistem diyaloğunda görüntülenen metni içeren uygulamanın Info.plist'indeki bir anahtardır. Metin, kullanıcıya uygulamanın neden izlemeye ihtiyaç duyduğunu açıklamalıdır. Örnek: “IDFA'nız, kişiselleştirilmiş reklamlar göstermek ve kampanya etkinliğini ölçmek için kullanılır.”
Hayır, IDFA Apple ekosisteminin özel bir tanımlayıcısıdır. Android, GAID (Google Advertising ID) veya AAID (Android Advertising ID) kullanır. Her ikisi de benzer bir işlevi yerine getirir ancak farklı kurallarla düzenlenir — Android'de kullanıcı, Google ayarlarında tanımlayıcıyı sıfırlayabilir veya reklam kişiselleştirmeyi devre dışı bırakabilir.
Özet
Anahtar teslim bir mobil uygulama geliştireceğiz
IT Sectr, 2017'den beri girişimler ve işletmeler için iOS ve Android uygulamaları oluşturmaktadır. Size danışmanlık yapacak ve en iyi çözümü önereceğiz.
Ayrıca okuyun