Envíe eventos de la aplicación a GA4 mediante el protocolo de medición

1. Introducción

Última actualización: 2021-06-08

lo que vas a construir

En este laboratorio de programación, aprenderá a enviar eventos externos a GA4 mediante el Protocolo de medición .

Este codelab asume que ya tiene una aplicación con Google Analytics para Firebase implementado. Si desea obtener información sobre cómo integrarse con Google Analytics para Firebase, consulte primero este laboratorio de código. Si desea obtener información sobre cómo compilar una aplicación con Firebase, consulte Firebase Android Codelab-Build Friendly Chat .

lo que aprenderás

  • Pasos para hacer tu primera llamada MP
  • Comprender los parámetros necesarios para la llamada
  • Envía y valida tu llamada de prueba
  • Cree un script de muestra en Python para realizar la llamada

Lo que necesitarás

  • Tu aplicación para Android o iOS
  • Cualquier IDE para hacer cambios
  • Cuenta GA4
  • Opcional: entorno de desarrollo de Python (o Colab )

2. Recoge los campos obligatorios

Crear secreto de API en GA4

Navegue a GA4 y cree su nuevo secreto de API navegando a Admin > Flujos de datos > elija su flujo > Protocolo de medición > Crear

8dee89e850ae90bb.png

d0be19d8112435a2.png

de5a80a1445d3a14.png

Puede proporcionar cualquier apodo y se mostrará el valor secreto, que puede usar en su llamada

En caso de que no esté seguro de cómo acceder a GA4, puede visitar su proyecto de Firebase, consultar Configuración del proyecto > Integraciones > Google Analytics y hacer clic en "Administrar". La conexión de Google Analytics debe estar visible y también puede navegar directamente desde allí.

f0feed0557420678.png

Recopilar app_instance_id

Puede usar cualquiera de los métodos a continuación para recopilar su app_instance_id.

  1. Uso de la exportación de BigQuery
  2. Obtener de forma nativa en el código fuente de su aplicación

Ambos se explican en detalle a continuación.

  1. Uso de la exportación de BigQuery

Si tiene habilitada la exportación de BigQuery , puede seguir los pasos a continuación

  • Iniciar sesión en Firebase
  • Vaya a Configuración del proyecto > Integraciones > BigQuery
  • Haga clic en "Ver en BigQuery" cerca del conjunto de datos

Nota: el conjunto de datos estará disponible solo después de que se haya habilitado la opción durante aproximadamente 24 a 48 horas.

1dc4e93dee33316f.png

  • En BigQuery, puede buscar user_pseudo_id en la tabla. Este es el app_instance_id que puede usar en su llamada

aa6d384e380a11e8.png

  1. Obtener de forma nativa en el código fuente de su aplicación

Si su aplicación está construida con Java, puede usar algo como esto para recuperar app_instance_id

 FirebaseAnalytics.getInstance(this).getAppInstanceId().addOnCompleteListener(new OnCompleteListener<String>() {
        @Override
        public void onComplete(@NonNull Task<String> task) {
            if (task.isSuccessful()) {
                String user_pseudo_id = task.getResult();
            }
        }
    });

Para Kotlin, puedes probar lo siguiente

Thread {
   Firebase.analytics.appInstanceId.addOnSuccessListener { user_pseudo_id ->
       Log.d("Firebase", "user_pseudo_id using appInstanceId is $user_pseudo_id")
       /*
       Store the value to your server or do something with the retrieved id
        */
   }
}.start()

Si tiene una aplicación iOS, puede usar lo siguiente en Swift

let user_pseudo_id = Analytics.appInstanceID()
print("user_pseudo_id = \(user_pseudo_id)")
/*
Store the value to your server or do something with the retrieved id
*/

A continuación hay más enlaces dependiendo de su infraestructura

3. Construyendo la Llamada

Puede crear una llamada de muestra con Event Builder en GA4. (Esto requiere que inicie sesión y tenga las cookies habilitadas). Asegúrate de que la palanca esté configurada en "firebase"

15440faa9ca6a1f1.png

Deberá completar los siguientes campos

  • api_secret - Ya creado anteriormente en GA4
  • firebase_app_id: para obtener esto, puede navegar a Admin > Flujos de datos > elegir su flujo . Debe mostrarse como se muestra a continuación.

