How can we help?

Integración con Google Analytics (GA4)

  • Actualización

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_id del 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:

  1. 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.)
  2. Selecciona la aplicación correspondiente.
  3. Busca Google Analytics (GA4) y selecciona Integrate.
  4. En la pestaña Integración, activa el selector Activate partner.
    Nota: El selector debe permanecer activado (activo) mientras trabajes con Google Analytics (GA4). Más información
  5. 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:

  1. 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í.

  2. En ID de la aplicación de Firebase, introduce el identificador de la aplicación de Firebase. Para aprender a localizar el ID de la aplicación de Firebase, consulta la documentación de Firebase.
  3. En API Secret, introduce el 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.
  4. Activa el ID de usuario del cliente para enviar el ID de usuario del cliente (CUID) en lugar del ID de publicidad (IDFA).
  5. En la sección Default postbacks, en for users from, selecciona All media sources including organic.

    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 tras 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 app instalada la abre después de hacer clic en un enlace de campaña. Saber más sobre postbacks predeterminados.

4. Configurar postbacks de eventos in-app

En la pestaña Integración, asigna los eventos in-app de AppsFlyer a eventos de Google Analytics (GA4), enviados mediante postbacks.

Nota:

  • Los postbacks para eventos in-app de aplicaciones 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.
  1. Activa los postbacks de eventos in-app.
  2. Haz clic en Agregar evento para agregar 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 del SDK de AppsFlyer integrado en tu aplicación.

    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 luego haz clic en Crear personalizado.

    Leer más sobre la asignación de eventos personalizados.

    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 para eventos atribuidos a cualquier partner, así como eventos orgánicos.
    incluye
    • Sin datos (predeterminado): envía solo el evento en sí, sin valores 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.
  3. [Opcional] Haz clic en el icono Agregar condición (condition-2.png) para establecer condiciones para un evento.
  4. Haz clic en Guardar integración.
  5. 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.

Nombre recomendado por AF (Opcional) El nombre del evento de Google Ads Parámetros de evento predefinidos de AF (OBLIGATORIO)
af_add_payment_info add_payment_info af_currency, af_revenue, af_price, af_content_id, af_content
add_shipping_info af_currency, af_revenue, af_price, af_content_id, af_content
af_add_to_cart añadir_al_carrito af_currency, af_revenue, af_price, af_content_id, af_content
af_add_to_wishlist add_to_wishlist af_currency, af_revenue, af_price, af_content_id, af_content
af_initiated_checkout begin_checkout af_currency, af_revenue, af_price, af_content_id, af_content
campaign_details campaign id, campaign name
af_spent_credits earn_virtual_currency af_revenue
generate_lead af_currency,af_revenue
join_group
af_level_achieved level_up
af_login Iniciar sesión
post_score af_user_score
af_compra purchase af_currency, af_revenue, af_price, af_content_id, af_content, af_receipt_id
refund af_currency, af_revenue, af_price, af_content_id, af_content, af_receipt_id
remove_from_cart af_currency, af_revenue, af_price, af_content_id, af_content
screen_view
af_search search
select_content
select_item af_price, af_content_id, af_content
select_promotion af_price, af_content_id, af_content
share
sign_up
spend_virtual_currency af_revenue
tutorial_begin
af_tutorial_completion tutorial_complete
af_achievement_unlocked Unlock_achievement af_achievement_id
view_cart af_currency, af_revenue, af_price, af_content_id, af_content
view_item af_currency, af_revenue, af_price, af_content_id, af_content
view_item_list af_price, af_content_id, af_content
view_promotion af_currency, af_revenue, af_price, af_content_id, af_content
view_search_results
af_ad_view ad_impression af_currency, af_revenue

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_activeview
  • ad_click
  • ad_exposure
  • ad_query
  • ad_reward
  • adunit_exposure
  • app_clear_data
  • app_exception
  • app_install
  • app_remove
  • app_store_refund
  • app_update
  • app_upgrade
  • dynamic_link_app_open
  • actualización_del_enlace_dinámico_de_la_app
  • primera_apertura_del_enlace_dinámico
  • error
  • campaña_de_firebase
  • acción_del_mensaje_in-app_de_Firebase
  • descartar_mensaje_in-app_de_Firebase
  • impresión_del_mensaje_in-app_de_Firebase
  • primera_apertura
  • primera_visita
  • in_app_purchase
  • descartar_notificación
  • notificación_en_primer_plano
  • notification_open
  • recibir_notificación
  • enviar_notificación
  • actualización_del_sistema_operativo
  • inicio_de_sesión
  • engagement_de_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 aplicación de Firebase. Recupera estos valores del SDK de Firebase y, a continuación, envíalos a GA4 mediante la API setAdditionalData.

Deja que tu desarrollador implemente el código para:

  1. Recopila los campos app_instance_id y ga_session_id de Firebase.
  2. Llama a setAdditionalData, antes del primer inicio, para incluir el ID de instancia de la app y ga_session_id en instalaciones, sesiones y eventos in-app.

Importante:

setAdditionalData (Android / Unity / React Native) y customData (iOS) aceptan una asignación de pares clave-valor. Envía app_instance_id y ga_session_id juntos en la misma asignación, para que se incluyan ambos valores. Si los envías en llamadas separadas a setAdditionalData, la posterior 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. Valida la integración de GA4

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:

  1. Recoger el campo app_instance_id de Firebase.
  2. 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.
  3. Usa la clave ga_session_id al llamar a la API.

Importante:

setAdditionalData (Android / Unity / React Native) y customData (iOS) aceptan una asignación 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 la misma asignación para que se incluyan ambos valores. Si los envías en llamadas separadas a setAdditionalData, la posterior 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 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 las colecciones Ciclo de vida o Reportes de juegos, en Engagement > Events.
    Para más información sobre el reporte de eventos, consulta la documentación de Google.

    Reporte de eventos de GA4
  • 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.

    Reporte de adquisición de tráfico de GA4

This article was translated using AI and may contain errors. For the most accurate information, please refer to the English version using the language selector.


Share article: