Asignaciones de campo

Usa las asignaciones de las tablas para correlacionar los métodos y campos de la API de Google Ads con su equivalente IngestEventsRequest en 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 objeto IngestEventsRequest.

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

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

Campos de la solicitud

Cada IngestEventsRequest está sujeto a límites de solicitudes. Si la cantidad de operaciones en tu solicitud de 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 de 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 Campos de cliente y acción de conversión.
  • Encabezado de la solicitud developer-token
  • Encabezado de la solicitud login-customer_id
  • Encabezado de la solicitud linked-customer-id
destinations Consulta Campos de cliente y acción de conversión.
  • job.status
  • job.failure_reason
Diagnóstico Usa el request_id que se devolvió en IngestEventsResponse para recuperar diagnósticos sobre la carga de conversiones.
job.id request_id Usa el request_id que se devolvió en IngestEventsResponse para recuperar diagnósticos sobre la carga de conversiones.
job.external_id Sin equivalente
job.type Sin 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 Sin equivalente
job.store_sales_metadata.third_party_metadata.valid_transaction_fraction Sin equivalente
job.store_sales_metadata.third_party_metadata.partner_match_fraction Sin equivalente
job.store_sales_metadata.third_party_metadata.partner_upload_fraction Sin equivalente
job.store_sales_metadata.third_party_metadata.bridge_map_version_id Sin equivalente
job.store_sales_metadata.loyalty_fraction Sin equivalente
job.store_sales_metadata.transaction_upload_fraction Sin 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 objeto CustomVariable a nivel del evento o a un objeto ItemCustomVariable a nivel del elemento.
enable_match_rate_range_preview Sin equivalente
validate_only validate_only
Sin equivalente consent La API de Google Ads solo admite la especificación de 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.
Sin equivalente encoding Se requiere para las cargas de UserData. Se establece en el Encoding que se usa para los valores de UserIdentifier.
Sin equivalente encryption_info Indica 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 Campos de cliente y acción de conversión.
resource_name Sin equivalente La API de Data Manager no requiere que se actualice un recurso de trabajo.
enable_partial_failure Sin equivalente Si la operación IngestEventsRequest se realiza correctamente, cualquier falla que se produzca durante el procesamiento posterior se controlará a nivel del evento, lo que puede generar 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 Cómo comprender los errores de la API para obtener más información.
enable_warnings Sin 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
Sin equivalente consent La API de Google Ads solo admite la especificación de 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.
Sin equivalente encoding Se requiere para las cargas de UserData. Se establece en el Encoding que se usa para los valores de UserIdentifier.
Sin equivalente encryption_info Indica si la solicitud contiene identificadores de usuario UserData encriptados. Consulta Encriptación para obtener más detalles.

Campos de clientes y acciones de conversión

La API de Google Ads requiere el encabezado de la solicitud developer-token, y tú configuras 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 la información de acceso y del cliente vinculado se especifica con campos de un objeto Destination en lugar de encabezados de 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 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 Sin equivalente No se requiere un token de desarrollador para la API de Data Manager.
Encabezado de la solicitud login-customer-id login_account Establece 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 a través de un vínculo de socio, establece account_id en el ID de cliente de la cuenta vinculada y 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 admite incluir solo 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
Sin 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 Campos de cliente y acción de conversión. 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 micro unidades. 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: Configura 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 objeto CustomVariable a nivel del evento o a un objeto ItemCustomVariable a nivel del elemento.
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, este valor actuará como predeterminado para 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, este valor actuará como predeterminado para 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, este valor actuará como predeterminado para todos los artículos, pero puedes anularlo para artículos individuales.
transaction_attribute.item_attribute.quantity cart_data.items[].quantity
Sin equivalente cart_data.items[].unit_price Se establece en el precio unitario sin impuestos, envío ni descuentos a nivel de la transacción (con alcance del evento) 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 del usuario provienen de una fuente externa en lugar de ser datos de origen del anunciante.

Solo se permite completar 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 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 completar en Event de la API de Data Manager:

  • user_data
  • third_party_user_data

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

Solo se permite completar 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 codificación hash. También puedes encriptar la dirección de correo electrónico hasheada.
hashed_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 codificado con 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 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 Sin equivalente No se admite en la versión actual de la API de Data Manager.
address_info.state Sin equivalente No se admite en la versión actual de la API de Data Manager.
address_info.hashed_street_address Sin equivalente No se admite en la versión actual de la API de Data Manager.