Mapeamentos de campo

Use os mapeamentos nas tabelas para mapear os métodos e campos da API Google Ads para o equivalente em IngestEventsRequest na API Data Manager.

Autenticação

A API Data Manager exige credenciais com um escopo diferente da API Google Ads. Siga as etapas em Configurar o acesso à API para gerar novas credenciais que incluam o escopo da API Data Manager.

Métodos da API

A API Data Manager permite fazer upload de cada lote de ações promocionais na loja em um único IngestEventsRequest.

Por outro lado, a API Google Ads exigia um processo de três etapas usando o OfflineUserDataJobService:

  1. Criar um job usando CreateOfflineUserDataJob
  2. Adicione operações ao job usando AddOfflineUserDataJobOperations.
  3. Execute o job usando RunOfflineUserDataJob.

Campos de solicitação

Cada IngestEventsRequest está sujeito a limites de solicitação. Se o número de operações na sua solicitação AddOfflineUserDataJobOperations exceder esses limites, divida-a em várias solicitações de ingestão da API Data Manager.

Veja como os campos das solicitações da API Google Ads são mapeados para a API Data Manager.

CreateOfflineUserDataJobRequest

A tabela a seguir mostra como os campos de um CreateOfflineUserDataJobRequest são mapeados para um IngestEventsRequest.

CreateOfflineUserDataJobRequest (API Google Ads) IngestEventsRequest (API Data Manager) Observações
customer_id destinations.operating_account Consulte Campos de ação de conversão e do cliente.
  • Cabeçalho da solicitação developer-token
  • Cabeçalho da solicitação login-customer_id
  • Cabeçalho da solicitação linked-customer-id
destinations Consulte Campos de ação de conversão e do cliente.
  • job.status
  • job.failure_reason
Diagnóstico Use o request_id retornado no IngestEventsResponse para recuperar diagnósticos sobre o upload de conversões.
job.id request_id Use o request_id retornado no IngestEventsResponse para recuperar diagnósticos sobre o upload de conversões.
job.external_id Não há equivalente
job.type Não há equivalente
job.store_sales_metadata.third_party_metadata.partner_id destinations.login_account Um parceiro de dados que faz upload de conversões de vendas na loja será identificado pelo login_account de um destino. Consulte Configurar destinos para mais detalhes.
job.store_sales_metadata.third_party_metadata.advertiser_upload_date_time Não há equivalente
job.store_sales_metadata.third_party_metadata.valid_transaction_fraction Não há equivalente
job.store_sales_metadata.third_party_metadata.partner_match_fraction Não há equivalente
job.store_sales_metadata.third_party_metadata.partner_upload_fraction Não há equivalente
job.store_sales_metadata.third_party_metadata.bridge_map_version_id Não há equivalente
job.store_sales_metadata.loyalty_fraction Não há equivalente
job.store_sales_metadata.transaction_upload_fraction Não há equivalente
job.store_sales_metadata.custom_key
  • events[].custom_variables[].variable
  • events[].cart_data.items[].custom_variables[].variable
Mapeie para o campo variable de um CustomVariable no nível do evento ou um ItemCustomVariable no nível do item.
enable_match_rate_range_preview Não há equivalente
validate_only validate_only
Não há equivalente consent A API Google Ads só permite especificar consent no nível do evento em UserData. Para a API Data Manager, é possível especificar o consentimento para todos os eventos em uma solicitação definindo o campo consent no IngestEventsRequest. É possível modificar esse valor para um evento individual definindo o campo consent de Event.
Não há equivalente encoding Obrigatório para uploads de UserData. Defina como o Encoding usado para valores de UserIdentifier.
Não há equivalente encryption_info Defina se a solicitação contém identificadores de usuário UserData criptografados. Consulte Criptografia para mais detalhes.

AddOfflineUserDataJobOperationsRequest

