IDFA: cos'è, come funziona e richiesta di autorizzazione in iOS

Autore: IT Sectr Pubblicato: 2026-05-22 Tempo di lettura: 8 min

IDFA (Identifier for Advertisers) è un identificatore univoco del dispositivo in iOS progettato per scopi pubblicitari e attribuzione delle installazioni. Con l'introduzione di App Tracking Transparency (ATT) in iOS 14.5, ottenere l'IDFA richiede il consenso esplicito dell'utente tramite un dialogo di sistema. Secondo la documentazione Apple su App Tracking Transparency, 2025, senza l'autorizzazione ATT l'applicazione riceve un identificatore azzerato. App Tracking Transparency ha cambiato radicalmente l'ecosistema della pubblicità mobile, riducendo la disponibilità dell'IDFA dell'80% dopo la sua implementazione.

Punti chiave

  • IDFA — identificatore pubblicitario iOS per tracciare gli utenti e attribuire installazioni di app.
  • App Tracking Transparency — framework Apple che richiede il consenso esplicito dell'utente prima di ottenere l'IDFA.
  • ATTrackingManager — la classe principale iOS per richiedere l'autorizzazione al tracciamento tramite requestTrackingAuthorization.
  • SKAdNetwork — meccanismo di attribuzione alternativo di Apple che non richiede IDFA né consenso dell'utente.
  • Privacy Manifest — file obbligatorio iOS 18+ che dichiara le ragioni dell'uso dell'identificatore pubblicitario.

Cos'è l'IDFA?

IDFA (Identifier for Advertisers) è un identificatore alfanumerico univoco assegnato a ciascun dispositivo Apple per scopi pubblicitari. A differenza dell'IDFV (Identifier for Vendor), l'IDFA è comune a tutte le applicazioni sul dispositivo e può essere reimpostato dall'utente in qualsiasi momento tramite Impostazioni — Privacy — Pubblicità — Reimposta identificatore.

Lo scopo principale dell'IDFA è l'attribuzione delle installazioni e il monitoraggio dell'efficacia delle campagne pubblicitarie sui dispositivi Apple. Le reti pubblicitarie utilizzano l'IDFA per collegare un clic su un annuncio all'installazione di un'app, creare profili utente e mostrare annunci personalizzati. Dall'implementazione dell'ATT, la percentuale di utenti che concedono l'accesso all'IDFA è in media del 20–35% secondo diverse piattaforme analitiche.

Secondo Flurry Analytics (2025), dopo iOS 18 il tasso di adozione dell'ATT ha raggiunto il 92% dei dispositivi attivi, ma la quota di utenti che accettano il tracciamento è scesa al 22%. Ciò ha portato a un cambiamento fondamentale nell'industria della pubblicità mobile, costringendo le reti pubblicitarie a cercare metodi di attribuzione alternativi.

Una caratteristica fondamentale dell'IDFA è che non contiene dati personali dell'utente e non è collegato a un Apple ID. Tuttavia, Apple lo classifica come un identificatore soggetto alla regolamentazione di App Tracking Transparency.

Come funzionano IDFA e App Tracking Transparency

App Tracking Transparency (ATT) è un framework Apple presentato in iOS 14.5 che richiede il consenso esplicito dell'utente prima di leggere l'IDFA. Senza consenso, il metodo asIdentifierManager restituisce un identificatore azzerato (00000000-0000-0000-0000-000000000000) e l'applicazione non può tracciare l'utente.

Framework App Tracking Transparency

ATT è implementato attraverso la classe ATTrackingManager con un unico metodo pubblico requestTrackingAuthorization(completionHandler:). Quando questo metodo viene chiamato, il sistema mostra un dialogo nativo con il testo impostato dallo sviluppatore tramite la chiave NSUserTrackingUsageDescription in Info.plist. L'utente può scegliere una di tre opzioni: “Consenti tracciamento”, “Chiedi all'app di non tracciare” o “Nega”.

Lo stato di autorizzazione viene monitorato tramite ATTrackingManager.trackingAuthorizationStatus, che può assumere quattro valori: notDetermined, restricted, denied o authorized. Prima di richiedere ATT, si consiglia di verificare lo stato corrente e di non chiamare il dialogo se lo stato è già determinato — a partire da iOS 17, chiamare nuovamente requestTrackingAuthorization con stato denied non mostra il dialogo e restituisce un errore.

Quando richiedere l'autorizzazione

Il momento della richiesta ATT influenza criticamente i tassi di consenso. Le ricerche di Singular (2025) mostrano che richiedere ATT sulla schermata di onboarding (al primo avvio) produce un tasso di conversione del 35–45%, mentre richiederlo dopo aver completato un'azione (ad esempio, dopo la registrazione) aumenta la conversione al 55–65%. Si consiglia di mostrare una schermata di pre-autorizzazione con design personalizzato che spiega il valore del tracciamento all'utente prima del dialogo ATT di sistema.

