Asignaciones de campo

Usa las asignaciones de las tablas para asignar una solicitud de recopilación de datos de Measurement Protocol (/mp/collect) a su equivalente de IngestEventsRequest en la API de Data Manager.

Autenticación

La API de Data Manager requiere credenciales de OAuth en lugar de un api_secret. Sigue los pasos que se indican en Configura el acceso a la API para generar credenciales nuevas que incluyan el alcance de la API de Data Manager.

Campos de solicitud

Solicitud /mp/collect (Protocolo de medición) IngestEventsRequest (API de Data Manager) Notas
measurement_id (parámetro de consulta) destinations Asigna a product_destination_id para los eventos web. Consulta Campos de destino para obtener más detalles.
firebase_app_id (parámetro de consulta) destinations Asigna a product_destination_id para los eventos de la app. Consulta Campos de destino para obtener más detalles.
api_secret (parámetro de consulta) No hay equivalente Consulta Cómo configurar el acceso a la API para obtener información sobre cómo autenticar solicitudes en la API de Data Manager.
consent consent Se establece en un objeto Consent.
events events Se establece en una lista de recursos Event. Consulta la sección Campos de eventos para obtener más detalles.
client_id events.client_id Es obligatorio para los eventos web.
app_instance_id events.app_instance_id Obligatorio para los eventos de la app.
user_id events.user_id Opcional. Es un identificador único para un usuario.
timestamp_micros events.event_timestamp En Measurement Protocol, se puede proporcionar a nivel de la solicitud o para un evento individual. En la API de Data Manager, no hay una marca de tiempo a nivel de la solicitud. Establece event_timestamp en cada evento en el momento en que ocurrió.
  • Si usas el formato JSON, establece un valor en formato RFC 3339.
  • Si usas búferes de protocolo, utiliza un Timestamp y configura los campos seconds y nanoseconds (opcional).

Consulta Formato de marca de tiempo para obtener más detalles.
user_properties events.user_properties

Se establece en un objeto UserProperties. Si envías el tipo o el bucket de valores del usuario, usa el campo customer_type o customer_value_bucket, respectivamente, de UserProperties. Para otras propiedades del usuario, crea un objeto UserProperty independiente, establece sus campos property_name y value, y agrégalo a la lista additional_user_properties.

La API de Data Manager no admite el establecimiento de marcas de tiempo para propiedades del usuario individuales. Las marcas de tiempo asociadas con los cambios en las propiedades del usuario se infieren a partir de la marca de tiempo del evento (event_timestamp).

user_data events.user_data Se establece en un objeto UserData. Consulta Campos de identificadores del usuario para obtener más detalles.
non_personalized_ads events.consent.ad_personalization Si non_personalized_ads es true, establece ad_personalization en CONSENT_DENIED.
user_location events.event_location Consulta Campos de ubicación del usuario para obtener más detalles.
ip_override events.event_device_info.ip_address
device events.event_device_info Consulta Campos de dispositivo para obtener más detalles.
user_agent events.event_device_info.user_agent
validation_behavior No hay equivalente Usa Diagnóstico para recuperar el estado de tu carga, así como los errores y las advertencias de eventos individuales durante el procesamiento posterior. Si el IngestEventsRequest falla (por ejemplo, debido a que faltan campos obligatorios), no se procesará ningún evento y deberás resolver el error y volver a intentar la solicitud. Consulta Cómo comprender los errores de la API para obtener más información.
/debug/mp/collect validate_only Establece validate_only en true para validar eventos sin transferir ningún dato, de manera similar al servidor de validación de Measurement Protocol.
No hay equivalente encoding Es obligatorio para las cargas de UserData. Se establece en el Encoding que se usa para los valores de UserIdentifier.

Campos de destino

Measurement Protocol envía eventos directamente a un flujo de datos específico con el parámetro de consulta measurement_id o firebase_app_id.

La API de Data Manager usa un objeto Destination para especificar dónde enviar los datos. Consulta Configura destinos para obtener más información sobre los destinos.

A continuación, se muestra cómo asignar los campos del Protocolo de medición a los campos equivalentes en un Destination:

Protocolo de medición Destination (API de Data Manager) Notas
measurement_id (parámetro de consulta) product_destination_id Se establece en el ID de medición del flujo de datos web de Google Analytics.
firebase_app_id (parámetro de consulta) product_destination_id Se establece en el ID de aplicación de Firebase del flujo de datos de aplicación de Google Analytics.
No hay equivalente operating_account Establece account_id en el ID de propiedad de Google Analytics. Establece account_type en GOOGLE_ANALYTICS_PROPERTY.
No hay equivalente login_account Establece account_id en el ID de propiedad de Google Analytics. Establece account_type en GOOGLE_ANALYTICS_PROPERTY.

