Используйте таблицы соответствия, чтобы сопоставить методы и поля API Google Ads с их эквивалентами в методе IngestEventsRequest в API Data Manager.
Методы API
API Data Manager позволяет загружать каждую партию событий продаж магазина в одном IngestEventsRequest .
В отличие от этого, для работы с API Google Ads требовался трехэтапный процесс с использованием OfflineUserDataJobService :
- Создайте задание с помощью
CreateOfflineUserDataJob - Добавьте операции к заданию, используя
AddOfflineUserDataJobOperations - Запустите задание с помощью
RunOfflineUserDataJob
Поля запроса
Каждый IngestEventsRequest имеет ограничения по количеству запросов . Если количество операций в вашем запросе AddOfflineUserDataJobOperations превышает эти ограничения, вам необходимо разбить его на несколько запросов на получение данных через API Data Manager.
Вот как поля запросов к Google Ads API соотносятся с полями запросов к Data Manager API.
CreateOfflineUserDataJobRequest
В следующей таблице показано, как поля запроса CreateOfflineUserDataJobRequest сопоставляются с полями запроса IngestEventsRequest .
CreateOfflineUserDataJobRequest (Google Ads API) | IngestEventsRequest (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 | API Google Ads поддерживает указание consent только на уровне события в UserData . Для API Data Manager вы можете указать согласие для всех событий в запросе, установив поле consent в IngestEventsRequest . Вы можете переопределить это значение для отдельного события, установив поле consent в Event . |
| Нет эквивалента | encoding | Обязательно для загрузки UserData . Установите значение Encoding используемой для значений UserIdentifier . |
| Нет эквивалента | encryption_info | Установите этот параметр, если запрос содержит зашифрованные идентификаторы пользователей UserData . Подробнее см. в разделе «Шифрование» . |
AddOfflineUserDataJobOperationsRequest
В следующей таблице показано, как поля объекта AddOfflineUserDataJobOperationsRequest сопоставляются с полями объекта IngestEventsRequest .
AddOfflineUserDataJobOperationsRequest (Google Ads API) | IngestEventsRequest (API менеджера данных) | Примечания |
|---|---|---|
| destinations | См. поля «Клиент» и «Действия конверсии» . |
resource_name | Нет эквивалента | API менеджера данных не требует обновления ресурса задания. |
enable_partial_failure | Нет эквивалента | Если запрос IngestEventsRequest выполняется успешно , любые сбои, возникающие в процессе последующей обработки, обрабатываются на уровне событий, что может привести к частичному успеху. Используйте раздел «Диагностика» , чтобы получить статус загрузки, а также ошибки и предупреждения для отдельных событий. Если запрос IngestEventsRequest завершается неудачей (например, из-за BadRequest ), события не обрабатываются, и вам потребуется устранить ошибку и повторить запрос. Дополнительную информацию см. в разделе «Понимание ошибок API» . |
enable_warnings | Нет эквивалента | Используйте раздел «Диагностика» , чтобы получить предупреждения о вашем запросе к API Data Manager. Включать эту функцию не обязательно. |
operations | events | Операция OfflineUserDataJobOperation.create эквивалентна отправке запроса IngestEventsRequest . API Data Manager не поддерживает удаление событий. |
validate_only | validate_only | |
| Нет эквивалента | consent | API Google Ads поддерживает указание consent только на уровне события в UserData . Для API Data Manager вы можете указать согласие для всех событий в запросе, установив поле consent в IngestEventsRequest . Вы можете переопределить это значение для отдельного события, установив поле consent в Event . |
| Нет эквивалента | encoding | Обязательно для загрузки UserData . Установите значение Encoding используемой для значений UserIdentifier . |
| Нет эквивалента | encryption_info | Установите этот параметр, если запрос содержит зашифрованные идентификаторы пользователей UserData . Подробнее см. в разделе «Шифрование» . |
Поля действий клиента и конверсии
Для работы API Google Ads требуется заголовок запроса developer-token , а заголовки login-customer-id и linked-customer-id задаются для различных сценариев аутентификации.
API Data Manager не требует токена разработчика, а информация об авторизации и связанных клиентах указывается с помощью полей объекта Destination , а не заголовков запроса. Дополнительную информацию об объектах Destination см. в разделе «Настройка объектов Destination».
| API Google Ads | Destination (API менеджера данных) | Примечания |
|---|---|---|
customer_id запроса | operating_account | Установите account_id равным идентификатору клиента аккаунта конверсий Google Ads . Установите account_type для operating_account равным GOOGLE_ADS . |
заголовок запроса developer-token | Нет эквивалента | Для использования API Data Manager токен разработчика не требуется. |
заголовок запроса login-customer-id | login_account | Установите account_id равным идентификатору клиента учетной записи для входа. Установите account_type равным GOOGLE_ADS , если учетная запись является учетной записью Google Ads, или DATA_PARTNER если учетная запись является учетной записью партнера по данным. |
заголовок запроса linked-customer-id | linked_account | Если вы получаете доступ operating_account через партнерскую ссылку , установите для account_id идентификатор клиента связанной учетной записи и для поля account_type значение DATA_PARTNER . В противном случае не устанавливайте значение поля linked_account . |
conversion_action | product_destination_id | Укажите числовой идентификатор действия преобразования. Не используйте имя ресурса. |
Поля событий
В следующей таблице показано, как поля данных о конверсии продаж в магазине сопоставляются между двумя API.
В отличие от API Google Ads, который поддерживает добавление только одного товара за транзакцию с помощью ItemAttribute , API Data Manager поддерживает добавление нескольких товаров за событие в CartData .
OfflineUserDataJobOperation.create (Google Ads API) | Event (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 ). Для API Data Manager вы также можете установить согласие для всех событий в запросе, задав поле consent в объекте IngestEventsRequest . |
Поля идентификатора пользователя
UserIdentifier (API Google Ads) | UserIdentifier (API менеджера данных) | Примечания |
|---|---|---|
user_identifier_source | Источник определяет, какое поле следует заполнить в
| |
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 | Нет эквивалента | В текущей версии API менеджера данных эта функция не поддерживается. |
address_info.state | Нет эквивалента | В текущей версии API менеджера данных эта функция не поддерживается. |
address_info.hashed_street_address | Нет эквивалента | В текущей версии API менеджера данных эта функция не поддерживается. |