En esta guía, se explica cómo enviar Flujo web y de aplicaciones del Protocolo de medición de Google Analytics eventos a un servidor de Google Analytics, para que puedas ver los eventos del Protocolo de medición en tu Informes de Google Analytics
Elige la plataforma que deseas ver en esta guía:
Cómo darle formato a la solicitud
El Protocolo de medición de Google Analytics solo admite solicitudes HTTP POST
.
Para enviar un evento, usa el siguiente formato:
POST /mp/collect HTTP/1.1
HOST: www.google-analytics.com
Content-Type: application/json
<payload_data>
Debes proporcionar lo siguiente en la URL de la solicitud:
api_secret
: Es el SECRET de API generado en la IU de Google Analytics.Para crear un secreto nuevo, navega a Administrador > Flujos de datos > elegir tus novedades > Protocolo de medición > Crear.
measurement_id
: El ID de medición asociado con un flujo, que se encuentra en el IU de Google Analytics en Administrador > Flujos de datos > elige novedades > ID de medición.measurement_id
no es el ID de tu transmisión.
Consulta los parámetros de consulta para obtener la referencia completa.
Debes proporcionar la siguiente información en el cuerpo de la solicitud:
client_id
: Un identificador único para un cliente. Esto es diferente de un Firebaseapp_instance_id
. Utiliza gtag.js('get').
user_id
: Opcional Es un identificador único para un usuario. Solo puede contener UTF-8 caracteres. Consulta User-ID para el análisis multiplataforma si deseas obtener más información. sobre este identificador.consent
: Opcional Más información sobre cómo configurar el consentimiento Configuración.timestamp_micros
: Opcional El tiempo Unix, en microsegundos, para el y propiedades del usuario en la solicitud. Si no se especifica, el valor predeterminado es el momento de la solicitud.events
: Es un array de elementos de evento. Puedes incluir varios eventos en uno para cada solicitud.Para que la actividad del usuario aparezca en informes como En tiempo real,
engagement_time_msec
ysession_id
deben suministrarse como parte delparams
para unaevent
. El parámetroengagement_time_msec
debe reflejar tiempo de participación del evento en milisegundos.Por ejemplo:
{
"client_id": "123456.7654321",
"events": [
{
"name": "campaign_details",
"params": {
"campaign_id": "google_1234",
"campaign": "Summer_fun",
"source": "google",
"medium": "cpc",
"term": "summer+travel",
"content": "logolink",
"session_id": "123",
"engagement_time_msec": "100"
}
}
]
}
Mientras que session_start
es un evento reservado
nombre,
Cuando creas un session_id
nuevo, se crea una sesión nueva sin necesidad de enviar
session_start
Conoce las sesiones
contadas.
Probar
Este es un ejemplo que puedes usar para enviar un evento tutorial_begin
a tu cuenta de Google
Servidor de estadísticas:
const measurement_id = `G-XXXXXXXXXX`;
const api_secret = `<secret_value>`;
fetch(`https://www.google-analytics.com/mp/collect?measurement_id=${measurement_id}&api_secret=${api_secret}`, {
method: "POST",
body: JSON.stringify({
client_id: 'XXXXXXXXXX.YYYYYYYYYY',
events: [{
name: 'tutorial_begin',
params: {},
}]
})
});
Marca de tiempo de anulación
El Protocolo de medición utiliza la primera marca de tiempo que encuentra en la siguiente lista para cada evento de la solicitud:
- El
timestamp_micros
del evento. - El
timestamp_micros
de la solicitud. - Es la hora a la que el Protocolo de medición recibe la solicitud.
El siguiente ejemplo envía una marca de tiempo a nivel de la solicitud que se aplica a todos los
eventos en la solicitud. Como resultado, el Protocolo de medición asigna los
Los eventos tutorial_begin
y join_group
tienen una marca de tiempo de
requestUnixEpochTimeInMicros
{
"timestamp_micros": requestUnixEpochTimeInMicros,
"events": [
{
"name": "tutorial_begin"
},
{
"name": "join_group",
"params": {
"group_id": "G_12345",
}
}
]
}
En el siguiente ejemplo, se envían una marca de tiempo a nivel de la solicitud y una
y marca de tiempo. Como resultado, el Protocolo de medición asigna el tutorial_begin
una marca de tiempo de tutorialBeginUnixEpochTimeInMicros
y el join_group
una marca de tiempo de requestUnixEpochTimeInMicros
.
{
"timestamp_micros": requestUnixEpochTimeInMicros,
"events": [
{
"name": "tutorial_begin",
"timestamp_micros": tutorialBeginUnixEpochTimeInMicros
},
{
"name": "join_group",
"params": {
"group_id": "G_12345",
}
}
]
}
Limitaciones
Se aplican las siguientes limitaciones al envío de eventos del Protocolo de medición a Google Análisis:
- Las solicitudes pueden tener un máximo de 25 eventos.
- Los eventos pueden tener un máximo de 25 parámetros.
- Los eventos pueden tener un máximo de 25 propiedades del usuario.
- Los nombres de las propiedades del usuario deben tener 24 caracteres o menos.
- Los valores de propiedad del usuario deben tener 36 caracteres o menos.
- Los nombres de eventos deben tener 40 caracteres o menos y solo pueden contener caracteres alfanuméricos caracteres y guiones bajos, y debe comenzar con un carácter alfabético.
- Los nombres de parámetros, incluidos los parámetros de artículos, deben tener 40 caracteres o menos. solo puede contener caracteres alfanuméricos y guiones bajos, y debe comenzar con caracteres alfabéticos.
- Los valores de los parámetros, incluidos los valores del parámetro del artículo, deben tener 100 caracteres o menos para una propiedad estándar de Google Analytics y 500 caracteres o menos para una propiedad de Google Analytics 360.
- Los parámetros de artículos pueden tener un máximo de 10 parámetros personalizados.
- El cuerpo de la entrada debe tener un tamaño inferior a 130 KB.
- Los eventos del Protocolo de medición de aplicaciones enviados a Google Analytics no se propagan en la Búsqueda públicos en Google Ads para usuarios de aplicaciones.
Para conocer los requisitos adicionales de cada caso de uso, consulta los casos de uso comunes.