Mapowanie pól

Skorzystaj z mapowań w tabelach, aby przypisać metody i pola interfejsu Google Ads API do ich odpowiedników w IngestEventsRequest interfejsie Data Manager API.

Metody interfejsu API

Interfejs Data Manager API umożliwia przesyłanie każdej partii zdarzeń sprzedaży w sklepie w jednym IngestEventsRequest.

Z kolei interfejs Google Ads API wymagał 3-etapowego procesu z użyciem tych elementów:OfflineUserDataJobService

  1. Tworzenie zadania za pomocą CreateOfflineUserDataJob
  2. Dodaj operacje do zadania za pomocą ikony AddOfflineUserDataJobOperations.
  3. Uruchom zadanie za pomocą RunOfflineUserDataJob

Pola żądania

Każda IngestEventsRequest podlega limitom żądań. Jeśli liczba operacji w AddOfflineUserDataJobOperationsżądaniuAddOfflineUserDataJobOperations przekracza te limity, musisz podzielić je na kilka żądań przesyłania danych do interfejsu Data Manager API.

Poniżej znajdziesz informacje o tym, jak pola żądań interfejsu Google Ads API są mapowane na interfejs Data Manager API.

CreateOfflineUserDataJobRequest

W tabeli poniżej pokazujemy, jak pola CreateOfflineUserDataJobRequest są mapowane na IngestEventsRequest.

CreateOfflineUserDataJobRequest (interfejs Google Ads API) IngestEventsRequest (interfejs Data Manager API) Uwagi
customer_id destinations.operating_account Zobacz pola klienta i działania powodującego konwersję.
  • nagłówek żądania developer-token
  • nagłówek żądania login-customer_id
  • nagłówek żądania linked-customer-id
destinations Zobacz pola klienta i działania powodującego konwersję.
  • job.status
  • job.failure_reason
Diagnostyka Użyj request_id zwróconego w IngestEventsResponse, aby pobrać diagnostykę dotyczącą przesyłania konwersji.
job.id request_id Użyj request_id zwróconego w IngestEventsResponse, aby pobrać diagnostykę dotyczącą przesyłania konwersji.
job.external_id Brak odpowiednika
job.type Brak odpowiednika
job.store_sales_metadata.third_party_metadata.partner_id destinations.login_account Dostawca danych przesyłający konwersje polegające na sprzedaży w sklepie będzie oznaczony symbolem login_account miejsca docelowego. Więcej informacji znajdziesz w artykule Konfigurowanie miejsc docelowych.
job.store_sales_metadata.third_party_metadata.advertiser_upload_date_time Brak odpowiednika
job.store_sales_metadata.third_party_metadata.valid_transaction_fraction Brak odpowiednika
job.store_sales_metadata.third_party_metadata.partner_match_fraction Brak odpowiednika
job.store_sales_metadata.third_party_metadata.partner_upload_fraction Brak odpowiednika
job.store_sales_metadata.third_party_metadata.bridge_map_version_id Brak odpowiednika
job.store_sales_metadata.loyalty_fraction Brak odpowiednika
job.store_sales_metadata.transaction_upload_fraction Brak odpowiednika
job.store_sales_metadata.custom_key
  • events[].custom_variables[].variable
  • events[].cart_data.items[].custom_variables[].variable
Mapuj na pole variable w ramach CustomVariable na poziomie zdarzenia lub ItemCustomVariable na poziomie produktu.
enable_match_rate_range_preview Brak odpowiednika
validate_only validate_only
Brak odpowiednika consent Interfejs Google Ads API obsługuje określanie wartości consent tylko na poziomie zdarzenia w UserData. W przypadku interfejsu Data Manager API możesz określić zgodę na wszystkie zdarzenia w żądaniu, ustawiając pole consent w obiekcie IngestEventsRequest. Możesz zastąpić tę wartość w przypadku poszczególnych zdarzeń, ustawiając pole consentEvent.
Brak odpowiednika encoding Wymagane w przypadku przesyłania plików UserData. Ustaw na Encoding używany w przypadku wartości UserIdentifier.
Brak odpowiednika encryption_info Określ, czy żądanie zawiera zaszyfrowane identyfikatory użytkowników UserData. Więcej informacji znajdziesz w sekcji Szyfrowanie.

AddOfflineUserDataJobOperationsRequest

W tabeli poniżej pokazujemy, jak pola AddOfflineUserDataJobOperationsRequest są mapowane na IngestEventsRequest.

AddOfflineUserDataJobOperationsRequest (interfejs Google Ads API) IngestEventsRequest (interfejs Data Manager API) Uwagi
  • nagłówek żądania developer-token
  • nagłówek żądania login-customer_id
  • nagłówek żądania linked-customer-id