Importante: l'app può chiamare requestTrackingAuthorization una sola volta prima di ricevere una risposta. Una volta che l'utente sceglie “Nega” o “Chiedi all'app di non tracciare”, il dialogo non apparirà più sul dispositivo. Lo sviluppatore deve implementare meccanismi di fallback per lavorare senza IDFA, garantendo che l'app continui a funzionare correttamente in condizioni di tracciamento limitato.

Requisiti iOS 18+ per il tracciamento

Con il rilascio di iOS 18, Apple ha inasprito i requisiti per le app che utilizzano l'identificatore pubblicitario. Tutte le app che richiedono IDFA o trasmettono dati del dispositivo per scopi pubblicitari devono conformarsi alle nuove regole dell'App Store. La mancata conformità porta al rifiuto del build durante la revisione di App Store Connect.

Privacy Manifest e tracciamento

A partire da iOS 18, ogni app deve includere un Privacy Manifest (file privacy.xcprivacy) che dichiari tutte le API utilizzate per il tracciamento. Per l'IDFA, vengono utilizzate le chiavi NSPrivacyTracking e NSPrivacyTrackingDomains, dove vengono specificati i domini delle reti pubblicitarie a cui viene trasmesso l'identificatore. Senza un manifesto corretto, l'app viene rifiutata durante la moderazione di App Store Connect.

Apple ha anche introdotto l'obbligo di specificare il motivo dell'uso dell'identificatore pubblicitario nella descrizione dell'app. Se l'app utilizza IDFA per l'attribuzione delle installazioni, deve utilizzare SKAdNetwork come metodo principale e IDFA solo come segnale aggiuntivo per migliorare la precisione dell'attribuzione.

Alternative all'IDFA

Con le crescenti restrizioni sull'IDFA, l'industria ha sviluppato diversi approcci alternativi. SKAdNetwork (StoreKit Ad Network) è il meccanismo di attribuzione ufficiale di Apple che funziona senza IDFA e non richiede il consenso dell'utente. SKAdNetwork utilizza richieste postback firmate tra la rete pubblicitaria e l'App Store, garantendo la privacy dell'utente.

Altre alternative includono: attribuzione probabilistica basata su indirizzo IP, versione del SO e altri segnali del dispositivo; API aggregate private come Private Click Measurement (PCM) di WebKit; e soluzioni proprietarie delle piattaforme pubblicitarie che utilizzano l'apprendimento automatico per prevedere le conversioni. Per il mercato cinese, viene utilizzato anche CAID (Cellular Advertising ID), basato sui dati della rete dell'operatore mobile.

Esempi di codice per richiedere l'IDFA

Implementare una richiesta IDFA richiede l'integrazione di App Tracking Transparency e la corretta gestione di tutti i possibili stati di autorizzazione. Di seguito è riportato un esempio completo per Swift con una schermata di pre-autorizzazione.

Richiesta ATT in Swift

L'esempio mostra il flusso di lavoro completo con IDFA: verifica dello stato, visualizzazione di una schermata di pre-autorizzazione, chiamata del dialogo ATT di sistema e ottenimento dell'identificatore dopo l'autorizzazione.

swift
import AppTrackingTransparency
import AdSupport

func requestIDFAAccess() {
    let status = ATTrackingManager.trackingAuthorizationStatus

    switch status {
    case .notDetermined:
        // Mostra schermata di pre-autorizzazione con spiegazione
        showPrePermissionScreen { accepted in
            guard accepted else { return }
            ATTrackingManager.requestTrackingAuthorization { newStatus in
                handleATTStatus(newStatus)
            }
        }
    case .authorized:
        // L'utente ha già dato il consenso — ottenimento IDFA
        let idfa = ASIdentifierManager.shared().advertisingIdentifier
        print("IDFA: \(idfa.uuidString)")
    case .denied, .restricted:
        // Reindirizzamento utente alle impostazioni
        redirectToSettings()
    @unknown default:
        break
    }
}

private func handleATTStatus(status: ATTrackingManager.AuthorizationStatus) {
    if status == .authorized {
        let idfa = ASIdentifierManager.shared().advertisingIdentifier
        // Trasmissione IDFA alla rete pubblicitaria
        sendIDFAToAdNetwork(idfa.uuidString)
    }
}

Strategie per lavorare senza IDFA

Poiché la maggior parte degli utenti rifiuta la richiesta ATT, gli sviluppatori necessitano di una serie di strategie per lavorare efficacemente senza l'identificatore. L'approccio principale è una combinazione di SKAdNetwork e metodi di attribuzione probabilistica.

SKAdNetwork e attribuzione

