GAID e AAID — cosa sono, come funzionano e richiesta in Android

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

GAID (Google Advertising ID) e AAID (Android Advertising ID) sono identificatori pubblicitari unici dei dispositivi Android, utilizzati per l'attribuzione delle installazioni e la personalizzazione degli annunci. GAID è il nome ufficiale per i dispositivi con Google Play Services, AAID è un termine universale per tutti i dispositivi Android, incluse le build senza servizi Google. Secondo la Documentazione per sviluppatori Google, 2025, ottenere GAID richiede i servizi Google Play. AdvertisingIdClient è l'API principale per ottenere l'identificatore pubblicitario su Android.

Punti chiave

  • GAID — Google Advertising ID, identificatore pubblicitario dei dispositivi con Google Play Services.
  • AAID — Android Advertising ID, nome universale dell'identificatore pubblicitario per tutti i dispositivi Android.
  • AdvertisingIdClient — classe principale di Google Play Services per ottenere GAID su Android.
  • opt-out — impostazione utente che vieta la personalizzazione degli annunci basata sull'identificatore.
  • Android 14+ — versione del SO che ha inasprito le regole di accesso all'identificatore pubblicitario per le app.

Cosa sono GAID e AAID?

GAID (Google Advertising ID) è un identificatore unico assegnato a ciascun dispositivo Android con Google Play Services installato. È destinato a scopi pubblicitari: attribuzione delle installazioni, misurazione delle campagne e visualizzazione di annunci personalizzati. AAID (Android Advertising ID) è un termine più ampio che copre gli identificatori pubblicitari su tutti i dispositivi Android, inclusi i dispositivi Huawei con HMS, Amazon Fire e le build AOSP senza servizi Google.

La differenza principale tra GAID e IDFA su iOS è che GAID è disponibile senza una richiesta di autorizzazione esplicita, ma da Android 14, le app devono dichiarare l'uso dell'identificatore pubblicitario nel manifest e ottenere il consenso dell'utente in conformità con l'Informativa sulla privacy di Google Play. Google non richiede un dialogo di sistema (come ATT su iOS), ma lo sviluppatore deve seguire le regole di consenso dell'utente.

Secondo le Statistiche di Google Play Console (2025), oltre il 95% dei dispositivi Android attivi supporta GAID tramite Google Play Services. Sui dispositivi senza servizi Google (mercato cinese, Huawei AppGallery), vengono utilizzati AAID dei rispettivi app store o identificatori alternativi come OAID (Open Anonymous ID) per i produttori cinesi.

Il vantaggio chiave di GAID rispetto a IDFA è la possibilità di ottenere l'identificatore senza un dialogo di sistema bloccante. Tuttavia, Google sta costantemente inasprendo i requisiti: da Android 14, le app che targettizzano API 34 e superiori devono dichiarare esplicitamente l'autorizzazione AD_ID nel manifest.

Come funzionano gli identificatori pubblicitari Android

Su Android, l'ottenimento dell'identificatore pubblicitario è implementato tramite Google Play Services e la classe AdvertisingIdClient. A differenza di iOS, dove IDFA richiede un dialogo ATT esplicito, GAID è disponibile per l'app per impostazione predefinita, a meno che l'utente non abbia disattivato la personalizzazione degli annunci nelle impostazioni del dispositivo.

API AdvertisingIdClient

La classe AdvertisingIdClient del pacchetto com.google.android.gms.ads.identifier fornisce due metodi principali: getAdvertisingIdInfo (contesto) e start (contesto). Il metodo restituisce un oggetto AdvertisingIdInfo contenente l'identificatore (stringa UUID) e il flag isLimitAdTrackingEnabled, che indica se l'utente ha disattivato la personalizzazione degli annunci.

La chiamata ad AdvertisingIdClient deve essere eseguita in un thread in background, poiché il metodo accede al servizio remoto di Google Play. Si consiglia di utilizzare coroutine o AsyncTask per il recupero asincrono dell'identificatore. Se Google Play Services non è disponibile sul dispositivo, il metodo genera un'eccezione GooglePlayServicesNotAvailableException — in questo caso, lo sviluppatore deve utilizzare un metodo di identificazione alternativo.

Reimpostazione e restrizioni

L'utente può reimpostare GAID in qualsiasi momento tramite Impostazioni — Google — Annunci — Reimposta identificatore pubblicitario. Dopo la reimpostazione, le app ricevono un nuovo identificatore e il collegamento ai dati precedenti viene perso. L'utente può anche attivare l'opzione “Disattiva personalizzazione annunci”, che imposta il flag isLimitAdTrackingEnabled su true.

