IDFA: Nedir, nasıl çalışır ve iOS'te izin isteme

Yazar: IT Sectr Yayınlanma: 2026-05-22 Okuma süresi: 8 dk

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 — kullanıcıları izlemek ve uygulama yükleme ilişkilendirmesi için iOS reklam tanımlayıcısı.
  • App Tracking Transparency — IDFA almadan önce kullanıcının açık rızasını gerektiren Apple çerçevesi.
  • ATTrackingManager — requestTrackingAuthorization aracılığıyla izleme izni istemek için ana iOS sınıfı.
  • SKAdNetwork — IDFA veya kullanıcı rızası gerektirmeyen Apple alternatif ilişkilendirme mekanizması.
  • Privacy Manifest — iOS 18+'da zorunlu olan ve reklam tanımlayıcısını kullanma nedenlerini bildiren dosya.

IDFA Nedir?

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.

IDFA ve App Tracking Transparency Nasıl Çalışı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.

App Tracking Transparency Çerçevesi

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.

Ne Zaman İzin İstenmeli

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+ İzleme Gereksinimleri

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.

Privacy Manifest ve İzleme

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 Alternatifleri

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 İstemek İçin Kod Örnekleri

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.

Swift'te ATT Talebi

Ö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.

swift
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)
    }
}

IDFA Olmadan Çalışma Stratejileri

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 ve İlişkilendirme

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.

Tahmine Dayalı Tanımlayıcılar

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

Basit terimlerle IDFA nedir?

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.

IDFA ve IDFV arasındaki fark nedir?

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 nasıl alınır?

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 nedir?

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.”

IDFA Android'de çalışır mı?

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

  • IDFA — ilişkilendirme ve kişiselleştirilmiş reklamcılık için kullanılan Apple cihaz reklam tanımlayıcısı.
  • App Tracking Transparency — IDFA almadan önce kullanıcının açık rızasını gerektiren iOS 14.5+ çerçevesi.
  • ATTrackingManager — iOS'ta izleme izni istemek için ana sınıf.
  • SKAdNetwork — kullanıcı rızası veya IDFA gerektirmeyen Apple alternatif ilişkilendirme mekanizması.
  • Privacy Manifest — iOS 18+'da zorunlu olan ve reklam tanımlayıcısını kullanma nedenlerini bildiren dosya.
  • Ön izin ekranı — sistem ATT'sinden önce açıklama içeren özel diyalog, dönüşümü %55-65'e yükseltir.
  • Çoklu ilişkilendirme — kampanya ölçüm doğruluğunu geri kazanmak için SKAdNetwork, olasılıksal yöntemler ve makine öğreniminin kombinasyonu.

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.

Projeyi tartış

Ayrıca okuyun