Referencia de Measurement Protocol

Introducción

El envío de datos a Google Analytics con el Protocolo de medición se compone de dos partes:

  1. El transporte: dónde y cómo se envían los datos.
  2. La carga útil: los datos que se envían.

En este documento se describe cómo se aplica formato a la carga útil y al transporte.

Transporte

Endpoint de la URL

Para enviar datos mediante el Protocolo de medición, tienes que hacer solicitudes HTTP POST al siguiente punto de acceso:

https://www.google-analytics.com/mp/collect

Para enviar un evento, emite la siguiente solicitud POST:

POST /mp/collect HTTP/1.1
HOST: www.google-analytics.com
Content-Type: application/json
<payload_data>
  • BODY de la solicitud. Consulta la sección Carga útil.

Códigos de respuesta

El Protocolo de medición siempre devuelve un código de estado 2xx si se ha recibido la solicitud HTTP, pero no devuelve un código de error si los datos de carga útil tienen un formato incorrecto, son incorrectos o Google Analytics no los procesó.

Carga útil

Los datos se envían a Google Analytics mediante los datos del Protocolo de medición en dos partes:

  1. Parámetros de consulta
  2. Cuerpo de JSON POST

parámetros de consulta

Nombre del parámetro Descripción

api_secret

Obligatorio. API Secret que se genera a través de la interfaz de Google Analytics.

Para crear un secreto, ve a la interfaz de Google Analytics y sigue estos pasos:
Administrar > Flujos de datos > elige un flujo > Protocolo de medición > Crear.

Te recomendamos que no lo publiques fuera de tu organización. Si implementas el Measurement Protocol en el cliente, debes rotar los api_secret de forma periódica para evitar un exceso de spam.

firebase_app_id

Obligatorio. ID de aplicación de Firebase. El identificador de una aplicación de Firebase. Se encuentra en la consola de Firebase en:
Configuración del proyecto > General > Tus aplicaciones > ID de aplicación.

measurement_id

ID de medición. Identificador de un flujo de datos. Se encuentra en la interfaz de Google Analytics, en:
Administrador > Flujos de datos > elige tu flujo > ID de medición.

Cuerpo de la publicación JSON

Clave Tipo Descripción

app_instance_id

string

Obligatorio. Identifica de forma exclusiva una descarga específica de una aplicación de Firebase. Este valor se debe obtener mediante el SDK de Firebase.

client_id

string

Obligatorio. Identifica de forma exclusiva una instancia de usuario de un cliente web. Consulta cómo enviar un evento a la plataforma Measurement Protocol.

user_id

string

Opcional. Identificador único de un usuario. Consulta el artículo User-ID en análisis multiplataforma para obtener más información sobre este identificador.

timestamp_micros

number

Opcional. Marca de tiempo de Unix (en microsegundos) para indicar el tiempo que se va a asociar al evento. Solo se debe definir para registrar eventos ocurridos en el pasado. Este valor se puede anular mediante user_property o marcas de tiempo de eventos. Los eventos pueden tener una fecha de hasta 3 días naturales antes en función de la zona horaria de la propiedad.

user_properties

object Opcional. Propiedades de usuario de la medición. Consulta el artículo Propiedades de usuario para obtener más información.

non_personalized_ads

boolean Opcional. Asigna el valor true para indicar que estos eventos que no deben usarse para anuncios personalizados.

events[]

array Obligatorio. Array de elementos de eventos. Se pueden enviar hasta 25 eventos por solicitud. Consulta la referencia de los eventos para obtener información sobre todos los eventos válidos.

events[].name

string Obligatorio. Nombre del evento. Consulta la referencia de los eventos para ver todas las opciones.

events[].params

object Opcional. Parámetros del evento. Consulta los eventos para conocer los parámetros sugeridos para cada evento.

Algunos eventos tienen parámetros recomendados. Consulta los eventos para conocer los parámetros recomendados para todos los eventos admitidos.

Nombres reservados

Nombres de evento reservados

Los siguientes nombres de eventos están reservados y no se pueden usar:

  • ad_activeview
  • ad_click
  • ad_exposure
  • ad_impression
  • ad_query
  • ad_reward
  • adunit_exposure
  • app_clear_data
  • app_exception
  • app_install
  • app_remove
  • app_store_refund
  • app_update
  • app_upgrade
  • dynamic_link_app_open
  • dynamic_link_app_update
  • dynamic_link_first_open
  • error
  • firebase_campaign
  • firebase_in_app_message_action
  • firebase_in_app_message_dismiss
  • firebase_in_app_message_impression
  • first_open
  • first_visit
  • in_app_purchase
  • notification_dismiss
  • notification_foreground
  • notification_open
  • notification_receive
  • notification_send
  • os_update
  • screen_view
  • session_start
  • user_engagement

Nombres de parámetros reservados

Los siguientes nombres de parámetros están reservados y no se pueden usar:

  • firebase_conversion

Además, los nombres de parámetros no pueden empezar por:

  • _ (underscore)
  • firebase_
  • ga_
  • google_
  • gtag.

Nombres de propiedad de usuario reservados

Los siguientes nombres de propiedades de usuario están reservados y no se pueden usar:

  • first_open_time
  • first_visit_time
  • last_deep_link_referrer
  • user_id
  • first_open_after_install

Además, los nombres de propiedades de usuario no pueden empezar por:

  • _ (underscore)
  • firebase_
  • ga_
  • google_