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:
- Crea un trabajo con
CreateOfflineUserDataJob - Agrega operaciones al trabajo con
AddOfflineUserDataJobOperations - 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. |
|
destinations |
Consulta los campos de acción de conversión y cliente. |
|
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 |
|
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 |
|---|---|---|
|
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 |
|
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 |
|
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 |
|
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 |
|
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 |
|
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 |
|
Obligatorio.
|
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
|
|
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. |