¡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. Lee 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 ellos.
Para activar o editar la integración:
- Para activar: En AppsFlyer, desde el menú lateral, selecciona Colaborar > Partner Marketplace. Para editar: En AppsFlyer, desde el menú lateral, selecciona Colaborar > Integraciones Activas.
- Busca Google Analytics (GA4) y selecciónalo.
- Haz clic en Configurar integración. Se te dirigirá a la página de configuración de la integració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 de Integración selecciona la aplicación para la integración y haz clic en Activar partner
Nota: El selector debe estar ON (activado) mientras trabajes con el partner.
Para más detalles sobre la activación de partners, haz clic aquí.
- En ID de la aplicación de Firebase ingresa el identificador de la aplicación de Firebase. Para aprender cómo localizar el ID de la aplicación de Firebase, consulta la documentación de Firebase.
- En API Secret ingresa la API Secret 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 en 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 el ID de usuario del cliente 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, incluyendo 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 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 de la aplicación móvil enviados a través de S2S no son compatibles actualmente.
- GA4 no deduplica eventos enviados desde el SDK de Firebase y AppsFlyer. Por lo tanto, 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 postbacks de eventos in-app.
-
Haz clic en Agregar evento para agregar un evento de SDK o de servidor a servidor a la lista. La siguiente tabla describe los campos que debes completar:
Nombre de parámetro Descripción Evento de AppsFlyer El nombre del evento, tal como lo recibió AppsFlyer, ya sea del SDK integrado en tu aplicación o de los eventos servidor a servidor.
Consejo: ¿No encuentras 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 luego haz clic en Crear personalizado.
Saber más sobre la asignación de eventos personalizados.
Asignado al evento de partner El ID o nombre único de cada evento, tal y como lo defina 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 Selecciona la opción de envío para el evento:
- Todas las fuentes de medios, incluidas las orgánicas: Envía postbacks para eventos atribuidos a cualquier partner, así como eventos orgánicos.
incluyendo - Sin datos (por defecto): Envía solo el evento en sí sin ningún valor de evento.
- Valores e ingresos: Envía todos los parámetros del evento, incluyendo el valor de los ingresos (si existe en el evento).
- Valores sin ingresos: Envía todos los parámetros excluyendo el valor de los ingresos.
- [Opcional] Haz clic en el ícono Añadir condición (
) para establecer condiciones para un evento.
- Haz clic en Guardar integración.
- Enviar el mapeo de postback de eventos
4. 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 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 AF (OBLIGATORIO): 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_dataapp_exceptionapp_installapp_removeapp_store_refundapp_updateapp_upgradedynamic_link_app_opendynamic_link_app_updatedynamic_link_first_openerrorfirebase_campaignfirebase_in_app_message_actionfirebase_in_app_message_dismissfirebase_in_app_message_impressionfirst_openfirst_visitin_app_purchasenotification_dismissnotification_foregroundnotification_opennotification_receivenotification_sendos_updatesession_startuser_engagement
5. Recuperar el ID de instancia de la aplicación en el SDK de AppsFlyer
El ID de instancia de la aplicación identifica de manera única una instalación específica de una aplicación de Firebase. Este valor debe ser recuperado por el SDK del SDK de Firebase.
Deja que tu desarrollador implemente el código para:
- Recoger el campo
app_instance_idde Firebase. - Llama a
setAddiotionalData, antes de la primera apertura, para incluir el ID de instancia de la aplicación en instalaciones, sesiones y eventos in-app.
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
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
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
Referencia de API: setAdditionalData
6. Recuperar el ID de sesión de GA4 en el SDK de AppsFlyer
ga_session_id identifica de manera única una sesión de una aplicación de Firebase. Este valor debe ser recuperado del SDK de Firebase y enviado a GA4 utilizando la API setAdditionalData.
Deja que tu desarrollador implemente el código para:
- Recoger el campo
ga_session_idde Firebase. - Llama a
setAdditionalDataantes de la primera apertura para incluir el ID de sesión. - Usa la clave
ga_session_idal llamar a la API.
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
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
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
7. 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 Big Query 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 la colección Ciclo de vida o en la colección Reportes de juegos bajo 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.
Bajo 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.