destinations Zobacz pola klienta i działania powodującego konwersję.
resource_name Brak odpowiednika Interfejs Data Manager API nie wymaga aktualizowania zasobu zadania.
enable_partial_failure Brak odpowiednika Jeśli IngestEventsRequest zakończy się powodzeniem, wszelkie błędy, które wystąpią podczas przetwarzania podrzędnego, są obsługiwane na poziomie zdarzenia, co może skutkować częściowym powodzeniem. Użyj Diagnostyki, aby sprawdzić stan przesyłania oraz błędy i ostrzeżenia dotyczące poszczególnych zdarzeń. Jeśli IngestEventsRequest się nie powiedzie (np. z powodu BadRequest), żadne zdarzenia nie zostaną przetworzone. Musisz rozwiązać problem i ponowić próbę wysłania żądania. Więcej informacji znajdziesz w artykule Wyjaśnienie błędów interfejsu API.
enable_warnings Brak odpowiednika Użyj Diagnostyki, aby pobrać ostrzeżenia dotyczące żądania do interfejsu Data Manager API. Nie musisz tego włączać.
operations events Operacja OfflineUserDataJobOperation.create jest równoważna wysłaniu IngestEventsRequest. Interfejs Data Manager API nie obsługuje usuwania zdarzeń.
validate_only validate_only
Brak odpowiednika consent Interfejs Google Ads API obsługuje określanie wartości consent tylko na poziomie zdarzenia w parametrze UserData. W przypadku interfejsu Data Manager API możesz określić zgodę na wszystkie zdarzenia w żądaniu, ustawiając pole consent w obiekcie IngestEventsRequest. Możesz zastąpić tę wartość w przypadku poszczególnych zdarzeń, ustawiając pole consentEvent.
Brak odpowiednika encoding Wymagane w przypadku przesyłania plików UserData. Ustaw na Encoding używany w przypadku wartości UserIdentifier.
Brak odpowiednika encryption_info Określ, czy żądanie zawiera zaszyfrowane identyfikatory użytkowników UserData. Więcej informacji znajdziesz w sekcji Szyfrowanie.

Pola klienta i działania powodującego konwersję

Interfejs Google Ads API wymaga developer-tokennagłówka żądania, a nagłówki żądania login-customer-idlinked-customer-id ustawiasz w różnych scenariuszach uwierzytelniania.

Interfejs Data Manager API nie wymaga tokena programisty. Informacje o logowaniu i powiązane informacje o kliencie podajesz w polach obiektu Destination zamiast w nagłówkach żądania. Więcej informacji o miejscach docelowych znajdziesz w artykule Konfigurowanie miejsc docelowych.

Interfejs Google Ads API Destination (interfejs Data Manager API) Uwagi
customer_id żądania operating_account Ustaw wartość account_id na identyfikator klienta konta konwersji Google Ads. Ustaw wartość account_type w polu operating_account na GOOGLE_ADS.
nagłówek żądania developer-token Brak odpowiednika Token programisty nie jest wymagany w przypadku interfejsu Data Manager API.
nagłówek żądania login-customer-id login_account Ustaw account_id na identyfikator klienta konta logowania. Ustaw wartość account_type na GOOGLE_ADS, jeśli konto logowania jest kontem Google Ads, lub DATA_PARTNER, jeśli konto logowania jest kontem dostawcy danych.
nagłówek żądania linked-customer-id linked_account Jeśli uzyskujesz dostęp do operating_account za pomocą linku partnera, ustaw account_id na identyfikator klienta połączonego konta, a account_type na DATA_PARTNER. W przeciwnym razie nie ustawiaj pola linked_account.
conversion_action product_destination_id Ustaw na numeryczny identyfikator działania powodującego konwersję. Nie używaj nazwy zasobu.

Pola zdarzeń

W tabeli poniżej pokazujemy, jak pola konwersji polegającej na sprzedaży w sklepie stacjonarnym są mapowane między tymi dwoma interfejsami API.

W przeciwieństwie do interfejsu Google Ads API, który obsługuje uwzględnianie tylko 1 produktu na transakcję za pomocą parametru ItemAttribute, interfejs Data Manager API obsługuje uwzględnianie wielu produktów na zdarzenie w parametrze CartData.

