Asignaciones de campo

Usa las asignaciones de las tablas para asignar los métodos y campos de la API de Google Ads a su equivalente de IngestEventsRequest en la API de Data Manager.

Autenticación

La API de Data Manager requiere credenciales con un alcance diferente al de la API de Google Ads. Sigue los pasos que se indican en Configura el acceso a la API para generar credenciales nuevas que incluyan el permiso de la API de Data Manager.

Métodos de la API

La API de Data Manager te permite subir cada lote de eventos de ventas en la tienda en un solo IngestEventsRequest.

En cambio, la API de Google Ads requería un proceso de tres pasos con el OfflineUserDataJobService:

  1. Crea un trabajo con CreateOfflineUserDataJob
  2. Agrega operaciones al trabajo con AddOfflineUserDataJobOperations
  3. Ejecuta el trabajo con RunOfflineUserDataJob

Campos de solicitud

Cada IngestEventsRequest está sujeto a límites de solicitudes. Si la cantidad de operaciones en tu solicitud AddOfflineUserDataJobOperations supera estos límites, debes dividirla en varias solicitudes de transferencia de la API de Data Manager.

A continuación, se muestra cómo se asignan los campos de las solicitudes a la API de Google Ads a la API de Data Manager.

CreateOfflineUserDataJobRequest

En la siguiente tabla, se muestra cómo se asignan los campos de un CreateOfflineUserDataJobRequest a un IngestEventsRequest.

CreateOfflineUserDataJobRequest (API de Google Ads) IngestEventsRequest (API de Data Manager) Notas
customer_id destinations.operating_account Consulta los campos de acción de conversión y cliente.
  • Encabezado de la solicitud developer-token
  • Encabezado de la solicitud login-customer_id
  • Encabezado de la solicitud linked-customer-id
destinations Consulta los campos de acción de conversión y cliente.
  • job.status
  • job.failure_reason
Diagnóstico Usa el request_id que se muestra en IngestEventsResponse para recuperar el diagnóstico sobre la carga de conversiones.
job.id request_id Usa el request_id que se muestra en IngestEventsResponse para recuperar el diagnóstico sobre la carga de conversiones.
job.external_id No hay equivalente
job.type No hay equivalente
job.store_sales_metadata.third_party_metadata.partner_id destinations.login_account Un socio de datos que suba conversiones de ventas en la tienda se identificará con el login_account de un destino. Consulta Configura destinos para obtener más detalles.
job.store_sales_metadata.third_party_metadata.advertiser_upload_date_time No hay equivalente
job.store_sales_metadata.third_party_metadata.valid_transaction_fraction No hay equivalente
job.store_sales_metadata.third_party_metadata.partner_match_fraction No hay equivalente
job.store_sales_metadata.third_party_metadata.partner_upload_fraction No hay equivalente
job.store_sales_metadata.third_party_metadata.bridge_map_version_id No hay equivalente
job.store_sales_metadata.loyalty_fraction No hay equivalente
job.store_sales_metadata.transaction_upload_fraction No hay equivalente
job.store_sales_metadata.custom_key
  • events[].custom_variables[].variable
  • events[].cart_data.items[].custom_variables[].variable
Se asigna al campo variable de un CustomVariable a nivel del evento o un ItemCustomVariable a nivel del artículo.
enable_match_rate_range_preview No hay equivalente
validate_only validate_only
No hay equivalente consent La API de Google Ads solo admite especificar consent a nivel del evento en UserData. En el caso de la API de Data Manager, puedes especificar el consentimiento para todos los eventos de una solicitud configurando el campo consent en IngestEventsRequest. Puedes anular este valor para un evento individual configurando el campo consent de Event.
No hay equivalente encoding Es obligatorio para las cargas de UserData. Se establece en el Encoding que se usa para los valores de UserIdentifier.
No hay equivalente encryption_info Se establece si la solicitud contiene identificadores de usuario UserData encriptados. Consulta Encriptación para obtener más detalles.

AddOfflineUserDataJobOperationsRequest

En la siguiente tabla, se muestra cómo se asignan los campos de un AddOfflineUserDataJobOperationsRequest a un IngestEventsRequest.

