← Todos los artículos

Blog

Conversion Tracking en apps: Firebase, SKAdNetwork y campañas de instalación de Google Play

conversion tracking en appsfirebase conversion trackingconversiones skadnetworkseguimiento de instalaciones de apps google ads

"Estamos corriendo campañas de instalación de apps, pero no estamos seguros de que las conversiones realmente se estén contando." El conversion tracking en apps es un animal distinto al tracking web — si necesitas la configuración del lado web, consulta nuestra guía de conversion tracking de GA4 o nuestra guía de conversion tracking de Google Ads. No hay un tag en una página, no hay URL de agradecimiento, no hay pestaña Network de DevTools que revisar. En su lugar, tienes SDKs, tiendas de aplicaciones como intermediarios, y frameworks de privacidad que limitan qué datos puedes siquiera recibir.

Esta guía cubre cómo funciona el conversion tracking en apps en las principales plataformas, qué es diferente respecto a la web, cómo verificar que esté bien configurado, y qué significan los cambios de privacidad de iOS para tus datos.

1. En qué se diferencia el conversion tracking en apps del de la web

En la web, la cadena de tracking es directa: tag en la página → acción del usuario → solicitud a la plataforma de anuncios → conversión registrada. Con las apps, varios factores hacen que esto sea fundamentalmente distinto.

Web App
El tag se carga en el navegador que controlas El SDK está compilado dentro del binario de la app
Las conversiones se disparan al cargar la página o al hacer clic en un botón Las conversiones se disparan al instalar o con un evento in-app
Puedes inspeccionar con DevTools en tiempo real Dependes de logs del SDK, Firebase DebugView, o dispositivos de prueba
Las cookies first-party llevan la identidad El device ID (IDFA/GAID) o frameworks que preservan la privacidad llevan la identidad
Los cambios se despliegan al instante (actualizas el tag) Los cambios requieren una actualización de la app y un ciclo de revisión

La diferencia más crítica: no puedes parchar el tracking de una app con un simple cambio de tag. Si la versión del SDK o la implementación del evento está mal, arreglarlo significa publicar una actualización de la app, esperar la revisión de la tienda, y luego esperar a que los usuarios actualicen.

2. Las tres vías de medición

Vía 1: Firebase + Google Ads

Firebase es el SDK de Google para analítica de apps y es la vía principal para rastrear conversiones de apps en Google Ads.

Cómo funciona:

  1. Integra el SDK de Firebase en tu app
  2. Registra eventos (por ejemplo, first_open, purchase, sign_up) en el código de tu app
  3. Vincula tu proyecto de Firebase con Google Ads
  4. En Google Ads, importa los eventos de Firebase como acciones de conversión

Qué se rastrea:

  • Instalaciones de la app — se rastrean automáticamente mediante el evento first_open
  • Acciones in-app — cualquier evento personalizado que registres (compra, finalización de nivel, inicio de suscripción)
  • Ingresos por compras in-app — si pasas los parámetros value y currency con tus eventos

Ventaja clave: Firebase provee un pipeline de datos directo hacia Google Ads. No se necesita ninguna herramienta de atribución de terceros para campañas de Google.

Vía 2: SKAdNetwork (SKAN) para iOS

Tras el framework App Tracking Transparency (ATT) de Apple en iOS 14.5, la mayoría de los usuarios de iOS optan por no ser rastreados. SKAdNetwork es la alternativa de Apple que preserva la privacidad para medir instalaciones de apps impulsadas por anuncios.

Cómo funciona:

  1. La red de anuncios (Google, Meta, etc.) se registra ante Apple como red de anuncios
  2. Cuando un usuario instala la app después de ver o hacer clic en un anuncio, Apple envía un postback a la red de anuncios
  3. El postback contiene datos limitados: el ID de la red de anuncios, el ID de campaña, y un "valor de conversión" (0–63 en SKAN 3.0, o valores "coarse" en SKAN 4.0)
  4. El postback está retrasado (mínimo 24–48 horas) y no contiene identificadores a nivel de usuario