Campos del evento

Measurement Protocol events[] Event (API de Data Manager) Notas
name event_name Si event_name usa un nombre reservado, la API rechaza el evento con un error INVALID_EVENT_NAME.
No hay equivalente event_source Se establece en WEB si el evento se generó desde un navegador web y en APP si se generó desde una app.
No hay equivalente destination_references Se requiere si la lista destinations a nivel de la solicitud contiene más de un Destination de Google Analytics. Agrega una entrada para especificar qué destino debe recibir el evento.
timestamp_micros event_timestamp
  • Si usas el formato JSON, establece un valor en formato RFC 3339.
  • Si usas búferes de protocolo, utiliza un Timestamp y configura los campos seconds y, de manera opcional, nanoseconds.

Consulta Formato de marca de tiempo para obtener más detalles.
params.currency currency
params.value conversion_value
params.customer_type user_properties.customer_type En el Protocolo de medición, el parámetro customer_type se establece como un parámetro de evento. En la API de Data Manager, configúralo en el campo customer_type del objeto UserProperties del evento.
params.transaction_id transaction_id Obligatorio para algunos eventos y casos de uso. Consulta Cómo convertir los datos en objetos Event para obtener más detalles.
params.items cart_data.items Consulta Campos de artículos para los datos del carrito para obtener más detalles.
params.coupon cart_data.coupon_codes Usa el campo coupon_codes para proporcionar los cupones que se aplicaron al carrito. Solo proporciona un cupón para Google Analytics. Esto es independiente de los cupones a nivel de Item, que se pueden establecer con cart_data.items.additional_item_parameters para artículos individuales.
params.session_id additional_event_parameters Asigna a una entrada con parameter_name establecido en session_id.
params.engagement_time_msec additional_event_parameters Asigna una entrada con parameter_name establecido en engagement_time_msec.
Otro params additional_event_parameters

Asigna otros parámetros como una lista de objetos con parameter_name y value.

Nota: No agregues entradas para transaction_id, currency ni value aquí; en su lugar, usa los campos de nivel superior en Event.

Campos de identificadores del usuario

Measurement Protocol user_data UserIdentifier (API de Data Manager) Notas
sha256_email_address[] email_address Se establece en la dirección de correo electrónico con formato y con codificación hash. También puedes encriptar la dirección de correo electrónico con hash.
sha256_phone_number[] phone_number Se establece en el número de teléfono con formato y codificado con hash. También puedes encriptar el número de teléfono con codificación hash.
address[] address Se establece en un objeto AddressInfo. Sigue los lineamientos de formato y codificación hash.
address[].sha256_first_name address.given_name Se establece en el nombre proporcionado con formato y hash. También puedes encriptar el nombre con codificación hash.
address[].sha256_last_name address.family_name Se establece en el apellido con formato y con codificación hash. También puedes encriptar el apellido con codificación hash.
address[].country address.region_code
address[].postal_code address.postal_code
address[].city address.city Se establece en la ciudad normalizada. No apliques hash a este campo.
address[].region address.administrative_area Se establece en el área administrativa (estado o provincia) normalizada. No apliques un algoritmo hash a este campo.
address[].sha256_street address.address_line Se establece en la dirección con formato y hash. También puedes encriptar la dirección de la calle con hash.

Campos de artículos para los datos del carrito

Measurement Protocol items[] Item (API de Data Manager) Notas
item_id item_id Obligatorio.
item_name additional_item_parameters Asigna a una entrada con parameter_name establecido en item_name.
quantity quantity Obligatorio.
price unit_price Obligatorio.
Otros campos de artículos additional_item_parameters

Asigna otros parámetros del elemento (como discount, affiliation, item_brand, etc.) como una lista de objetos con parameter_name y value.

Nota: No agregues entradas para quantity, price ni item_id aquí. En su lugar, usa los campos de nivel superior en Item.

Campos de ubicación del usuario

Measurement Protocol user_location EventLocation (API de Data Manager) Notas
city city Es el nombre de la ciudad en la que ocurrió el evento.
country_id region_code Se establece en el código regional CLDR de 2 letras.
region_id subdivision_code Se establece en el código de subdivisión ISO 3166-2.
continent_id continent_code Se establece en el código de continente en formato UN M49.
subcontinent_id subcontinent_code Se establece en el código de subcontinente en formato UN M49.

Campos de dispositivos

Measurement Protocol device DeviceInfo (API de Data Manager) Notas
category category
language language_code
screen_resolution screen_height y screen_width En Measurement Protocol, screen_resolution se proporciona como una cadena ("1280x720"). En la API de Data Manager, envía screen_height y screen_width como valores enteros independientes.
operating_system operating_system
operating_system_version operating_system_version
model model
brand brand
browser browser
browser_version browser_version