GAID (Google Advertising ID) y AAID (Android Advertising ID) son identificadores publicitarios únicos de dispositivos Android utilizados para la atribución de instalaciones y la personalización de anuncios. GAID es el nombre oficial para dispositivos con Google Play Services, AAID es un término universal para todos los dispositivos Android, incluidas las compilaciones sin servicios de Google. Según la Documentación para Desarrolladores de Google, 2025, obtener GAID requiere los servicios de Google Play. AdvertisingIdClient es la API principal para obtener el identificador publicitario en Android.
Puntos clave
GAID (Google Advertising ID) es un identificador único asignado a cada dispositivo Android con Google Play Services instalado. Está destinado a fines publicitarios: atribución de instalaciones, medición de campañas y entrega de anuncios personalizados. AAID (Android Advertising ID) es un término más amplio que abarca los identificadores publicitarios en todos los dispositivos Android, incluidos dispositivos Huawei con HMS, Amazon Fire y compilaciones AOSP sin servicios de Google.
La principal diferencia entre GAID e IDFA en iOS es que GAID está disponible sin una solicitud de permiso explícita, pero desde Android 14, las aplicaciones deben declarar el uso del identificador publicitario en el manifiesto y obtener el consentimiento del usuario de acuerdo con la Política de Privacidad de Google Play. Google no exige un diálogo del sistema (como ATT en iOS), pero el desarrollador debe seguir las reglas de consentimiento del usuario.
Según las Estadísticas de Google Play Console (2025), más del 95% de los dispositivos Android activos admiten GAID a través de Google Play Services. En dispositivos sin servicios de Google (mercado chino, Huawei AppGallery), se utilizan AAID de las tiendas de aplicaciones correspondientes o identificadores alternativos como OAID (Open Anonymous ID) para fabricantes chinos.
La ventaja clave de GAID sobre IDFA es la capacidad de obtener el identificador sin un diálogo de sistema bloqueante. Sin embargo, Google está endureciendo constantemente los requisitos: desde Android 14, las aplicaciones con API 34 y superior deben declarar explícitamente el permiso AD_ID en el manifiesto.
En Android, la obtención del identificador publicitario se implementa a través de Google Play Services y la clase AdvertisingIdClient. A diferencia de iOS, donde IDFA requiere un diálogo ATT explícito, GAID está disponible para la aplicación por defecto, a menos que el usuario haya desactivado la personalización de anuncios en la configuración del dispositivo.
La clase AdvertisingIdClient del paquete com.google.android.gms.ads.identifier proporciona dos métodos principales: getAdvertisingIdInfo (contexto) y start (contexto). El método devuelve un objeto AdvertisingIdInfo que contiene el identificador (cadena UUID) y el indicador isLimitAdTrackingEnabled, que muestra si el usuario ha desactivado la personalización de anuncios.
La llamada a AdvertisingIdClient debe ejecutarse en un hilo en segundo plano, ya que el método accede al servicio remoto de Google Play. Se recomienda usar corrutinas o AsyncTask para la obtención asíncrona del identificador. Si Google Play Services no están disponibles en el dispositivo, el método lanza una excepción GooglePlayServicesNotAvailableException — en este caso, el desarrollador debe usar un método de identificación alternativo.
El usuario puede restablecer GAID en cualquier momento a través de Ajustes — Google — Anuncios — Restablecer identificador publicitario. Después del restablecimiento, las aplicaciones reciben un nuevo identificador y se pierde el vínculo con los datos anteriores. El usuario también puede activar la opción “Desactivar personalización de anuncios”, que establece el indicador isLimitAdTrackingEnabled en true.
El desarrollador debe respetar el indicador isLimitAdTrackingEnabled: si es true, la aplicación no debe usar GAID para personalización de anuncios, pero puede usarlo para fines limitados como medición de conversiones, prevención de fraudes y limitación de frecuencia. La violación de esta regla conduce a la suspensión de la aplicación en Google Play.
A partir de Android 14 (API 34), Google introdujo nuevas restricciones de acceso al identificador publicitario. El permiso AD_ID ahora debe declararse explícitamente en el manifiesto de la aplicación para obtener GAID. Si la aplicación no declara el permiso y tiene target API 34+, la llamada a AdvertisingIdClient devuelve un identificador nulo.
La Política de Google Play exige que las aplicaciones que usan GAID cumplan varias reglas: el identificador solo puede usarse para fines publicitarios y analíticos; la aplicación no debe vincular GAID con datos personales sin consentimiento explícito del usuario; GAID no debe compartirse con terceros sin indicarlo en la política de privacidad. Desde 2025, Google Play comenzó a escanear automáticamente las aplicaciones para verificar el cumplimiento de estas reglas mediante la API Play Integrity.
Se presta especial atención a las aplicaciones infantiles: según la Política de Familias de Google Play, las aplicaciones dirigidas a niños no pueden usar GAID para personalización de anuncios bajo ninguna circunstancia. Los desarrolladores deben usar redes publicitarias certificadas para audiencias infantiles.
El indicador isLimitAdTrackingEnabled señala la elección del usuario a la aplicación. Si el indicador es true, la aplicación solo puede usar GAID para operaciones básicas: atribución de instalaciones, análisis, antifraude, limitación de frecuencia. La personalización de anuncios, la creación de perfiles de usuario y el retargeting basados en GAID están prohibidos en este caso.
Google recomienda no intentar eludir el indicador isLimitAdTrackingEnabled mediante identificadores alternativos (IMEI, dirección MAC, Android ID). El uso de identificadores de hardware permanentes está terminantemente prohibido por la política de Google Play y conduce a la suspensión inmediata de la aplicación sin posibilidad de apelación.
Obtener GAID en Android requiere una llamada asíncrona a AdvertisingIdClient con manejo de posibles excepciones. A continuación se muestra un ejemplo completo en Kotlin usando corrutinas.
El ejemplo demuestra la obtención del identificador publicitario y la verificación del indicador isLimitAdTrackingEnabled mediante corrutinas y try-catch para manejar errores de Google Play Services.
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) {
// Servicios de Google Play no disponibles — usando ID alternativo
null
} catch (e: IOException) {
// Error de red al acceder al servicio
null
}
}
}
// Uso en Activity o ViewModel
fun onGaidRequested() {
lifecycleScope.launch {
val info = getAdvertisingInfo(this@MainActivity)
setupAdNetwork(
gaid = info?.gaid,
limitTracking = info?.isLimitAdTrackingEnabled ?: true
)
}
}
Comprender las diferencias entre los identificadores publicitarios en diferentes plataformas es críticamente importante para los desarrolladores que trabajan con atribución publicitaria en ambos SO. A continuación se muestra una comparación de los aspectos clave de GAID, AAID e IDFA.
La principal diferencia entre GAID e IDFA es el mecanismo de obtención. IDFA requiere consentimiento explícito a través de ATT, sin el cual se devuelve un identificador nulo. GAID está disponible sin un diálogo del sistema, pero desde Android 14+ requiere declarar el permiso AD_ID en el manifiesto. GAID también tiene un sistema de indicadores más flexible: isLimitAdTrackingEnabled no bloquea la obtención del identificador, solo señala a la aplicación que limite su uso.
Según Adjust (2025), la disponibilidad de GAID en Android es del 98% de los dispositivos activos, frente al 20–35% de disponibilidad de IDFA en iOS. Esto hace de Android una plataforma más predecible para la atribución publicitaria, pero el endurecimiento de las políticas de Google está reduciendo gradualmente esta brecha.
AAID, a diferencia de GAID, no está vinculado a Google Play Services y puede usarse en dispositivos Huawei (HMS), Amazon Fire OS y fabricantes chinos. En dispositivos Huawei, AAID se implementa a través de Huawei Mobile Services (HMS) con la clase AdvertisingIdClient del paquete com.huawei.hms.ads.identifier. Para el mercado chino, también es común OAID (Open Anonymous ID), un estándar desarrollado por la alianza de fabricantes chinos para reemplazar GAID en dispositivos sin servicios de Google. La elección de la API correcta para obtener el identificador afecta directamente la disponibilidad de la atribución publicitaria en diferentes mercados.
Preguntas Frecuentes
GAID (Google Advertising ID) es un identificador publicitario para dispositivos con Google Play Services. AAID (Android Advertising ID) es un término general para identificadores publicitarios de Android, incluidos dispositivos sin servicios de Google (Huawei, Amazon Fire). GAID se obtiene a través de Google Play, AAID a través del SDK de la tienda de aplicaciones correspondiente.
Sí, a partir de Android 14 (API 34) es necesario declarar el permiso AD_ID en el manifiesto. Si la aplicación tiene targetSdkVersion 34+ y no declara AD_ID, AdvertisingIdClient devuelve un identificador nulo. El permiso se declara mediante la etiqueta
Sí, el usuario puede restablecer GAID en cualquier momento a través de Ajustes — Google — Anuncios — Restablecer identificador publicitario. Después del restablecimiento, todas las aplicaciones reciben un nuevo identificador y se pierde el vínculo con el historial de interacciones publicitarias.
OAID (Open Anonymous ID) es un estándar de identificador publicitario desarrollado por la alianza de fabricantes chinos de smartphones (Xiaomi, OPPO, vivo, Huawei). Se utiliza en dispositivos sin Google Play Services para el mercado chino. A diferencia de GAID, OAID no requiere Google Play y funciona a través del SDK del fabricante del dispositivo.
Si isLimitAdTrackingEnabled es true, la aplicación no puede usar GAID para personalización de anuncios, creación de perfiles de usuario ni retargeting. Sin embargo, el identificador se puede usar para fines limitados: atribución de instalaciones, análisis, prevención de fraudes y limitación de frecuencia.
Resumen
Desarrollaremos una aplicación móvil llave en mano
IT Sectr crea aplicaciones para iOS y Android para startups y empresas desde 2017. Le asesoraremos y le propondremos la mejor solución.