71174b16f86ff03e.png

  • app_instance_id: ya ha recuperado este valor
  • user_id no es obligatorio. Puedes dejarlo en blanco por ahora
  • Categoría: cámbielo a "Personalizado" en el menú desplegable y coloque cualquier nombre de evento de su elección (no use ningún evento recopilado automáticamente ). Aquí estamos usando "test_from_codelab"

cf580a708bb0a8a2.png

Opcionalmente, también puede optar por proporcionar parámetros de eventos y/o propiedades de usuario haciendo clic en los botones a continuación

da59bb982f6f906a.png

Una vez que haya completado todo, debería ver algo como esto, con un botón para "Validar evento"

39676ab485d17dc0.png

Una vez que llegue a esto, haga clic en "VALIDAR EVENTO", el botón resaltado en naranja. Debería mostrar el mensaje a continuación, especificando que el evento es válido, y verá un botón para ahora "ENVIAR A GA". En este punto, si el evento aparece como no válido, la herramienta le indicará el campo exacto donde hay un problema, y ​​puede solucionarlo y volver a intentarlo.

1d63d1e067c46294.png

Ahora puede hacer clic en el botón y debería enviar un evento de prueba a GA4

4. Validación de eventos en GA4

Una vez que haya enviado el evento, puede navegar a su cuenta GA4 y verificar en tiempo real. Deberías ver el evento llegar

7b9e9a0f74b64757.png

Los eventos pueden tardar alrededor de 24 horas en propagarse de la vista en tiempo real a la pestaña de informes de eventos reales, por lo que no debe preocuparse si no ve esto en el informe de eventos regulares de inmediato.

5. Construyendo una secuencia de comandos de Python

Ahora que lo ha probado, puede examinar la llamada a la API y la carga útil del evento para crear una arquitectura similar en Python (o en cualquier idioma de su elección) que pueda realizar esta llamada. Luego puede programar esto con la frecuencia deseada y ponerlo en funcionamiento. Para esta parte, puede usar cualquier IDE de su elección que admita Python o simplemente usar una computadora portátil Google Colab que no requiere ninguna instalación en su dispositivo

Volviendo al Creador de eventos de GA4, verá que el punto final es el siguiente

POST /mp/collect?firebase_app_id=XXXX&api_secret=XXXX 
HTTP/1.1
Host: www.google-analytics.com

La carga útil del evento fue la siguiente

{
  "app_instance_id": XXXX,
  "non_personalized_ads": false,
  "events": [
    {
      "name": "test_from_codelab",
      "params": {
        "test_param": "test_123"
      }
    }
  ]
}

Puedes traducir esto a python usando algo como esto

import requests
import json
url = "https://www.google-analytics.com/mp/collect?firebase_app_id=XXXX&api_secret=XXXX"
payload = {
  "app_instance_id": XXXX,
  "non_personalized_ads": False,
  "events": [
    {
      "name": "test_from_codelab",
      "params": {
        "test_param": "test_123"
      }
    }
  ]
}
r = requests.post(url,data=json.dumps(payload),verify=True)
print(r.status_code)

Una vez que ejecute esto con los valores correctos, debería ver el evento reflejado en tiempo real en GA4.

6. Felicitaciones

Enhorabuena, ha utilizado con éxito el Protocolo de medición en GA4. Ahora puede crear arquitecturas de soluciones potentes para enviar datos más significativos a Google Analytics y mejorar sus análisis comerciales y de marketing. Para aprovechar esto al máximo, también sugerimos conectarse a Google Ads e importar estos eventos como conversiones. Puede consultar el paso 6 en este codelab para obtener instrucciones detalladas al respecto. Para fines de seguimiento de conversiones, Google Ads solo mostrará datos asociados con IDFA o ID de dispositivos recopilados del SDK de Firebase en los últimos 60 días. Tenga en cuenta que todavía es una API alfa y asegúrese de revisar las limitaciones enumeradas aquí que deben abordarse antes del lanzamiento completo.

has aprendido

  • Cómo recolectar las variables correctas para hacer llamadas MP
  • Cómo enviar y validar eventos de prueba
  • Cómo construir un script para enviar llamadas MP