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
- Tworzenie zadania za pomocą
CreateOfflineUserDataJob - Dodaj operacje do zadania za pomocą ikony
AddOfflineUserDataJobOperations. - 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ę. |
|
destinations |
Zobacz pola klienta i działania powodującego konwersję. |
|
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 |
|
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 consent w Event. |
| 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 |
|---|---|---|
|
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 consent w Event. |
| 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-id i linked-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 |
|
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 |
|
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 |
|
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 |
|
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 |
|
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 |
|
Wymagany.
|
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
|
|
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. |