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