Qué pierdes comparado con Firebase:

  • Sin atribución a nivel de usuario (no puedes ver qué usuario específico convirtió)
  • Granularidad limitada del valor de conversión (63 valores posibles frente a los ilimitados de Firebase)
  • Reportes retrasados (frente al tiempo casi real de Firebase)
  • Sin atribución view-through en las primeras versiones de SKAN
  • Atribución solo a nivel de campaña (sin nivel de grupo de anuncios o keyword en la mayoría de los casos)

Qué conservas:

  • Conteos agregados de instalaciones por campaña
  • Una señal aproximada del valor post-instalación (si mapeas correctamente tu esquema de valores de conversión)
  • Cumplimiento de privacidad — no se requiere consentimiento del usuario

Vía 3: Google Play Install Referrer (Android)

En Android, la API de Google Play Install Referrer provee atribución determinística sin las restricciones de privacidad de iOS.

Cómo funciona:

  1. Cuando un usuario hace clic en un anuncio de Google Ads e instala la app desde la Play Store, los datos del referrer (incluido el gclid) se pasan a la app
  2. Firebase o tu SDK de atribución lee el referrer en el primer lanzamiento
  3. La instalación se atribuye al clic específico, campaña, grupo de anuncios y keyword

Ventaja clave: La atribución en Android es significativamente más completa que en iOS post-ATT. Obtienes atribución a nivel de usuario y de keyword con datos de conversión completos.

3. Cómo configurar Firebase para el conversion tracking de Google Ads

Paso 1: Agrega Firebase a tu app

Sigue la configuración de Firebase para iOS o Android. Esto implica agregar el SDK de Firebase, un archivo de configuración (GoogleService-Info.plist para iOS, google-services.json para Android), e inicializar Firebase en el código de tu app.

Paso 2: Registra los eventos de conversión

En el código de tu app, registra los eventos que quieres rastrear como conversiones:

// iOS (Swift)
Analytics.logEvent("purchase", parameters: [
  AnalyticsParameterValue: 9.99,
  AnalyticsParameterCurrency: "USD"
])
// Android (Kotlin)
firebaseAnalytics.logEvent("purchase") {
  param(FirebaseAnalytics.Param.VALUE, 9.99)
  param(FirebaseAnalytics.Param.CURRENCY, "USD")
}

Paso 3: Vincula Firebase con Google Ads

En la consola de Firebase → Configuración del proyecto → Integraciones, vincula tu cuenta de Google Ads. Esto permite que Google Ads importe eventos desde Firebase.

Paso 4: Importa los eventos como conversiones en Google Ads

En Google Ads → Objetivos → Conversiones → Nueva acción de conversión → App → Firebase, selecciona los eventos que quieres importar. Marca el evento de conversión principal (por ejemplo, purchase) como "Principal" para las pujas.

4. Cómo configurar los valores de conversión de SKAdNetwork

SKAdNetwork te da 6 bits (valores 0–63) para codificar el comportamiento post-instalación. Cómo mapees esos 64 valores determina qué puedes medir.

Estrategias comunes de mapeo

Basada en ingresos: Mapea rangos de valor a valores de conversión (por ejemplo, 0 = sin compra, 1 = $0–$5, 2 = $5–$10, ... 63 = $500+). Esto le da a Google Ads una señal de ingresos para las pujas.

Basada en eventos: Mapea eventos clave post-instalación a valores de conversión (por ejemplo, 0 = solo instalación, 1 = registro, 2 = tutorial completado, 3 = primera compra). Esto le dice a la red de anuncios qué calidad de usuario se adquirió.

Híbrida: Combina niveles de ingresos y eventos clave dentro de los 64 valores disponibles.

Cambios en SKAN 4.0

SKAN 4.0 introduce:

  • Tres postbacks en lugar de uno (en distintas ventanas de tiempo)
  • Valores de conversión coarse (bajo/medio/alto) para el segundo y tercer postback
  • Identificadores de fuente con mayor granularidad a nivel de campaña

Google Ads y otras plataformas todavía están desplegando el soporte completo de SKAN 4.0. Revisa la documentación actual de tu plataforma para conocer las capacidades más recientes.

Atribución Web-to-App en SKAN 4.0

