1. Introducción
Última actualización: 2021-06-08
lo que construirás
En este codelab, aprenderá cómo enviar eventos externos a GA4 mediante el protocolo de medición .
Este codelab supone que ya tienes implementada una aplicación con Google Analytics para Firebase. Si desea aprender cómo integrarse con Google Analytics para Firebase, consulte primero este codelab . Si desea aprender cómo crear una aplicación con Firebase, consulte Firebase Android Codelab-Build Friendly Chat .
lo que aprenderás
- Pasos para realizar 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 realizar cambios.
- Cuenta GA4
- Opcional: entorno de desarrollo 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 Administrador > Flujos de datos > elija su flujo > Protocolo de medición > Crear
Puede proporcionar cualquier apodo y se mostrará el valor secreto, que puede utilizar en su llamada.
En caso de que no esté seguro de cómo acceder a GA4, puede visitar su proyecto Firebase, verificar Configuración del proyecto > Integraciones > Google Analytics y hacer clic en "Administrar". La conexión de Google Analytics debería estar visible y también podrás navegar directamente desde allí.
Recopilar app_instance_id
Puede utilizar cualquiera de los métodos siguientes para recopilar su app_instance_id.
- Usar la exportación de BigQuery
- Obteniendo de forma nativa el código fuente de su aplicación
Ambos se explican en detalle a continuación.
- Usar 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.
- En BigQuery, puedes buscar user_pseudo_id en la tabla. Este es el app_instance_id que puedes usar en tu llamada
- Obteniendo de forma nativa el código fuente de su aplicación
Si su aplicación está creada 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 se muestran más enlaces dependiendo de su infraestructura.
3. Construyendo la llamada
Puede crear una llamada de muestra utilizando el Generador de eventos en GA4. (Esto requiere que inicies sesión y tengas las cookies habilitadas). Asegúrese de que el interruptor esté configurado en "firebase"
Deberá completar los siguientes campos
- api_secret: ya creado anteriormente en GA4
- firebase_app_id: para obtener esto, puede navegar a Administrador > Flujos de datos > elegir su flujo . Debería mostrarse como se muestra a continuación.
- app_instance_id: ya has recuperado este valor
- user_id no es obligatorio. Puedes dejarlo en blanco por ahora.
- Categoría: cámbielo a "Personalizado" en el menú desplegable e ingrese cualquier nombre de evento que elija (no use ningún evento recopilado automáticamente ). Aquí estamos usando "test_from_codelab"
Opcionalmente, también puede optar por proporcionar parámetros de evento y/o propiedades de usuario haciendo clic en los botones siguientes
Una vez que hayas completado todo, deberías ver algo como esto, con un botón para "Validar evento".
Una vez que llegue aquí, haga clic en "VALIDAR EVENTO", el botón resaltado en naranja. Debería mostrar el siguiente mensaje, especificando que el evento es válido, y verá un botón para "ENVIAR A GA". En este punto, si el evento resulta no válido, la herramienta le indicará el campo exacto donde hay un problema y podrá solucionarlo y volver a intentarlo.
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 Realtime. Deberías ver el evento llegar
Los eventos podrían tardar alrededor de 24 horas en propagarse desde 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 los informes de eventos habituales de inmediato.
Si tiene problemas o discrepancias, puede ser útil consultar las limitaciones conocidas del Protocolo de medición aquí.
5. Construyendo una secuencia de comandos 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 programarlo 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 de Google Colab que no requiere ninguna instalación en su dispositivo.
Volviendo al Generador de eventos 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 de manera similar el evento reflejado en tiempo real en GA4.
6. Felicitaciones
Felicitaciones, ha utilizado con éxito el Protocolo de medición en GA4. Ahora puede crear potentes arquitecturas de soluciones 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 de 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 dispositivo recopilados del SDK de Firebase en los últimos 60 días. Tenga en cuenta que esta sigue siendo una API alfa y asegúrese de cumplir con las limitaciones enumeradas aquí , que deben abordarse antes del lanzamiento completo.
has aprendido
- Cómo recopilar las variables adecuadas para realizar llamadas MP
- Cómo enviar y validar eventos de prueba
- Cómo crear un script para enviar llamadas MP