La integración de AppsFlyer con Google Analytics (GA4) permite a los anunciantes enviar datos de atribución y eventos seleccionados in-app desde AppsFlyer a GA4. Esta integración funciona con aplicaciones de iOS y Android que ya tienen implementado el SDK de Google Analytics para Firebase.
Importante:
Esta integración funciona con aplicaciones de iOS y Android que ya tienen implementado el SDK de Google Analytics para Firebase. Para que la integración tenga éxito, el SDK de AppsFlyer debe recopilar el valor app_instance_id del SDK de Firebase. Consulta las instrucciones sobre cómo recuperar el ID de instancia de la aplicación del SDK de Firebase.
¿Cómo funciona?
- Cuando ocurre una nueva instalación, AppsFlyer envía los detalles del punto de contacto: fuente de medios, nombre de la campaña e ID de la campaña a GA4. También envía el
app_instance_iddel SDK de Firebase para asegurar que el punto de contacto se registre en GA4 para ese usuario. - Cuando ocurre un evento in-app, GA4 atribuirá el evento al último punto de contacto.
Configurar la integración de Google Analytics (GA4)
Sigue las instrucciones a continuación para configurar la integración con Google Analytics (GA4).
1. Selecciona Google Analytics (GA4) en el Partner Marketplace
Requisito previo: Antes de configurar la integración, asegúrate de ponerte en contacto con el partner y abrir una cuenta con él.
Para configurar una nueva integración:
- En AppsFlyer, ve a la pestaña Collaborate > Partner Integrations > Marketplace .
(Para editar una integración existente: Ve a la pestaña Collaborate > Partner Integrations > Active integrations .) - Selecciona la aplicación correspondiente.
- Busca Google Analytics (GA4) y selecciona Integrar.
- En la pestaña Integración, activa el selector Activar partner.
Nota: El selector debe permanecer activado (activo) mientras trabajes con Google Analytics (GA4). Saber más - Completa la configuración utilizando las pestañas pertinentes, como se describe a continuación.
La configuración de Google Analytics solo incluye la pestaña Integración.
Para ver una descripción detallada del encabezado de la ventana de configuración del partner, haz clic aquí.
2. Configurar la integración de GA4 en AppsFlyer
Configura los siguientes ajustes:
-
En la pestaña Integración, selecciona la aplicación para la integración y activa Activar partner.
Nota: El selector debe estar (activado) mientras trabajes con el partner.
Para obtener más detalles sobre la activación del partner, haz clic aquí.
- En ID de la aplicación de Firebase, introduce el identificador de la aplicación de Firebase. Para saber cómo localizar el ID de la aplicación de Firebase, consulta la documentación de Firebase.
- En API Secret, introduce la API Secret que se usa para autenticar los postbacks a Google Analytics. Una API Secret se genera a través de la interfaz de usuario de Google Analytics. Para ver, editar o crear un secreto, sigue las instrucciones de la documentación de Google. Cuando se te indique seleccionar un flujo de datos web, elige un flujo de datos de Android o iOS en su lugar.
- Activa Customer User ID para enviar el ID de usuario del cliente (CUID) en lugar del ID de publicidad (IDFA).
- En la sección Postbacks predeterminados, en para usuarios de, selecciona Todas las fuentes de medios, incluido orgánico.
Nota:
El postback de instalación incluye solo los detalles del punto de contacto (fuente de medios, nombre de campaña e ID de campaña).
3. Configurar postbacks predeterminados
AppsFlyer puede enviar postbacks automáticos a GA4 después de las instalaciones de usuarios, incluidas tanto las instalaciones como los re-engagements (incluidas las reatribuciones). Los re-engagements se producen cuando un usuario que ya tiene la aplicación instalada la abre después de hacer clic en un enlace de campaña. Saber más sobre los postbacks predeterminados.
4. Configurar postbacks de eventos in-app
En la pestaña Integración, mapea los eventos in-app de AppsFlyer a los eventos de Google Analytics (GA4), enviados a través de postbacks.
Nota:
- Los postbacks para eventos in-app móviles enviados a través de S2S no son compatibles.
- GA4 no deduplica eventos enviados desde el SDK de Firebase y AppsFlyer. Recomendamos configurar postbacks de eventos in-app solo para eventos que no se envían ya a GA4 a través del SDK de Firebase.
- Activa los postbacks de eventos in-app.
-
Haz clic en Agregar evento para añadir un evento del SDK a la lista. En la siguiente tabla se describen los campos que debes completar:
Nombre del parámetro Description Evento de AppsFlyer El nombre del evento, tal como se recibe desde el SDK de AppsFlyer integrado en tu app.
Consejo: ¿No ves el evento que estás buscando?
- Asegúrate de activar el evento en un dispositivo con una instalación no orgánica y vuelve a verificar.
- Escríbelo en Evento de AppsFlyer y, a continuación, haz clic en Crear personalizado.
Leer más sobre la asignación personalizada de eventos.
Asignado al evento de socio El nombre o ID único de cada evento, definido por el partner. Existen varias configuraciones de asignación:
- Campo de texto: Obtén el ID del evento correspondiente del partner.
- Cuadro desplegable: selecciona el evento de AppsFlyer predefinido más adecuado.
- Tal como está: envía los eventos tal como están, sin asignación de nombres.
Para usuarios de Seleccione la opción de envío para el evento:
- Todas las fuentes de medios, incluidas las orgánicas: envía postbacks de eventos atribuidos a cualquier partner, así como eventos orgánicos.
incluye - Sin datos (predeterminado): envía solo el evento en sí, sin ningún valor del evento.
- Valores e ingresos: envía todos los parámetros del evento, incluido el valor de ingresos (si existe en el evento).
- Valores sin ingresos: envía todos los parámetros, excluyendo el valor de ingresos.
- [Opcional] Haz clic en el icono Agregar condición (
) para establecer condiciones para un evento.
- Haz clic en Guardar integración.
- Enviar el mapeo de postback de eventos
5. Envía a tu desarrollador el mapeo de eventos de postback
Después de haber configurado el mapeo de eventos in-app, envía a tu desarrollador una tabla donde cada evento mapeado corresponda a una fila con las siguientes columnas:
- Evento de AF: Nombre del evento de AppsFlyer.
- Asignado al evento de Google: Nombre del evento en Google Analytics.
Importante:
No utilices ninguno de los eventos reservados de Google como nombres para eventos personalizados de Google Analytics.
- Parámetros del evento de AF (OBLIGATORIOS): Parámetros de evento de AppsFlyer predefinidos que deben incluirse en el postback de evento enviado a Google Analytics.
Importante:
Es obligatorio incluir todos los parámetros de evento AF predefinidos dentro de la definición del evento exactamente como se enumeran en la tabla; no hacerlo resultará en que Google Analytics rechace el postback.
La tabla de mapeo de eventos
La siguiente tabla incluye todos los eventos de Google Analytics y sus parámetros predefinidos de AppsFlyer. Envía a tu desarrollador una tabla que contenga solo los eventos que has mapeado.
Nombres reservados de eventos de Google
Los siguientes nombres de eventos están reservados y no se pueden usar como nombres de eventos personalizados:
ad_activeviewad_clickad_exposuread_queryad_rewardadunit_exposureapp_clear_dataexcepción_de_la_aplicacióninstalación_de_la_aplicacióneliminación_de_la_aplicaciónreembolso_de_la_tienda_de_aplicacionesapp_updateactualización_de_la_aplicaciónapertura_de_la_aplicación_mediante_enlace_dinámicoactualización_de_la_aplicación_mediante_enlace_dinámicoprimera_apertura_mediante_enlace_dinámicoerrorcampaña_de_firebaseacción_del_mensaje_in-app_de_firebasecierre_del_mensaje_in-app_de_firebaseimpresión_del_mensaje_in-app_de_firebaseprimera_aperturaprimera_visitain_app_purchasedescarte_de_notificaciónnotificación_en_primer_planonotification_openrecepción_de_notificaciónenvío_de_notificaciónactualización_del_sistema_operativoinicio_de_sesiónengagement_del_usuario
6. Recuperar el ID de instancia de la aplicación en el SDK de AppsFlyer
El app_instance_id identifica de forma única una instalación de la app de Firebase, y el ga_session_id identifica de forma única una sesión de la app de Firebase. Recupera estos valores desde el SDK de Firebase y, después, envíalos a GA4 con la API setAdditionalData.
Deja que tu desarrollador implemente el código para:
- Recopila de Firebase los campos
app_instance_idyga_session_id. - Llama a
setAdditionalDataantes del primer inicio para incluir el ID de instancia de la aplicación yga_session_iden instalaciones, sesiones y eventos in-app.
Importante:
setAdditionalData (Android / Unity / React Native) y customData (iOS) aceptan un mapeo de pares clave-valor. Envía tanto app_instance_id como ga_session_id juntos en el mismo mapeo, para que se incluyan ambos valores. Si los envías en llamadas independientes a setAdditionalData, la última sobrescribirá la anterior.
Android nativo
Kotlin
FirebaseAnalytics.getInstance(this).appInstanceId.addOnCompleteListener { task ->
if (task.isSuccessful) {
AppsFlyerLib.getInstance().setAdditionalData("app_instance_id", task.result)
}
}
Java
FirebaseAnalytics.getInstance(this).getAppInstanceId().addOnCompleteListener(task -> {
if (task.isSuccessful()) {
AppsFlyerLib.getInstance().setAdditionalData("app_instance_id", task.getResult());
}
});
Referencia de API: setAdditionalData
iOS nativo
iOS nativo
let appInstanceId = Analytics.appInstanceID()
AppsFlyerLib.shared().customData = ["app_instance_id": appInstanceId]
Objective C
(void) fetchAnalyticsInstanceId {
NSString *instanceID = [FIRAnalytics appInstanceID];
[[AppsFlyerLib shared] setAdditionalData:@{@"app_instance_id": instanceID}];
}
Referencia de API: customData
Unity
using Firebase.Analytics;
public class AnalyticsManager : MonoBehaviour
{
private async void Start()
{
AppsFlyer.initSDK(devKey, appID, this);
string appInstanceId = await FirebaseAnalytics.GetAnalyticsInstanceIdAsync();
Dictionary <string, string> customData = new Dictionary<string, string>();
customData.Add("app_instance_id", appInstanceId);
AppsFlyer.setAdditionalData(appInstanceId);
AppsFlyer.startSDK();
}
}
Referencia de API: setAdditionalData
React Native
Referencia de API: setAdditionalData
7. Recuperar el ID de sesión de GA4 en el SDK de AppsFlyer
El ga_session_id identifica de forma única una sesión de una aplicación de Firebase. Este valor debe recuperarse del SDK de Firebase y enviarse a GA4 mediante la API setAdditionalData.
Deja que tu desarrollador implemente el código para:
- Recoge el campo
ga_session_idde Firebase. - Llama a
setAdditionalDataantes del primer inicio para incluir el ID de sesión (yapp_instance_id, si se usa). - Usa la clave
ga_session_idal llamar a la API.
Importante:
setAdditionalData (Android / Unity / React Native) y customData (iOS) aceptan un mapeo de pares clave-valor. Si tu aplicación envía tanto app_instance_id como ga_session_id (consulta el paso 5), envíalos juntos en el mismo mapeo para que se incluyan ambos valores. Si los envías en llamadas independientes a setAdditionalData, la última sobrescribirá la anterior.
Android nativo
Kotlin
FirebaseAnalytics.getInstance(this).sessionId.addOnCompleteListener { task ->
if (task.isSuccessful) {
AppsFlyerLib.getInstance().setAdditionalData("ga_session_id", task.result)
}
}
Java
FirebaseAnalytics.getInstance(this).getSessionId().addOnCompleteListener(task -> {
if (task.isSuccessful()) {
AppsFlyerLib.getInstance().setAdditionalData("ga_session_id", task.getResult());
}
});
Referencia de API: setAdditionalData
iOS nativo
Swift
if #available(iOS 14.0, *) {
Analytics.sessionID { sessionID, error in
if let sessionID = sessionID {
AppsFlyerLib.shared().customData = ["ga_session_id": sessionID]
}
}
}
Objective-C
- (void)fetchAnalyticsSessionId {
if (@available(iOS 14.0, *)) {
[FIRAnalytics sessionIDWithCompletion:^(NSString * _Nullable sessionID, NSError * _Nullable error) {
if (sessionID) {
[[AppsFlyerLib shared] setAdditionalData:@{@"ga_session_id": sessionID}];
}
}];
}
}
Referencia de API: customData
Unity
using Firebase.Analytics;
using System.Threading.Tasks;
using AppsFlyerSDK;
using UnityEngine;
using System.Collections.Generic;
public class AnalyticsManager : MonoBehaviour
{
private async void Start()
{
AppsFlyer.initSDK("yourDevKey", "yourAppID", this);
// Get session ID
string sessionId = await FirebaseAnalytics.GetSessionIdAsync();
Dictionary<string, string> customData = new Dictionary<string, string>();
customData.Add("ga_session_id", sessionId);
AppsFlyer.setAdditionalData(customData);
AppsFlyer.startSDK();
}
}
Referencia de API: setAdditionalData
8. Valida la integración de GA4
Asegúrate de que los eventos en los postbacks que envías a GA4 estén registrados y leídos por Google Analytics. Hay dos métodos que los anunciantes pueden usar para ver sus datos:
- Usando Exploraciones de GA4, puedes explorar los datos de eventos en bruto con todos los parámetros asociados. Requisito previo: La exportación de BigQuery debe estar configurada en tu propiedad)
-
El reporte de eventos permite a los anunciantes ver sus eventos de postback. El reporte se puede encontrar en una o más colecciones de reportes.
Por ejemplo, los reportes de eventos se pueden encontrar en las colecciones Ciclo de vida o Reportes de juegos, en engagement > Eventos.
Para más información sobre el reporte de eventos, consulta la documentación de Google. -
El reporte de adquisición de tráfico te ayuda a entender de dónde provienen los visitantes de tu sitio web y aplicación.
En la colección Ciclo de vida, ve a Adquisición > Adquisición de tráfico).
Para más información sobre el reporte de adquisición de tráfico, consulta la documentación de Google.