AddOfflineUserDataJobOperationsRequest (API de Google Ads) IngestEventsRequest (API de Data Manager) Notas
  • Encabezado de la solicitud developer-token
  • Encabezado de la solicitud login-customer_id
  • Encabezado de la solicitud linked-customer-id
destinations Consulta los campos de acción de conversión y cliente.
resource_name No hay equivalente La API de Data Manager no requiere actualizar un recurso de trabajo.
enable_partial_failure No hay equivalente Si la IngestEventsRequest se realiza correctamente, los errores que se produzcan durante el procesamiento posterior se controlarán a nivel del evento, lo que puede dar como resultado un éxito parcial. Usa Diagnóstico para recuperar el estado de tu carga, así como los errores y las advertencias de eventos individuales. Si la IngestEventsRequest falla (por ejemplo, debido a un BadRequest), no se procesará ningún evento y deberás resolver el error y volver a intentar la solicitud. Consulta Comprende los errores de la API para obtener más información.
enable_warnings No hay equivalente Usa Diagnostics para recuperar advertencias sobre tu solicitud a la API de Data Manager. No es necesario que habilites esta opción.
operations events La operación OfflineUserDataJobOperation.create equivale a enviar un IngestEventsRequest. La API de Data Manager no admite la eliminación de eventos.
validate_only validate_only
No hay equivalente consent La API de Google Ads solo admite especificar consent a nivel del evento en UserData. En el caso de la API de Data Manager, puedes especificar el consentimiento para todos los eventos de una solicitud configurando el campo consent en IngestEventsRequest. Puedes anular este valor para un evento individual configurando el campo consent de Event.
No hay equivalente encoding Es obligatorio para las cargas de UserData. Se establece en el Encoding que se usa para los valores de UserIdentifier.
No hay equivalente encryption_info Se establece si la solicitud contiene identificadores de usuario UserData encriptados. Consulta Encriptación para obtener más detalles.

Campos de acción de conversión y cliente

La API de Google Ads requiere el encabezado de la solicitud developer-token, y tú estableces los encabezados de la solicitud login-customer-id y linked-customer-id para diferentes situaciones de autenticación.

La API de Data Manager no requiere un token de desarrollador, y debes especificar la información de acceso y del cliente vinculado con los campos de un Destination en lugar de los encabezados de la solicitud. Consulta Configura destinos para obtener más información sobre los destinos.

API de Google Ads Destination (API de Data Manager) Notas
customer_id de la solicitud operating_account Establece el account_id en el ID de cliente de la cuenta de conversiones de Google Ads. Establece el account_type del operating_account en GOOGLE_ADS.
Encabezado de la solicitud developer-token No hay equivalente No se requiere un token de desarrollador para la API de Data Manager.
Encabezado de la solicitud login-customer-id login_account Establece el account_id en el ID de cliente de la cuenta de acceso. Establece account_type en GOOGLE_ADS si la cuenta de acceso es una cuenta de Google Ads, o en DATA_PARTNER si es una cuenta de socio de datos.
Encabezado de la solicitud linked-customer-id linked_account Si accedes a operating_account con un vínculo de socio, establece account_id en el ID de cliente de la cuenta vinculada y establece account_type en DATA_PARTNER. De lo contrario, no configures el campo linked_account.
conversion_action product_destination_id Se establece en el ID numérico de la acción de conversión. No uses el nombre del recurso.

Campos del evento

En la siguiente tabla, se muestra cómo se asignan los campos de una conversión de ventas en la tienda entre las dos APIs.

A diferencia de la API de Google Ads, que solo admite incluir un elemento por transacción con ItemAttribute, la API de Data Manager admite incluir varios elementos por evento en CartData.

OfflineUserDataJobOperation.create (API de Google Ads) Event (API de Data Manager) Notas
No hay equivalente event_source Obligatorio Se establece en IN_STORE para las conversiones de ventas en la tienda.
transaction_attribute.conversion_action destinations.product_destination_id Consulta los campos de acción de conversión y cliente. Usa el ID numérico de la acción de conversión en lugar del nombre del recurso.
transaction_attribute.transaction_date_time event_timestamp
Consulta Formato de marca de tiempo para obtener más detalles.
transaction_attribute.transaction_amount_micros
  • conversion_value (obligatorio)
  • cart_data.items[].conversion_value