A tabela a seguir mostra como os campos de um AddOfflineUserDataJobOperationsRequest são mapeados para um IngestEventsRequest.

AddOfflineUserDataJobOperationsRequest (API Google Ads) IngestEventsRequest (API Data Manager) Observações
  • Cabeçalho da solicitação developer-token
  • Cabeçalho da solicitação login-customer_id
  • Cabeçalho da solicitação linked-customer-id
destinations Consulte Campos de ação de conversão e do cliente.
resource_name Não há equivalente A API Data Manager não exige a atualização de um recurso de job.
enable_partial_failure Não há equivalente Se o IngestEventsRequest for bem-sucedido, as falhas que ocorrerem durante o processamento downstream serão tratadas no nível do evento, o que pode resultar em um sucesso parcial. Use o Diagnóstico para recuperar o status do upload, além de erros e avisos de eventos específicos. Se o IngestEventsRequest falhar (por exemplo, devido a um BadRequest), nenhum evento será processado, e você precisará resolver o erro e tentar novamente. Consulte Noções básicas sobre erros de API para mais informações.
enable_warnings Não há equivalente Use o Diagnóstico para recuperar avisos sobre sua solicitação da API Data Manager. Não é necessário ativar esse recurso.
operations events A operação OfflineUserDataJobOperation.create equivale ao envio de um IngestEventsRequest. A API Data Manager não permite remover eventos.
validate_only validate_only
Não há equivalente consent A API Google Ads só permite especificar consent no nível do evento em UserData. Para a API Data Manager, é possível especificar o consentimento para todos os eventos em uma solicitação definindo o campo consent no IngestEventsRequest. É possível modificar esse valor para um evento individual definindo o campo consent de Event.
Não há equivalente encoding Obrigatório para uploads de UserData. Defina como o Encoding usado para valores de UserIdentifier.
Não há equivalente encryption_info Defina se a solicitação contém identificadores de usuário UserData criptografados. Consulte Criptografia para mais detalhes.

Campos de ação de conversão e do cliente

A API Google Ads exige o cabeçalho de solicitação developer-token, e você define os cabeçalhos de solicitação login-customer-id e linked-customer-id para diferentes cenários de autenticação.

A API Data Manager não exige um token de desenvolvedor, e você especifica as informações de login e do cliente vinculado usando campos de um Destination em vez de cabeçalhos de solicitação. Confira Configurar destinos para mais informações sobre destinos.

API Google Ads Destination (API Data Manager) Observações
customer_id da solicitação operating_account Defina o account_id como o ID de cliente da conta de conversão do Google Ads. Defina o account_type do operating_account como GOOGLE_ADS.
Cabeçalho da solicitação developer-token Não há equivalente Não é necessário um token de desenvolvedor para a API Data Manager.
Cabeçalho da solicitação login-customer-id login_account Defina account_id como o ID de cliente da conta de login. Defina account_type como GOOGLE_ADS se a conta de login for uma conta do Google Ads ou como DATA_PARTNER se for uma conta de parceiro de dados.
Cabeçalho da solicitação linked-customer-id linked_account Se você estiver acessando o operating_account usando um link de parceiro, defina o account_id como o ID de cliente da conta vinculada e defina account_type como DATA_PARTNER. Caso contrário, não defina o campo linked_account.
conversion_action product_destination_id Defina como o ID numérico da ação de conversão. Não use o nome do recurso.

Campos de evento

A tabela a seguir mostra como os campos de uma conversão de vendas na loja são mapeados entre as duas APIs.

Ao contrário da API Google Ads, que permite incluir apenas um item por transação usando ItemAttribute, a API Data Manager permite incluir vários itens por evento em CartData.