SKAdNetwork (SKAN) è un framework Apple per l'attribuzione delle installazioni che non richiede IDFA e non mostra un dialogo di consenso. La rete pubblicitaria registra il proprio ID SKAdNetwork nell'Info.plist dell'app e, dopo l'installazione, l'App Store invia un postback firmato con le informazioni della campagna. SKAN 4.0, presentato in iOS 17, supporta conversioni multiple, identificatori di origine e valori di conversione a granularità grossolana.

Limitazioni di SKAN: ritardo del postback da 24 a 48 ore, assenza di identificatore utente e valori di conversione limitati (fino a 64). Nonostante ciò, SKAN è diventato lo standard de facto per l'attribuzione iOS dopo l'implementazione dell'ATT e tutte le grandi reti pubblicitarie devono supportarlo per funzionare sui dispositivi Apple.

Identificatori predittivi

Reti pubblicitarie come Meta e Google hanno sviluppato proprie soluzioni basate sull'apprendimento automatico che prevedono le conversioni senza identificatore utente. Meta Aggregated Events Measurement (AEM) utilizza dati aggregati per l'attribuzione, mentre Google Attribution modella le conversioni basandosi sui dati storici.

Per lo sviluppatore, è importante implementare più metodi di attribuzione contemporaneamente: SKAdNetwork come metodo principale, attribuzione lato server tramite reti pubblicitarie e strumenti analitici proprietari con modellazione delle conversioni. La combinazione di metodi consente di recuperare fino al 70–80% della precisione di attribuzione rispetto all'era IDFA. Si consiglia di testare diverse combinazioni di metodi durante la fase di beta testing per selezionare il set ottimale per l'app e il pubblico target specifici.

Domande frequenti

Cos'è l'IDFA in termini semplici?

IDFA è un codice univoco del dispositivo iPhone o iPad che le reti pubblicitarie utilizzano per mostrare annunci personalizzati e misurare l'efficacia delle campagne. Da iOS 14.5, l'app deve richiedere la tua autorizzazione prima di accedere all'IDFA tramite il dialogo di sistema App Tracking Transparency.

Qual è la differenza tra IDFA e IDFV?

IDFV (Identifier for Vendor) è un identificatore univoco per tutte le app dello stesso sviluppatore su un dispositivo. A differenza dell'IDFA, l'IDFV non richiede il consenso ATT ed è sempre disponibile. L'IDFA è comune a tutte le app, mentre l'IDFV è specifico per le app di un unico fornitore (per bundle ID).

Come ottenere l'IDFA senza il consenso dell'utente?

È impossibile ottenere l'IDFA senza il consenso dell'utente. Da iOS 14.5, ASIdentifierManager.advertisingIdentifier restituisce un identificatore azzerato (00000000-0000-0000-0000-000000000000) se l'utente non ha dato il consenso tramite ATT. L'unico modo legale è chiamare ATTrackingManager.requestTrackingAuthorization e ottenere lo stato authorized.

Cos'è NSUserTrackingUsageDescription?

NSUserTrackingUsageDescription è una chiave nell'Info.plist dell'app che contiene il testo visualizzato nel dialogo ATT di sistema. Il testo deve spiegare all'utente perché l'app ha bisogno del tracciamento. Esempio: “Il tuo IDFA viene utilizzato per mostrare annunci personalizzati e misurare l'efficacia delle campagne.”

L'IDFA funziona su Android?

No, l'IDFA è un identificatore esclusivo dell'ecosistema Apple. Android utilizza GAID (Google Advertising ID) o AAID (Android Advertising ID). Entrambi svolgono una funzione simile ma sono regolati da regole diverse — su Android l'utente può reimpostare l'identificatore o disattivare la personalizzazione degli annunci nelle impostazioni Google.

Riepilogo

  • IDFA — identificatore pubblicitario dei dispositivi Apple utilizzato per attribuzione e pubblicità personalizzata.
  • App Tracking Transparency — framework iOS 14.5+ che richiede il consenso esplicito dell'utente prima di ottenere l'IDFA.
  • ATTrackingManager — la classe principale per richiedere l'autorizzazione al tracciamento in iOS.
  • SKAdNetwork — meccanismo di attribuzione alternativo di Apple che non richiede consenso dell'utente né IDFA.
  • Privacy Manifest — file obbligatorio iOS 18+ che dichiara le ragioni dell'uso dell'identificatore pubblicitario.
  • Schermata di pre-autorizzazione — dialogo personalizzato con spiegazione prima dell'ATT di sistema, che aumenta la conversione al 55–65%.
  • Attribuzione multipla — combinazione di SKAdNetwork, metodi probabilistici e apprendimento automatico per ripristinare la precisione della misurazione delle campagne.

Svilupperemo un'applicazione mobile chiavi in mano

IT Sectr crea applicazioni iOS e Android per startup e aziende dal 2017. Ti consulteremo e ti proporremo la soluzione migliore.

Discuti il progetto

Leggi anche