Используйте сопоставления в таблицах, чтобы сопоставить методы и поля Google Ads API с их эквивалентами IngestEventsRequest в Data Manager API.
Аутентификация
Для Data Manager API требуются учетные данные с другой областью действия, чем для Google Ads API. Следуйте инструкциям в статье Как настроить доступ к API, чтобы создать новые учетные данные, включающие область действия Data Manager API.
Методы API
Data Manager API позволяет загружать каждый пакет событий продаж в магазине в одном запросе IngestEventsRequest.
В Google Ads API для этого требовалось выполнить три шага с помощью OfflineUserDataJobService:
- Создайте задание с помощью
CreateOfflineUserDataJob. - Добавьте операции в задание с помощью
AddOfflineUserDataJobOperations. - Запустите задание с помощью
RunOfflineUserDataJob.
Поля запроса
Для каждого IngestEventsRequest действуют ограничения на количество запросов. Если количество операций в запросе AddOfflineUserDataJobOperations превышает эти ограничения, разделите его на несколько запросов на загрузку Data Manager API.
Ниже показано, как поля запросов Google Ads API сопоставляются с Data Manager API.
CreateOfflineUserDataJobRequest
В таблице ниже показано, как поля CreateOfflineUserDataJobRequest сопоставляются с полями IngestEventsRequest.
CreateOfflineUserDataJobRequest (Google Ads API) |
IngestEventsRequest (Data Manager API) |
Примечания |
|---|---|---|
customer_id |
destinations.operating_account |
Подробнее о полях клиента и действия-конверсии… |
|
destinations |
Подробнее о полях клиента и действия-конверсии… |
|
Диагностика | Используйте request_id, возвращенный в IngestEventsResponse, чтобы получить диагностические данные о загрузке конверсий. |
job.id |
request_id |
Используйте request_id, возвращенный в IngestEventsResponse, чтобы получить диагностические данные о загрузке конверсий. |
job.external_id |
Ранее такого отчета не существовало | |
job.type |
Ранее такого отчета не существовало | |
job.store_sales_metadata.third_party_metadata.partner_id |
destinations.login_account |
Партнер по обработке данных, загружающий конверсии типа "Продажи в магазине", будет идентифицироваться по login_account целевого сервиса. Подробнее о настройке целевых страниц… |
job.store_sales_metadata.third_party_metadata.advertiser_upload_date_time |
Ранее такого отчета не существовало | |
job.store_sales_metadata.third_party_metadata.valid_transaction_fraction |
Ранее такого отчета не существовало | |
job.store_sales_metadata.third_party_metadata.partner_match_fraction |
Ранее такого отчета не существовало | |
job.store_sales_metadata.third_party_metadata.partner_upload_fraction |
Ранее такого отчета не существовало | |
job.store_sales_metadata.third_party_metadata.bridge_map_version_id |
Ранее такого отчета не существовало | |
job.store_sales_metadata.loyalty_fraction |
Ранее такого отчета не существовало | |
job.store_sales_metadata.transaction_upload_fraction |
Ранее такого отчета не существовало | |
job.store_sales_metadata.custom_key |
|
Сопоставьте с полем variable объекта CustomVariable на уровне события или ItemCustomVariable на уровне товара. |
enable_match_rate_range_preview |
Ранее такого отчета не существовало | |
validate_only |
validate_only |
|
| Ранее такого отчета не существовало | consent |
Google Ads API поддерживает только указание consent на уровне события в UserData. В Data Manager API вы можете указать согласие для всех событий в запросе, задав поле consent в IngestEventsRequest. Вы можете переопределить это значение для отдельного события, задав поле consent для Event. |
| Ранее такого отчета не существовало | encoding |
Обязательно для загрузки файлов UserData. Укажите Encoding, используемую для значений UserIdentifier. |
| Ранее такого отчета не существовало | encryption_info |
Указывает, содержит ли запрос зашифрованные идентификаторы пользователей UserData. Подробнее о шифровании… |
AddOfflineUserDataJobOperationsRequest
В таблице ниже показано, как поля AddOfflineUserDataJobOperationsRequest сопоставляются с полями IngestEventsRequest.
AddOfflineUserDataJobOperationsRequest (Google Ads API) |
IngestEventsRequest (Data Manager API) |
Примечания |
|---|---|---|
|
destinations |
Подробнее о полях клиента и действия-конверсии… |
resource_name |
Ранее такого отчета не существовало | При использовании Data Manager API обновлять ресурс задания не требуется. |
enable_partial_failure |
Ранее такого отчета не существовало | Если IngestEventsRequest выполняется успешно, то любые сбои, возникающие во время последующей обработки, обрабатываются на уровне события, что может привести к частичному успеху. Используйте Диагностику, чтобы узнать статус загрузки, а также ошибки и предупреждения для отдельных событий. Если IngestEventsRequest завершится ошибкой (например, из-за BadRequest), события не будут обработаны. Вам потребуется устранить ошибку и повторить запрос. Подробнее об ошибках API… |
enable_warnings |
Ранее такого отчета не существовало | Используйте диагностику, чтобы получать предупреждения о запросах к Data Manager API. Вам не нужно включать эту функцию. |
operations |
events |
Операция OfflineUserDataJobOperation.create эквивалентна отправке IngestEventsRequest. Data Manager API не поддерживает удаление событий. |
validate_only |
validate_only |
|
| Ранее такого отчета не существовало | consent |
Google Ads API поддерживает только указание consent на уровне события в UserData. В Data Manager API вы можете указать согласие для всех событий в запросе, задав поле consent в IngestEventsRequest. Вы можете переопределить это значение для отдельного события, задав поле consent для Event. |
| Ранее такого отчета не существовало | encoding |
Обязательно для загрузки файлов UserData. Укажите Encoding, используемую для значений UserIdentifier. |
| Ранее такого отчета не существовало | encryption_info |
Указывает, содержит ли запрос зашифрованные идентификаторы пользователей UserData. Подробнее о шифровании… |
Поля клиента и действия-конверсии
Для Google Ads API требуется заголовок запроса developer-token. В зависимости от сценария аутентификации вы можете задать заголовки запросов login-customer-id и linked-customer-id.
Для Data Manager API не требуется токен разработчика, а данные для входа и информация о связанных клиентах указываются в полях Destination, а не в заголовках запросов. Подробнее о настройке целевых сервисов…
| Google Ads API | Destination (Data Manager API) |
Примечания |
|---|---|---|
customer_id запроса |
operating_account |
Задайте для account_id идентификатор клиента аккаунта конверсий Google Рекламы. Задайте для свойства account_type объекта operating_account значение GOOGLE_ADS. |
Заголовок запроса developer-token |
Ранее такого отчета не существовало | Для Data Manager API токен разработчика не требуется. |
Заголовок запроса login-customer-id |
login_account |
В качестве значения account_id укажите идентификатор клиента для аккаунта, используемого для входа. Задайте для account_type значение GOOGLE_ADS, если аккаунт для входа – это аккаунт Google Рекламы, или DATA_PARTNER, если это аккаунт партнера по обработке данных. |
Заголовок запроса linked-customer-id |
linked_account |
Если вы получаете доступ к operating_account с помощью партнерской ссылки, задайте для account_id идентификатор клиента связанного аккаунта, а для account_type – значение DATA_PARTNER. В противном случае не задавайте поле linked_account. |
conversion_action |
product_destination_id |
Укажите числовой идентификатор действия-конверсии. Не используйте название ресурса. |
Поля типа обращения event
В таблице ниже показано, как сопоставляются поля конверсий типа "Продажи в магазине" в двух API.
В отличие от Google Ads API, который поддерживает включение только одного товара в транзакцию с помощью ItemAttribute, Data Manager API поддерживает включение нескольких товаров в событие в CartData.
OfflineUserDataJobOperation.create (Google Ads API) |
Event (Data Manager API) |
Примечания |
|---|---|---|
| Ранее такого отчета не существовало | event_source |
Обязательный. Для продаж в магазине задайте значение IN_STORE. |
transaction_attribute.conversion_action |
destinations.product_destination_id |
Подробнее о полях клиента и действия-конверсии… Используйте числовой идентификатор действия-конверсии вместо названия ресурса. |
transaction_attribute.transaction_date_time |
event_timestamp |
Подробнее о формате временных меток… |
transaction_attribute.transaction_amount_micros |
|
Укажите значение в валюте, а не в микроединицах. Например, если ценность конверсии составляет 5,23 долл.США, укажите значение 5.23. |
transaction_attribute.currency_code |
currency |
Обязательно. |
transaction_attribute.order_id |
transaction_id |
Обязательно. |
transaction_attribute.store_attribute.store_code |
event_location.store_id |
Обязательный. Укажите код магазина в поле store_id объекта EventLocation. |
transaction_attribute.custom_value |
|
Сопоставьте с полем value объекта CustomVariable на уровне события или ItemCustomVariable на уровне товара. |
transaction_attribute.item_attribute.item_id |
cart_data.items[].merchant_product_id |
|
transaction_attribute.item_attribute.merchant_id |
|
Если вы зададите значение атрибута cart_data.merchant_id, оно будет применяться по умолчанию ко всем товарам, но вы сможете переопределить его для отдельных позиций. |
transaction_attribute.item_attribute.country_code |
|
Если вы зададите значение атрибута cart_data.merchant_feed_label, оно будет применяться по умолчанию ко всем товарам, но вы сможете переопределить его для отдельных позиций. |
transaction_attribute.item_attribute.language_code |
|
Если вы зададите значение атрибута cart_data.merchant_feed_language_code, оно будет применяться по умолчанию ко всем товарам, но вы сможете переопределить его для отдельных позиций. |
transaction_attribute.item_attribute.quantity |
cart_data.items[].quantity |
|
| Ранее такого отчета не существовало | cart_data.items[].unit_price |
Укажите цену за единицу товара без учета налогов, стоимости доставки и скидок на уровне транзакции. |
user_identifiers |
|
Обязательный параметр.
|
consent |
consent |
Оба API используют похожий объект Consent (ad_user_data, ad_personalization). В Data Manager API вы также можете задать согласие для всех событий в запросе, заполнив поле consent в IngestEventsRequest. |
Поля с идентификатором пользователя
UserIdentifier (Google Ads API) |
UserIdentifier (Data Manager API) |
Примечания |
|---|---|---|
user_identifier_source |
Источник определяет, какое поле заполняется в Data Manager API
|
|
hashed_email |
email_address |
Укажите отформатированный и хешированный адрес электронной почты. Вы также можете зашифровать хешированный адрес электронной почты. |
hashed_phone_number |
phone_number |
Укажите отформатированный и хешированный номер телефона. Вы также можете зашифровать хешированный номер телефона. |
address_info |
address |
Задайте объект AddressInfo. Следуйте правилам форматирования и хеширования. Вы также можете зашифровать хешированные атрибуты адреса. |
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 |
Ранее такого отчета не существовало | Не поддерживается для целевых страниц объявлений Google Рекламы. |
address_info.state |
Ранее такого отчета не существовало | Не поддерживается для целевых страниц объявлений Google Рекламы. |
address_info.hashed_street_address |
Ранее такого отчета не существовало | Не поддерживается для целевых страниц объявлений Google Рекламы. |