Lo sviluppatore deve rispettare il flag isLimitAdTrackingEnabled: se è true, l'app non deve utilizzare GAID per la personalizzazione degli annunci, ma può usarlo per scopi limitati come misurazione delle conversioni, prevenzione delle frodi e limitazione della frequenza. La violazione di questa regola porta alla sospensione dell'app su Google Play.

Restrizioni Android 14+ per gli identificatori pubblicitari

A partire da Android 14 (API 34), Google ha introdotto nuove restrizioni all'accesso all'identificatore pubblicitario. L'autorizzazione AD_ID deve ora essere dichiarata esplicitamente nel manifest dell'app per ottenere GAID. Se l'app non dichiara l'autorizzazione e targettizza API 34+, la chiamata ad AdvertisingIdClient restituisce un identificatore nullo.

Informativa sulla privacy di Google Play

L'Informativa di Google Play richiede che le app che utilizzano GAID rispettino diverse regole: l'identificatore può essere utilizzato solo per scopi pubblicitari e analitici; l'app non deve collegare GAID a dati personali senza il consenso esplicito dell'utente; GAID non deve essere condiviso con terze parti senza indicazione nell'informativa sulla privacy. Dal 2025, Google Play ha iniziato a scansionare automaticamente le app per la conformità a queste regole utilizzando l'API Play Integrity.

Particolare attenzione è rivolta alle app per bambini: secondo la Google Play Families Policy, le app destinate ai bambini non possono utilizzare GAID per la personalizzazione degli annunci in nessuna circostanza. Gli sviluppatori devono utilizzare reti pubblicitarie certificate per il pubblico infantile.

Rinuncia alla personalizzazione

Il flag isLimitAdTrackingEnabled segnala la scelta dell'utente all'app. Se il flag è true, l'app può utilizzare GAID solo per operazioni di base: attribuzione delle installazioni, analisi, antifrode, limitazione della frequenza. La personalizzazione degli annunci, la profilazione degli utenti e il retargeting basati su GAID sono vietati in questo caso.

Google raccomanda di non tentare di aggirare il flag isLimitAdTrackingEnabled tramite identificatori alternativi (IMEI, indirizzo MAC, Android ID). L'uso di identificatori hardware permanenti è severamente vietato dalla politica di Google Play e porta alla sospensione immediata dell'app senza possibilità di appello.

Esempi di codice per ottenere GAID

Ottenere GAID su Android richiede una chiamata asincrona ad AdvertisingIdClient con gestione delle possibili eccezioni. Di seguito è riportato un esempio completo in Kotlin utilizzando le coroutine.

Ottenere GAID in Kotlin

L'esempio dimostra il recupero dell'identificatore pubblicitario e la verifica del flag isLimitAdTrackingEnabled utilizzando coroutine e try-catch per la gestione degli errori di Google Play Services.

kotlin
import com.google.android.gms.ads.identifier.AdvertisingIdClient
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.withContext

data class AdvertisingInfo(
    val gaid: String,
    val isLimitAdTrackingEnabled: Boolean
)

suspend fun getAdvertisingInfo(context: Context): AdvertisingInfo? {
    return withContext(Dispatchers.IO) {
        try {
            val adInfo = AdvertisingIdClient.getAdvertisingIdInfo(context)
            AdvertisingInfo(
                gaid = adInfo.id,
                isLimitAdTrackingEnabled = adInfo.isLimitAdTrackingEnabled(true)
            )
        } catch (e: GooglePlayServicesNotAvailableException) {
            // Servizi Google Play non disponibili — utilizzo ID alternativo
            null
        } catch (e: IOException) {
            // Errore di rete durante l'accesso al servizio
            null
        }
    }
}

// Utilizzo in Activity o ViewModel
fun onGaidRequested() {
    lifecycleScope.launch {
        val info = getAdvertisingInfo(this@MainActivity)
        setupAdNetwork(
            gaid = info?.gaid,
            limitTracking = info?.isLimitAdTrackingEnabled ?: true
        )
    }
}

Confronto tra GAID, AAID e IDFA

Comprendere le differenze tra gli identificatori pubblicitari su diverse piattaforme è di fondamentale importanza per gli sviluppatori che lavorano con l'attribuzione pubblicitaria su entrambi i SO. Di seguito è riportato un confronto degli aspetti chiave di GAID, AAID e IDFA.

