1. Introducción
Última actualización: 2021-06-08
Qué compilarás
En este codelab, aprenderás a enviar eventos externos a GA4 con el Protocolo de medición.
En este codelab, se supone que ya tienes una app con Google Analytics para Firebase implementado. Si quieres aprender a realizar la integración con Google Analytics para Firebase, primero consulta este codelab. Si quieres aprender a compilar una app con Firebase, consulta el Codelab de Firebase para Android: Compila Friendly Chat.
Qué aprenderás
- Pasos para realizar tu primera llamada a la API de MP
- Comprende los parámetros necesarios para la llamada
- Envía y valida tu llamada de prueba
- Compila una secuencia de comandos de muestra en Python para realizar la llamada
Requisitos
- Tu app para Android o iOS
- Cualquier IDE para realizar cambios
- Cuenta de GA4
- Opcional: Entorno de desarrollo de Python (o Colab)
2. Recopila los campos obligatorios
Crea un secreto de API en GA4
Navega a GA4 y crea tu nuevo secreto de API. Para ello, ve a Administrador > Flujos de datos > elige tu flujo > Protocolo de medición > Crear.
Puedes proporcionar cualquier apodo y se mostrará el valor del secreto, que puedes usar en tu llamada.
Si no sabes cómo acceder a GA4, puedes visitar tu proyecto de Firebase, consultar 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 puedes navegar directamente desde allí.
Recopila app_instance_id
Puedes usar cualquiera de los siguientes métodos para recopilar tu app_instance_id.
- Cómo usar BigQuery Export
- Cómo recuperar datos de forma nativa en el código fuente de tu app
Ambos se explican en detalle a continuación.
- Cómo usar BigQuery Export
Si tienes habilitada la exportación a BigQuery , puedes seguir los pasos que se indican a continuación.
- Accede a Firebase
- Navega a Configuración del proyecto > Integraciones > BigQuery.
- Haz 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 el botón de activación durante aproximadamente 24 a 48 horas.
- En BigQuery, puedes verificar el valor de user_pseudo_id en la tabla. Este es el app_instance_id que puedes usar en tu llamada
- Cómo recuperar datos de forma nativa en el código fuente de tu app
Si tu app se compiló con Java, puedes usar un código como este para recuperar el 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();
}
}
});
En el caso de 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 tienes una app para iOS, puedes 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 incluyen más vínculos según tu infraestructura
3. Cómo construir la llamada
Puedes crear una llamada de muestra con el Generador de eventos en GA4. (Para ello, debes acceder y habilitar las cookies). Asegúrate de que el botón de activación esté configurado como "firebase".
Deberás completar los siguientes campos
- api_secret: Ya se creó anteriormente en GA4
- firebase_app_id: Para obtener este valor, puedes navegar a Administrador > Flujos de datos > elige tu flujo . Debería mostrarse de la siguiente manera:
- app_instance_id: Ya recuperaste este valor.
- El parámetro user_id no es obligatorio. Por ahora, puedes dejarlo en blanco.
- Categoría: Cambia esta opción a "Personalizado" en el menú desplegable y, luego, ingresa el nombre del evento que desees (no uses ningún evento recopilado automáticamente). Aquí usamos "test_from_codelab".
De manera opcional, también puedes proporcionar parámetros de eventos o propiedades del usuario haciendo clic en los botones que se encuentran a continuación.
Una vez que hayas completado todo, deberías ver algo como esto, con un botón para "Validar evento":
Una vez que llegues a este punto, haz clic en "VALIDATE EVENT" , el botón destacado en naranja. Debería mostrar el siguiente mensaje, en el que se especifica que el evento es válido, y verás un botón para "ENVIAR A GA". En este punto, si el evento aparece como no válido, la herramienta te indicará el campo exacto en el que hay un problema, y podrás corregirlo y volver a intentarlo.
Ahora puedes hacer clic en el botón, y debería enviar un evento de prueba a GA4.
4. Cómo validar eventos en GA4
Una vez que envíes el evento, puedes navegar a tu cuenta de GA4 y consultar En tiempo real. Deberías ver el evento
Los eventos pueden tardar alrededor de 24 horas en propagarse desde la vista en tiempo real hasta la pestaña de informes de eventos real, por lo que no debes preocuparte si no ves esto en los informes de eventos normales de inmediato.
Si tienes problemas o discrepancias, puede ser útil que consultes las limitaciones conocidas del Protocolo de medición aquí.
5. Cómo compilar una secuencia de comandos de Python
Ahora que la probaste, puedes examinar la llamada a la API y la carga útil del evento para compilar una arquitectura similar en Python (o en cualquier lenguaje de tu elección) que pueda realizar esta llamada. Luego, puedes programarla con la frecuencia que desees y ponerla en funcionamiento. Para esta parte, puedes usar cualquier IDE que elijas que admita Python o simplemente usar un notebook de Google Colab que no requiera instalación en tu dispositivo.
Si vuelves al Generador de eventos de GA4, verás que el extremo 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 era 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 con algo como lo siguiente:
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 ejecutes esto con los valores correctos, deberías ver el evento reflejado en tiempo real en GA4.
6. Felicitaciones
Felicitaciones. Usaste correctamente Measurement Protocol en GA4. Ahora puedes crear arquitecturas de soluciones eficaces para enviar datos más significativos a Google Analytics y mejorar tus análisis de marketing y empresariales. Para aprovechar al máximo esta función, también te sugerimos que te conectes a Google Ads y que importes estos eventos como conversiones. Para obtener instrucciones detalladas sobre ese tema, consulta el paso 6 de este codelab. Para fines de seguimiento de conversiones, Google Ads solo mostrará los datos asociados con el IDFA o los IDs de dispositivo recopilados del SDK de Firebase en los últimos 60 días. Ten en cuenta que esta sigue siendo una API alfa y asegúrate de revisar las limitaciones que se enumeran aquí , las cuales se deben abordar antes del lanzamiento completo.
Aprendiste lo siguiente:
- Cómo recopilar las variables adecuadas para realizar llamadas a MP
- Cómo enviar y validar eventos de prueba
- Cómo crear un script para enviar llamadas de MP