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:
- Criar um job usando
CreateOfflineUserDataJob - Adicione operações ao job usando
AddOfflineUserDataJobOperations. - 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. |
|
destinations |
Consulte Campos de ação de conversão e do cliente. |
|
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 |
|
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 |
|---|---|---|
|
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 |
|
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 |
|
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 |
|
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 |
|
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 |
|
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 |
|
Obrigatório.
|
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
|
|
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. |