OfflineUserDataJobOperation.create (API Google Ads) Event (API Data Manager) Observações
Não há equivalente event_source Obrigatório: defina como IN_STORE para conversões de vendas na loja.
transaction_attribute.conversion_action destinations.product_destination_id Consulte Campos de ação de conversão e do cliente. Use o ID numérico da ação de conversão em vez do nome do recurso.
transaction_attribute.transaction_date_time event_timestamp
Consulte Formato de carimbo de data/hora para mais detalhes.
transaction_attribute.transaction_amount_micros
  • conversion_value (Obrigatório)
  • cart_data.items[].conversion_value
Defina como o valor da moeda, não o valor em micros. Por exemplo, para um valor de conversão de R $5,23, use o valor 5.23.
transaction_attribute.currency_code currency Obrigatório.
transaction_attribute.order_id transaction_id Obrigatório.
transaction_attribute.store_attribute.store_code event_location.store_id Obrigatório Defina o código da loja no campo store_id do objeto EventLocation.
transaction_attribute.custom_value
  • custom_variables[].value
  • cart_data.items[].custom_variables[].value
Mapeie para o campo value de um CustomVariable no nível do evento ou um ItemCustomVariable no nível do item.
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
Se você definir cart_data.merchant_id, ele vai funcionar como padrão para todos os itens, mas é possível substituí-lo em itens específicos.
transaction_attribute.item_attribute.country_code
  • cart_data.merchant_feed_label
  • cart_data.items[].merchant_feed_label
Se você definir cart_data.merchant_feed_label, ele vai funcionar como padrão para todos os itens, mas é possível substituí-lo em itens específicos.
transaction_attribute.item_attribute.language_code
  • cart_data.merchant_feed_language_code
  • cart_data.items[].merchant_feed_language_code
Se você definir cart_data.merchant_feed_language_code, ele vai funcionar como padrão para todos os itens, mas é possível substituí-lo em itens específicos.
transaction_attribute.item_attribute.quantity cart_data.items[].quantity
Não há equivalente cart_data.items[].unit_price Defina como o preço unitário, excluindo tributos, frete e descontos no escopo do evento (no nível da transação) para este item.
user_identifiers
  • user_data.user_identifiers
  • third_party_user_data.user_identifiers
Obrigatório.

third_party_user_data usa a mesma estrutura que user_data, mas indica que os identificadores de usuário vêm de uma fonte de terceiros, em vez de serem dados próprios do anunciante.

O preenchimento de third_party_user_data só é permitido se a conta de login for um parceiro de dados (login_account.account_type é DATA_PARTNER).

Consulte Campos de identificador de usuário para mais detalhes.

consent consent As duas APIs usam um objeto Consent semelhante (ad_user_data, ad_personalization). Para a API Data Manager, também é possível definir o consentimento para todos os eventos em uma solicitação definindo o campo consent no IngestEventsRequest.

Campos do identificador de usuário

UserIdentifier (API Google Ads) UserIdentifier (API Data Manager) Observações
user_identifier_source

A origem determina qual campo preencher na API Data Manager Event:

  • user_data
  • third_party_user_data

third_party_user_data usa a mesma estrutura que user_data, mas indica que os identificadores de usuário vêm de uma fonte de terceiros, em vez de serem dados próprios do anunciante.

O preenchimento de third_party_user_data só é permitido se a conta de login for um parceiro de dados (login_account.account_type é DATA_PARTNER).

Consulte Campos de identificador de usuário para mais detalhes.

hashed_email email_address Defina como o endereço de e-mail formatado e com hash. Também é possível criptografar o endereço de e-mail com hash.
hashed_phone_number phone_number Defina como o número de telefone formatado e com hash. Também é possível criptografar o número de telefone com hash.
address_info address Defina como um objeto AddressInfo. Siga as diretrizes de formatação e hash. Também é possível criptografar os atributos com hash de um endereço.
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 Não há equivalente Não disponível para destinos do Google Ads.
address_info.state Não há equivalente Não disponível para destinos do Google Ads.
address_info.hashed_street_address Não há equivalente Não disponível para destinos do Google Ads.