Se establece en el valor de la moneda, no en el valor en microunidades. Por ejemplo, para un valor de conversión de USD 5.23, usa el valor 5.23.
transaction_attribute.currency_code currency Obligatorio.
transaction_attribute.order_id transaction_id Obligatorio.
transaction_attribute.store_attribute.store_code event_location.store_id Obligatorio Establece el código de tienda en el campo store_id del objeto EventLocation.
transaction_attribute.custom_value
  • custom_variables[].value
  • cart_data.items[].custom_variables[].value
Se asigna al campo value de un CustomVariable a nivel del evento o un ItemCustomVariable a nivel del artículo.
transaction_attribute.item_attribute.item_id cart_data.items[].merchant_product_id
transaction_attribute.item_attribute.merchant_id
  • cart_data.merchant_id
  • cart_data.items[].merchant_id
Si configuras cart_data.merchant_id, se aplicará de forma predeterminada a todos los artículos, pero puedes anularlo para artículos individuales.
transaction_attribute.item_attribute.country_code
  • cart_data.merchant_feed_label
  • cart_data.items[].merchant_feed_label
Si configuras cart_data.merchant_feed_label, se aplicará de forma predeterminada a todos los artículos, pero puedes anularlo para artículos individuales.
transaction_attribute.item_attribute.language_code
  • cart_data.merchant_feed_language_code
  • cart_data.items[].merchant_feed_language_code
Si configuras cart_data.merchant_feed_language_code, se aplicará de forma predeterminada a todos los artículos, pero puedes anularlo para artículos individuales.
transaction_attribute.item_attribute.quantity cart_data.items[].quantity
No hay equivalente cart_data.items[].unit_price Se establece en el precio unitario, sin incluir los impuestos, el envío ni los descuentos con alcance de evento (a nivel de la transacción) para este artículo.
user_identifiers
  • user_data.user_identifiers
  • third_party_user_data.user_identifiers
Obligatorio.

third_party_user_data usa la misma estructura que user_data, pero indica que los identificadores de usuario provienen de una fuente de terceros, en lugar de ser datos de origen del anunciante.

Solo se permite propagar third_party_user_data si la cuenta de acceso es un socio de datos (login_account.account_type es DATA_PARTNER).

Consulta Campos de identificador de usuario para obtener más detalles.

consent consent Ambas APIs usan un objeto Consent similar (ad_user_data, ad_personalization). En el caso de la API de Data Manager, también puedes establecer el consentimiento para todos los eventos de una solicitud configurando el campo consent en el objeto IngestEventsRequest.

Campos de identificadores del usuario

UserIdentifier (API de Google Ads) UserIdentifier (API de Data Manager) Notas
user_identifier_source

La fuente determina qué campo se debe propagar en la API de Data Manager Event:

  • user_data
  • third_party_user_data

third_party_user_data usa la misma estructura que user_data, pero indica que los identificadores de usuario provienen de una fuente de terceros, en lugar de ser datos de origen del anunciante.

Solo se permite propagar third_party_user_data si la cuenta de acceso es un socio de datos (login_account.account_type es DATA_PARTNER).

Consulta Campos de identificador de usuario para obtener más detalles.

hashed_email 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 codificación hash.
hashed_phone_number phone_number Se establece en el número de teléfono con formato y con codificación hash. También puedes encriptar el número de teléfono con codificación hash.
address_info address Se establece en un objeto AddressInfo. Sigue los lineamientos de formato y codificación hash. También puedes encriptar los atributos con codificación hash de una dirección.
address_info.hashed_first_name address.given_name
address_info.hashed_last_name address.family_name
address_info.country_code address.region_code
address_info.postal_code address.postal_code
address_info.city No hay equivalente No se admite para los destinos de Google Ads.
address_info.state No hay equivalente No se admite para los destinos de Google Ads.
address_info.hashed_street_address No hay equivalente No se admite para los destinos de Google Ads.