Una adición importante en SKAN 4.0: las transiciones de Safari a App Store ahora son elegibles para atribución. Antes, solo los anuncios in-app podían disparar postbacks de SKAN. Con la versión 4.0, los anuncios web vistos en Safari que llevan a una instalación desde App Store también pueden atribuirse — una mejora importante para anunciantes que corren campañas web junto con campañas de instalación de apps.

Privacy Sandbox en Android: lo que viene

Mientras que el ATT de iOS ya transformó la medición de apps, el equivalente de Android sigue en desarrollo. Privacy Sandbox on Android, de Google, reducirá gradualmente la dependencia del GAID (Google Advertising ID):

  • La Attribution Reporting API reemplaza la atribución basada en device ID por reportes agregados que preservan la privacidad (conceptualmente similar a SKAN)
  • La Topics API reemplaza la segmentación de anuncios por intereses sin rastreo por usuario
  • El cronograma de la eliminación del GAID sigue siendo incierto, pero los anunciantes deberían prepararse para un entorno de medición en Android cada vez más parecido al de iOS

Consejo práctico: no asumas que la precisión de medición actual de Android durará para siempre. Empieza ya a evaluar tu preparación para una atribución exclusivamente agregada en Android.

5. Cómo elegir un MMP (Mobile Measurement Partner)

Si haces publicidad en varias redes de anuncios, un MMP de terceros ofrece atribución cross-network que Firebase por sí solo no puede dar. Así se comparan las principales plataformas:

Característica AppsFlyer Adjust Singular
Cuota de mercado La mayor a nivel global Fuerte, especialmente en gaming En crecimiento, enfoque en analítica unificada
Atribución cross-network Integraciones extensas (más de 10,000 partners) Amplia biblioteca de integraciones Buena cobertura con agregación de costos
Soporte de SKAN Avanzado (SKAN 4.0, modelado predictivo) Soporte completo de SKAN Soporte completo de SKAN
Enfoque en privacidad Data Clean Rooms, datos agregados Controles de privacidad robustos, prevención de fraude Arquitectura privacy-first
Agregación de costos Disponible (producto separado) Disponible Incluida (diferenciador clave)
Precios Basado en uso, puede ser costoso a gran escala Basado en uso Basado en uso, competitivo
Ideal para Grandes anunciantes, multicanal complejo Gaming, apps sensibles a la privacidad Equipos con foco en costos que quieren una vista unificada

Cuándo necesitas un MMP:

  • Corres campañas de instalación de apps en 3 o más redes de anuncios simultáneamente
  • Necesitas desduplicar instalaciones entre redes (cada red se atribuye el crédito)
  • Quieres una única fuente de verdad para el ROAS cross-network
  • Necesitas detección de fraude avanzada (click injection, SDK spoofing)

Cuándo basta con Firebase solo:

  • Google Ads es tu único canal (o el dominante) de publicidad de apps
  • No necesitas atribución cross-network
  • Tu presupuesto de publicidad de apps está bajo los ~$50,000 USD/mes

6. Deep linking y medición de re-engagement

El conversion tracking en apps no se trata solo de instalaciones nuevas. Para apps con una base de usuarios existente, el re-engagement — traer de vuelta a los usuarios a la app — suele ser más valioso que la adquisición.

Deep links y conversion tracking

Los deep links envían a los usuarios directamente a una pantalla específica dentro de tu app (no solo a la pantalla de inicio). Afectan al conversion tracking porque:

  • Un usuario que hace clic en un anuncio de retargeting y llega exactamente a la página del producto convierte a una tasa aproximadamente 2 veces mayor que uno que llega a la pantalla de inicio de la app
  • Los clics en deep links se rastrean como un tipo de conversión separado (re-engagement vs. instalación nueva)

Reglas de atribución de re-engagement

Los MMP normalmente cuentan una conversión de re-engagement cuando:

  1. El usuario ya tiene la app instalada
  2. El usuario ha abierto la app al menos 3 veces antes (no es un usuario completamente nuevo)
  3. Han pasado al menos 10 minutos desde la instalación (para separarlo de la atribución de instalación nueva)

