Envía eventos del Protocolo de medición a Google Analytics

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: Es 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 Firebase app_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 y session_id deben suministrarse como parte del params para una event. El parámetro engagement_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:

  1. El timestamp_micros del evento.
  2. El timestamp_micros de la solicitud.
  3. 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.