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
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í.
Recopilar app_instance_id
Puede usar cualquiera de los métodos a continuación para recopilar su app_instance_id.
- Uso de la exportación de BigQuery
- Obtener de forma nativa en el código fuente de su aplicación
Ambos se explican en detalle a continuación.
- 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.
- En BigQuery, puede buscar user_pseudo_id en la tabla. Este es el app_instance_id que puede usar en su llamada
- 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"
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.
- 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"
Opcionalmente, también puede optar por proporcionar parámetros de eventos y/o propiedades de usuario haciendo clic en los botones a continuación
Una vez que haya completado todo, debería ver algo como esto, con un botón para "Validar evento"
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.
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
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