Medición Web-to-App

Rastrear a usuarios que empiezan en la web y convierten en la app es uno de los retos de atribución más difíciles:

  • App Links (Android) / Universal Links (iOS) dirigen a los usuarios desde URLs web directamente hacia la app
  • El puente de identidad entre la sesión web y la sesión de la app depende de señales a nivel de dispositivo que los cambios de privacidad están erosionando
  • App Campaigns for Engagement de Google y las soluciones de deep link de los MMP (AppsFlyer OneLink, Adjust Links) proveen la infraestructura, pero hay que esperar vacíos de atribución

7. Cómo verificar el conversion tracking en apps

Método de verificación 1: Firebase DebugView

Activa el modo debug en tu dispositivo de prueba:

  • iOS: Agrega -FIRDebugEnabled como argumento de lanzamiento en Xcode
  • Android: Ejecuta adb shell setprop debug.firebase.analytics.app your.package.name

Luego abre la consola de Firebase → DebugView. Los eventos deberían aparecer en tiempo real a medida que realizas acciones en la app. Verifica:

  • Que el nombre del evento coincida con lo que configuraste como conversión
  • Que los parámetros value y currency estén presentes y sean correctos
  • Que el evento se dispare en el momento correcto (no al abrir la app, sin retraso)

Método de verificación 2: Estado del conversion tracking en Google Ads

En Google Ads → Objetivos → Conversiones, revisa el estado de tus acciones de conversión de app:

  • "Registrando conversiones" — funciona correctamente
  • "Sin conversiones recientes" — o no han ocurrido instalaciones/eventos, o el vínculo entre Firebase y Google Ads está roto
  • "Sin verificar" — la acción de conversión fue creada pero aún no se ha recibido ningún dato

Método de verificación 3: Probar con un clic real en un anuncio (Android)

En Android, puedes probar la cadena completa de atribución:

  1. Haz clic en un anuncio real de tu app (usa una campaña de prueba con presupuesto mínimo)
  2. Instala la app desde la Play Store
  3. Revisa Firebase para ver el evento first_open
  4. Revisa Google Ads para ver la conversión registrada (permite entre 24 y 48 horas de procesamiento)

Advertencia para iOS: Debido al ATT, esta prueba es menos confiable en iOS. Si no diste tu consentimiento para el tracking en el dispositivo de prueba, la instalación podría aparecer solo a través de SKAdNetwork (retrasada, sin datos a nivel de usuario).

Método de verificación 4: Revisar los postbacks de SKAdNetwork

Para iOS, verifica que se estén recibiendo los postbacks de SKAN:

  • En Google Ads, revisa la columna "Conversiones de SKAN" en el reporte de tu campaña
  • En tu dashboard de reportes de SKAdNetwork (si usas un MMP de terceros), revisa los postbacks recibidos
  • Compara el conteo de instalaciones de SKAN contra tus datos internos de primer lanzamiento — vacíos significativos sugieren una mala configuración

8. Problemas comunes de tracking en apps

Problema Causa Solución
Las instalaciones aparecen en Firebase pero no en Google Ads El vínculo entre Firebase y Google Ads está roto, o el evento no está importado como conversión Revisa el vínculo en la consola de Firebase → Integraciones; verifica que el evento esté importado en Google Ads
Los valores de conversión son todos cero El parámetro value no se está pasando con el evento, o el mapeo de valores de conversión de SKAN está vacío Agrega value/currency al código que registra el evento; configura el mapeo de valores de SKAN
Las instalaciones en iOS están drásticamente subcontabilizadas La tasa de opt-out del ATT es alta; los postbacks de SKAN son la única señal Es el comportamiento esperado post-iOS 14.5; usa datos de SKAN junto con conversiones modeladas
Las instalaciones en Android están subcontabilizadas El SDK de Firebase no se inicializa en el primer lanzamiento, o el referrer de Play no se está capturando Asegúrate de que Firebase se inicialice en la clase Application (no en una activity retrasada)
Los eventos in-app se disparan pero no se registran como conversiones El evento se registra en Firebase pero no está importado como acción de conversión en Google Ads Importa el evento en Google Ads → Objetivos → Conversiones → App
Instalaciones duplicadas Varios SDKs (Firebase + MMP de terceros) envían ambos eventos de instalación Usa una única fuente de verdad para cada acción de conversión; no importes el mismo evento desde dos fuentes

