Enviar eventos de Measurement Protocol a Google Analytics

En esta guía te explicamos cómo puedes enviar eventos web y de flujo de aplicación de Google Analytics Measurement Protocol a un servidor de Google Analytics. De esta forma, podrás ver eventos de Measurement Protocol en tus informes de Google Analytics.

Elige la plataforma que quieres ver en esta guía:

Da formato a la solicitud

Measurement Protocol para Google Analytics 4 solo admite solicitudes POST de HTTP.

Para enviar un evento, usa este formato:

POST /mp/collect HTTP/1.1
HOST: www.google-analytics.com
Content-Type: application/json
<payload_data>

Debes proporcionar la siguiente información en la URL de la solicitud:

  • api_secret: el SECRETO DE API generado en la UI de Google Analytics.

    Para crear un secreto, ve a Administrar > Flujos de datos > elige un flujo > Measurement Protocol > Crear.

  • measurement_id: el ID de medición asociado a un flujo, que se encuentra en la UI de Google Analytics, en Administrar > Flujos de datos > elige un flujo > ID de medición.

    El elemento measurement_id no es tu ID de flujo.

Consulta la referencia completa de los parámetros de consulta.

Debes proporcionar la siguiente información en el cuerpo de la solicitud:

  • client_id: identificador único de un cliente. No es lo mismo que un app_instance_id de Firebase. Usa gtag.js('get').
  • user_id: opcional. Identificador único de un usuario. Solo puede contener caracteres UTF-8. Consulta el artículo sobre User-ID en análisis multiplataforma para obtener más información sobre este identificador.

  • consent: opcional. Consulta cómo definir la configuración del consentimiento.

  • events: array de elementos de eventos. Puede incluir varios eventos en una solicitud.

    Para que la actividad de usuario se muestre en informes como En tiempo real, se deben proporcionar engagement_time_msec y session_id como parte de los params de un event.

    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"
        }
     }
   ]
  }

Aunque session_start es un nombre de evento reservado, al crear un session_id se creará otra sesión sin necesidad de enviar session_start. Consulta cómo se contabilizan las sesiones.

Pruébalo

Aquí tienes un ejemplo que puedes usar para enviar un evento tutorial_begin a tu servidor de Google Analytics:

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: {},
    }]
  })
});

Limitaciones

Estas son las limitaciones que se aplican al enviar eventos de Measurement Protocol a Google Analytics:

  • 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 de usuario.
  • Los nombres de las propiedades de usuario deben tener 24 caracteres como máximo.
  • Los valores de las propiedades de usuario deben tener 36 caracteres como máximo.
  • Los nombres de los eventos deben tener 40 caracteres como máximo, solo pueden contener caracteres alfanuméricos y guiones bajos, y deben empezar por un carácter alfabético.
  • Los nombres de los parámetros, incluidos los parámetros relativos a artículos, deben tener 40 caracteres como máximo, solo pueden contener caracteres alfanuméricos y guiones bajos, y deben empezar por un carácter alfabético.
  • Los valores de los parámetros, incluidos los valores de los parámetros relativos a artículos, deben tener un máximo de 100 caracteres.
  • Cada parámetro relativo a un artículo puede tener un máximo de 10 parámetros personalizados.
  • El cuerpo de la publicación debe tener un tamaño inferior a 130 kB.
  • La atribución a nivel de evento de los eventos de Measurement Protocol se admite hasta 63 días después del evento online de etiquetado más reciente en el caso de la exportación de conversiones a Google Ads y otras integraciones de medios, incluso si la ventana de conversión del evento supera los 63 días. Por el contrario, la atribución a nivel de evento en el caso de eventos online de etiquetado se admite durante toda la ventana de conversión.
  • Con fines de remarketing, puedes unir eventos de Measurement Protocol durante los días que se indican a continuación después del evento online más reciente con una cookie asociada o un ID de dispositivo:
    • Flujo web: 30 días
    • Flujo de aplicación: 42 días
  • Los eventos de aplicación de Measurement Protocol que se envían a Google Analytics 4 no se suman a las audiencias de usuarios de aplicaciones para la Red de Búsqueda en Google Ads.