OfflineUserDataJobOperation.create (interfejs Google Ads API) Event (interfejs Data Manager API) Uwagi
Brak odpowiednika event_source Wymagany. W przypadku konwersji polegających na sprzedaży w sklepie stacjonarnym ustaw wartość IN_STORE.
transaction_attribute.conversion_action destinations.product_destination_id Zobacz pola klienta i działania powodującego konwersję. Zamiast nazwy zasobu użyj identyfikatora liczbowego działania powodującego konwersję.
transaction_attribute.transaction_date_time event_timestamp
Szczegółowe informacje znajdziesz w sekcji Format sygnatury czasowej.
transaction_attribute.transaction_amount_micros
  • conversion_value (Wymagane)
  • cart_data.items[].conversion_value
Ustaw wartość waluty, a nie wartość w mikrojednostkach. Na przykład w przypadku wartości konwersji wynoszącej 5,23 zł użyj wartości 5.23.
transaction_attribute.currency_code currency Wymagane.
transaction_attribute.order_id transaction_id Wymagane.
transaction_attribute.store_attribute.store_code event_location.store_id Wymagane: ustaw kod sklepu w polu store_id w obiekcie EventLocation.
transaction_attribute.custom_value
  • custom_variables[].value
  • cart_data.items[].custom_variables[].value
Mapuj na pole value w ramach CustomVariable na poziomie zdarzenia lub ItemCustomVariable na poziomie produktu.
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
Jeśli ustawisz cart_data.merchant_id, będzie to domyślne ustawienie dla wszystkich produktów, ale możesz je zastąpić w przypadku poszczególnych produktów.
transaction_attribute.item_attribute.country_code
  • cart_data.merchant_feed_label
  • cart_data.items[].merchant_feed_label
Jeśli ustawisz cart_data.merchant_feed_label, będzie to domyślne ustawienie dla wszystkich produktów, ale możesz je zastąpić w przypadku poszczególnych produktów.
transaction_attribute.item_attribute.language_code
  • cart_data.merchant_feed_language_code
  • cart_data.items[].merchant_feed_language_code
Jeśli ustawisz cart_data.merchant_feed_language_code, będzie to domyślne ustawienie dla wszystkich produktów, ale możesz je zastąpić w przypadku poszczególnych produktów.
transaction_attribute.item_attribute.quantity cart_data.items[].quantity
Brak odpowiednika cart_data.items[].unit_price Ustaw na cenę jednostkową bez podatku, dostawy i rabatów na poziomie zdarzenia (transakcji) dla tego produktu.
user_identifiers
  • user_data.user_identifiers
  • third_party_user_data.user_identifiers
Wymagany.

third_party_user_data ma taką samą strukturę jak user_data, ale wskazuje, że identyfikatory użytkowników pochodzą z zewnętrznego źródła, a nie z danych reklamodawcy.

Wypełnianie pola third_party_user_data jest dozwolone tylko wtedy, gdy konto logowania należy do dostawcy danych (login_account.account_type to DATA_PARTNER).

Więcej informacji znajdziesz w sekcji Pola identyfikatora użytkownika.

consent consent Oba interfejsy API używają podobnego obiektu Consent (ad_user_data, ad_personalization). W przypadku interfejsu Data Manager API możesz też ustawić zgodę na wszystkie zdarzenia w żądaniu, ustawiając pole consent w obiekcie IngestEventsRequest.

Pola identyfikatorów użytkownika

UserIdentifier (interfejs Google Ads API) UserIdentifier (interfejs Data Manager API) Uwagi
user_identifier_source

Źródło określa, które pole ma zostać wypełnione w interfejsie Data Manager API Event:

  • user_data
  • third_party_user_data

third_party_user_data ma taką samą strukturę jak user_data, ale wskazuje, że identyfikatory użytkowników pochodzą z zewnętrznego źródła, a nie z danych reklamodawcy.

Wypełnianie pola third_party_user_data jest dozwolone tylko wtedy, gdy konto logowania należy do dostawcy danych (login_account.account_type to DATA_PARTNER).

Więcej informacji znajdziesz w sekcji Pola identyfikatora użytkownika.

hashed_email email_address Ustaw na sformatowany i zahaszowany adres e-mail. Możesz też zaszyfrować zahaszowany adres e-mail.
hashed_phone_number phone_number Ustaw na sformatowany i zahaszowany numer telefonu. Możesz też zaszyfrować zahaszowany numer telefonu.
address_info address Ustaw na obiekt AddressInfo. Postępuj zgodnie z wytycznymi dotyczącymi formatowania i szyfrowania. Możesz też zaszyfrować zahaszowane atrybuty adresu.
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 Brak odpowiednika Nie jest obsługiwany w bieżącej wersji interfejsu Data Manager API.
address_info.state Brak odpowiednika Nie jest obsługiwany w bieżącej wersji interfejsu Data Manager API.
address_info.hashed_street_address Brak odpowiednika Nie jest obsługiwany w bieżącej wersji interfejsu Data Manager API.