Используйте сопоставления в таблицах, чтобы сопоставить методы и поля 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 Рекламы. |