9. El impacto del ATT: qué esperar en iOS

Desde iOS 14.5, la mayoría de los usuarios ven el prompt del ATT ("¿Permitir que [App] rastree tu actividad en apps y sitios web de otras empresas?") y aproximadamente entre el 70% y el 80% lo rechaza.

Para los usuarios que rechazan:

  • Firebase sigue registrando eventos (la analítica funciona sin IDFA), pero Google Ads no puede atribuir la instalación a un clic específico
  • SKAdNetwork provee atribución agregada con granularidad limitada
  • Las conversiones modeladas de Google llenan parte del vacío usando machine learning

Impacto práctico:

  • Los conteos de conversión en iOS serán más bajos que las instalaciones reales
  • El ROAS a nivel de campaña en iOS será menos preciso que en Android
  • No puedes comparar directamente los números de conversión de iOS y Android — se miden con niveles de precisión fundamentalmente distintos

Preguntas frecuentes

P. ¿Necesito tanto Firebase como un MMP de terceros (AppsFlyer, Adjust, etc.)? R. Si solo usas Google Ads, Firebase es suficiente. Si corres campañas en varias redes de anuncios (Google, Meta, TikTok, etc.) y necesitas atribución cross-network, un MMP de terceros te da una vista unificada. La mayoría de los grandes anunciantes de apps usan ambos.

P. ¿Puedo rastrear conversiones web-to-app (el usuario hace clic en un anuncio web, instala la app, y luego convierte dentro de ella)? R. Sí, usando Firebase Dynamic Links (que ahora está siendo reemplazado por App Links / Universal Links) o la medición cross-platform de Google Analytics. Este es uno de los problemas de atribución más difíciles — el puente de identidad entre web y app depende de señales a nivel de dispositivo que los cambios de privacidad están erosionando.

P. Nuestros valores de conversión de SKAN aparecen todos en 0. ¿Qué está mal? R. O tu mapeo de valores de conversión no está configurado (revisa la configuración de SKAN en tu MMP o en Google Ads), o la ventana de medición expiró antes de que el usuario realizara una acción calificada. SKAN tiene un temporizador limitado — si el usuario no realiza una acción de valor dentro de la ventana, el valor se queda en 0.

P. ¿Cómo verifico que los ingresos por compras in-app sean precisos? R. Compara el parámetro value en Firebase DebugView contra los registros de tu tienda de aplicaciones o procesador de pagos. Para compras verificadas del lado del servidor, asegúrate de que el ingreso registrado coincida con el cargo real (cuidado con discrepancias de moneda y con la inclusión de impuestos/comisiones).

Conclusión: el tracking en apps es una disciplina distinta

El conversion tracking en apps requiere herramientas diferentes, métodos de verificación diferentes, y expectativas diferentes respecto al tracking web. El principio central es el mismo — verificar que la señal llegue a la plataforma de anuncios — pero los mecanismos (SDKs frente a tags, device IDs frente a cookies, SKAN frente a atribución directa) son fundamentalmente distintos.

El mayor ajuste para los equipos que vienen de la web: aceptar que la medición en iOS es estructuralmente imprecisa. Post-ATT, no tendrás la misma atribución a nivel de usuario y en tiempo real a la que estás acostumbrado en la web. Construye tu estrategia de medición combinando Firebase (para analítica y atribución en Android), SKAN (para atribución agregada en iOS), y conversiones modeladas (para llenar los vacíos).

ConversionOK se enfoca en señales de conversión web — verificar que los tags en tus landing pages y páginas de agradecimiento realmente se disparen y lleguen a la plataforma de anuncios. Para apps, la verificación equivalente empieza con Firebase DebugView y el monitoreo de postbacks de SKAN, usando los métodos descritos arriba. Si usas server-side GTM para conectar datos web y de app, consulta cómo verificar que el server-side GTM realmente está funcionando.