Differenze da IDFA su iOS

La differenza principale tra GAID e IDFA è il meccanismo di ottenimento. IDFA richiede il consenso esplicito tramite ATT, senza il quale viene restituito un identificatore nullo. GAID è disponibile senza un dialogo di sistema, ma da Android 14+ richiede la dichiarazione dell'autorizzazione AD_ID nel manifest. GAID ha anche un sistema di flag più flessibile: isLimitAdTrackingEnabled non blocca il recupero dell'identificatore, segnala solo all'app di limitarne l'uso.

Secondo Adjust (2025), la disponibilità di GAID su Android è del 98% dei dispositivi attivi contro il 20–35% di disponibilità di IDFA su iOS. Questo rende Android una piattaforma più prevedibile per l'attribuzione pubblicitaria, ma l'inasprimento delle politiche Google sta gradualmente riducendo questo divario.

AAID, a differenza di GAID, non è legato a Google Play Services e può essere utilizzato su dispositivi Huawei (HMS), Amazon Fire OS e produttori cinesi. Sui dispositivi Huawei, AAID è implementato tramite Huawei Mobile Services (HMS) con la classe AdvertisingIdClient del pacchetto com.huawei.hms.ads.identifier. Per il mercato cinese, è comune anche OAID (Open Anonymous ID) — uno standard sviluppato dall'alleanza dei produttori cinesi per sostituire GAID sui dispositivi senza servizi Google. La scelta dell'API corretta per ottenere l'identificatore influisce direttamente sulla disponibilità dell'attribuzione pubblicitaria in diversi mercati.

Domande frequenti

Qual è la differenza tra GAID e AAID?

GAID (Google Advertising ID) è un identificatore pubblicitario per dispositivi con Google Play Services. AAID (Android Advertising ID) è un termine generale per gli identificatori pubblicitari Android, inclusi i dispositivi senza servizi Google (Huawei, Amazon Fire). GAID si ottiene tramite Google Play, AAID tramite l'SDK del rispettivo app store.

È necessaria un'autorizzazione per ottenere GAID su Android 14?

Sì, a partire da Android 14 (API 34) è necessario specificare l'autorizzazione AD_ID nel manifest. Se l'app ha targetSdkVersion 34+ e non specifica AD_ID, AdvertisingIdClient restituisce un identificatore nullo. L'autorizzazione viene specificata tramite il tag .

Si può reimpostare GAID su un dispositivo?

Sì, l'utente può reimpostare GAID in qualsiasi momento tramite Impostazioni — Google — Annunci — Reimposta identificatore pubblicitario. Dopo la reimpostazione, tutte le app ricevono un nuovo identificatore e il collegamento con la cronologia delle interazioni pubblicitarie viene perso.

Cos'è OAID e in cosa differisce da GAID?

OAID (Open Anonymous ID) è uno standard di identificatore pubblicitario sviluppato dall'alleanza dei produttori cinesi di smartphone (Xiaomi, OPPO, vivo, Huawei). Viene utilizzato su dispositivi senza Google Play Services per il mercato cinese. A differenza di GAID, OAID non richiede Google Play e funziona tramite l'SDK del produttore del dispositivo.

In che modo il flag isLimitAdTrackingEnabled influisce sul lavoro con GAID?

Se isLimitAdTrackingEnabled è true, l'app non può utilizzare GAID per la personalizzazione degli annunci, la profilazione degli utenti e il retargeting. Tuttavia, l'identificatore può essere utilizzato per scopi limitati: attribuzione delle installazioni, analisi, prevenzione delle frodi e limitazione della frequenza.

Riepilogo

  • GAID — Google Advertising ID per dispositivi con Google Play Services, il principale identificatore pubblicitario di Android.
  • AAID — termine generale per gli identificatori pubblicitari su tutti i dispositivi Android, inclusi Huawei e Amazon Fire.
  • AdvertisingIdClient — API principale di Google Play Services per ottenere GAID su Android.
  • Autorizzazione AD_ID — autorizzazione obbligatoria per le app con targetSdkVersion 34+ su Android 14+.
  • isLimitAdTrackingEnabled — flag che segnala il divieto dell'utente alla personalizzazione degli annunci.
  • OAID — identificatore pubblicitario alternativo per il mercato cinese su dispositivi senza servizi Google.
  • Differenza da IDFA — GAID non richiede un dialogo di consenso di sistema, ma la politica di Google Play obbliga a rispettare le restrizioni quando isLimitAdTrackingEnabled = true.

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