Вы можете изучить это краткое руководство, чтобы ознакомиться с отправкой данных о событиях.
Используйте API диспетчера данных в любом из следующих сценариев:
Онлайн-события : отправляйте данные о событиях в качестве дополнительного источника данных для конверсий тегов, чтобы максимизировать сигналы взаимодействия с рекламой и улучшить ваши данные и общую эффективность.
Офлайн-события : отправка данных о событиях для офлайн-конверсий или расширенных конверсий для лидов .
Выберите версию руководства, которую вы хотите увидеть:
В этом кратком руководстве вы выполните следующие шаги:
- Подготовьте
Destination
для получения данных о событиях. - Подготовьте данные о событии для отправки.
- Создайте запрос
IngestionService
для событий. - Отправьте запрос с помощью Google APIs Explorer.
- Понимание успешных и неудачных реакций.
Подготовьте пункт назначения
Прежде чем отправлять данные, необходимо подготовить пункт назначения. Вот пример Destination
, который вы можете использовать:
{
"operatingAccount": {
"product": "GOOGLE_ADS",
"accountId": "OPERATING_ACCOUNT_ID"
},
"productDestinationId": "CONVERSION_ACTION_1_ID"
}
- В качестве
accountId
operatingAccount
укажите идентификатор аккаунта Google Рекламы, который будет получать данные о событиях.product
operatingAccount
должен бытьGOOGLE_ADS
. Установите для
productDestinationId
идентификатор действия-конверсии для событий. Для онлайн-событий действие-конверсия должно быть действием-конверсией Google Рекламы сtype
WEBPAGE
. Для офлайн-событий действие-конверсией должно быть действием-конверсией Google Рекламы сtype
UPLOAD_CLICKS
.В этом руководстве показано, как создать запрос, отправляющий каждое событие одному и тому же действию-конверсии. Если вы хотите отправлять события для нескольких действий-конверсий в одном запросе, см. раздел «Несколько назначений» .
Подготовка данных о событиях
Рассмотрим следующие данные о событиях. Каждая таблица соответствует одному событию-конверсии. Каждое событие-конверсия имеет метку времени, действие-конверсию и ценность конверсии.
Каждое событие может иметь идентификаторы рекламы, например gclid
, или идентификаторы пользователей, например адреса электронной почты, номера телефонов и адресную информацию . Событие также может содержать информацию о пользователе, полученную на момент события , например, ценность клиента или то, является ли он новым, вернувшимся или повторно привлеченным клиентом.
Вот данные первого события:
Событие №1 | |
---|---|
conversion_time | 2025-06-10 15:07:01-05:00 |
conversion_action_id | 123456789 |
transaction_id | ABC798654321 |
conversion_value | 1.99 |
currency | USD |
gclid | GCLID_1 |
emails |
|
given_name | John |
family_name | Smith-Jones |
region_code | us |
postal_code | 94045 |
customer_type | NEW |
customer_value_bucket | HIGH |
Вот данные второго события:
Событие №2 | |
---|---|
conversion_time | June 10, 2025 11:42:33PM America/New_York |
conversion_action_id | 123456789 |
transaction_id | DEF999911111 |
conversion_value | 3.25 |
currency | eur |
gclid | GCLID_2 |
emails | |
given_name | zoë |
family_name | pérez |
region_code | PT |
postal_code | 1229-076 |
customer_type | RETURNING |
Форматировать данные
Отформатируйте поля в соответствии с руководством по форматированию . Вот данные первого события после форматирования:
Событие №1 | |
---|---|
conversion_time | 2025-06-10 15:07:01-05:00 |
conversion_action_id | 123456789 |
transaction_id | ABC798654321 |
conversion_value | 1.99 |
currency | USD |
gclid | GCLID_1 |
emails |
|
given_name | john |
family_name | smith-jones |
region_code | US |
postal_code | 94045 |
customer_type | NEW |
customer_value_bucket | HIGH |
Вот данные второго события после форматирования:
Событие №2 | |
---|---|
conversion_time | 2025-06-10T23:42:33-05:00 |
conversion_action_id | 123456789 |
transaction_id | DEF999911111 |
conversion_value | 3.25 |
currency | EUR |
gclid | GCLID_2 |
emails | |
given_name | zoë |
family_name | pérez |
region_code | PT |
postal_code | 1229-076 |
customer_type | RETURNING |
Хешировать и кодировать данные
Кроме того, отформатированные адреса электронной почты, имена и фамилии должны быть хешированы с помощью алгоритма SHA-256 и закодированы в шестнадцатеричном формате или формате Base64. Вот данные первого события после форматирования, хеширования и кодирования в шестнадцатеричном формате:
Событие №1 | |
---|---|
conversion_time | 2025-06-10 15:07:01-05:00 |
conversion_action_id | 123456789 |
transaction_id | ABC798654321 |
conversion_value | 1.99 |
currency | USD |
gclid | GCLID_1 |
emails |
|
given_name | 96D9632F363564CC3032521409CF22A852F2032EEC099ED5967C0D000CEC607A |
family_name | DB98D2607EFFFA28AFF66975868BF54C075ECA7157E35064DCE08E20B85B1081 |
region_code | US |
postal_code | 94045 |
customer_type | NEW |
customer_value_bucket | HIGH |
Вот данные второго события после форматирования, хеширования и кодирования с использованием шестнадцатеричного кодирования:
Событие №2 | |
---|---|
conversion_time | 2025-06-10T23:42:33-05:00 |
conversion_action_id | 123456789 |
transaction_id | DEF999911111 |
conversion_value | 3.25 |
currency | EUR |
gclid | GCLID_2 |
emails | |
given_name | 2752B88686847FA5C86F47B94CE652B7B3F22A91C37617D451A4DB9AFA431450 |
family_name | 6654977D57DDDD3C0329CA741B109EF6CD6430BEDD00008AAD213DF25683D77F |
region_code | PT |
postal_code | 1229-076 |
customer_type | RETURNING |
Преобразовать данные в Event
Преобразуйте форматированные и хешированные данные каждого события в Event
. Заполните следующие обязательные поля:
-
event_timestamp
: время, когда произошло событие. -
transaction_id
: уникальный идентификатор события. -
event_source
: Источник события. Обязательно для офлайн-событий . Необязательно для онлайн-событий . Если указано для онлайн-события, должно бытьWEB
. -
ad_identifiers
илиuser_data
: событие должно содержать либо идентификатор рекламы, либо данные пользователя. Если у вас есть оба этих параметра для события, отправьте оба.
Полный список доступных полей см. в справочной документации Event
. Заполните любое поле, в котором есть значение для события.
Вот пример Event
для форматированных, хешированных и закодированных данных из второго события:
{
"adIdentifiers": {
"gclid": "GCLID_2"
},
"conversionValue": 3.25,
"currency": "EUR",
"eventTimestamp": "2025-06-10T23:42:33-05:00",
"transactionId": "DEF999911111",
"eventSource": "WEB",
"userData": {
"userIdentifiers": [
{
"emailAddress": "3E693CF7E5B67880BFF33B2D2626DADB7BF1D4BC737192E47CF8BAA89ACF2250"
},
{
"emailAddress": "223EBDA6F6889B1494551BA902D9D381DAF2F642BAE055888E96343D53E9F9C4"
},
{
"address": {
"givenName": "2752B88686847FA5C86F47B94CE652B7B3F22A91C37617D451A4DB9AFA431450",
"familyName": "6654977D57DDDD3C0329CA741B109EF6CD6430BEDD00008AAD213DF25683D77F",
"regionCode": "PT",
"postalCode": "1229-076"
}
}
],
"userProperties": {
"customerType": "RETURNING"
}
}
}
Создайте тело запроса
Объедините пункт Destination
и Events
в теле запроса:
{
"destinations": [
{
"operatingAccount": {
"product": "GOOGLE_ADS",
"accountId": "OPERATING_ACCOUNT_ID"
},
"productDestinationId": "CONVERSION_ACTION_1_ID"
}
],
"encoding": "HEX",
"events": [
{
"adIdentifiers": {
"gclid": "GCLID_1"
},
"conversionValue": 1.99,
"currency": "USD",
"eventTimestamp": "2025-06-10T20:07:01Z",
"transactionId": "ABC798654321",
"eventSource": "WEB",
"userData": {
"userIdentifiers": [
{
"address": {
"givenName": "96D9632F363564CC3032521409CF22A852F2032EEC099ED5967C0D000CEC607A",
"familyName": "DB98D2607EFFFA28AFF66975868BF54C075ECA7157E35064DCE08E20B85B1081",
"regionCode": "US",
"postalCode": "94045"
}
}
]
},
"userProperties": {
"customerType": "NEW",
"customerValueBucket": "HIGH"
}
},
{
"adIdentifiers": {
"gclid": "GCLID_2"
},
"conversionValue": 3.25,
"currency": "EUR",
"eventTimestamp": "2025-06-11T04:42:33Z",
"transactionId": "DEF999911111",
"eventSource": "WEB",
"userData": {
"userIdentifiers": [
{
"emailAddress": "3E693CF7E5B67880BFF33B2D2626DADB7BF1D4BC737192E47CF8BAA89ACF2250"
},
{
"emailAddress": "223EBDA6F6889B1494551BA902D9D381DAF2F642BAE055888E96343D53E9F9C4"
},
{
"address": {
"givenName": "2752B88686847FA5C86F47B94CE652B7B3F22A91C37617D451A4DB9AFA431450",
"familyName": "6654977D57DDDD3C0329CA741B109EF6CD6430BEDD00008AAD213DF25683D77F",
"regionCode": "PT",
"postalCode": "1229-076"
}
}
]
},
"userProperties": {
"customerType": "RETURNING"
}
}
],
"validateOnly": true
}
- Обновите заполнители в теле, такие как
OPERATING_ACCOUNT_ID
иCONVERSION_ACTION_1_ID
, значениями для вашей учетной записи и назначения. - Установите
validateOnly
вtrue
, чтобы проверить запрос без применения изменений. Когда будете готовы применить изменения, установитеvalidateOnly
вfalse
. - Обратите внимание, что в этом примере шифрование не используется.
Отправить запрос
- Скопируйте тело запроса с помощью кнопки «Копировать» в правом верхнем углу образца.
- Нажмите кнопку API на панели инструментов.
- Вставьте скопированное тело запроса в поле Текст запроса .
- Нажмите кнопку «Выполнить» , заполните поля авторизации и просмотрите ответ.
Успешные ответы
Успешный запрос возвращает ответ с объектом, содержащим requestId
.
{
"requestId": "126365e1-16d0-4c81-9de9-f362711e250a"
}
Реакции на неудачи
Неудачный запрос приводит к появлению кода статуса ответа об ошибке, например 400 Bad Request
, и ответа с подробными сведениями об ошибке.
Например, адрес email_address
, содержащий обычную текстовую строку вместо шестнадцатеричного значения, дает следующий ответ:
{
"error": {
"code": 400,
"message": "There was a problem with the request.",
"status": "INVALID_ARGUMENT",
"details": [
{
"@type": "type.googleapis.com/google.rpc.ErrorInfo",
"reason": "INVALID_ARGUMENT",
"domain": "datamanager.googleapis.com"
},
{
"@type": "type.googleapis.com/google.rpc.BadRequest",
"fieldViolations": [
{
"field": "events.events[0].user_data.user_identifiers",
"description": "Email is not hex encoded.",
"reason": "INVALID_HEX_ENCODING"
}
]
}
]
}
}
Адрес email_address
, который не хеширован и представлен только в шестнадцатеричном формате, возвращает следующий ответ:
{
"error": {
"code": 400,
"message": "There was a problem with the request.",
"status": "INVALID_ARGUMENT",
"details": [
{
"@type": "type.googleapis.com/google.rpc.ErrorInfo",
"reason": "INVALID_ARGUMENT",
"domain": "datamanager.googleapis.com"
},
{
"@type": "type.googleapis.com/google.rpc.BadRequest",
"fieldViolations": [
{
"field": "events.events[0]",
"reason": "INVALID_SHA256_FORMAT"
}
]
}
]
}
}
Отправка событий по нескольким направлениям
Если ваши данные содержат события для разных пунктов назначения, вы можете отправить их в одном запросе, используя ссылки на пункты назначения.
Например, если у вас есть событие для действия-конверсии с идентификатором 123456789
и другое событие для действия-конверсии с идентификатором 777111122
, отправьте оба события в одном запросе, указав reference
для каждого Destination
. reference
определяется пользователем — единственное требование заключается в том, чтобы у каждого Destination
был уникальный reference
. Вот изменённый список destinations
для запроса:
"destinations": [
{
"operatingAccount": {
"product": "GOOGLE_ADS",
"accountId": "OPERATING_ACCOUNT_ID"
},
"productDestinationId": "123456789"
"reference": "conversion_action_1"
},
{
"operatingAccount": {
"product": "GOOGLE_ADS",
"accountId": "OPERATING_ACCOUNT_ID"
},
"productDestinationId": "777111122"
"reference": "conversion_action_2"
}
]
Настройте destination_references
каждого Event
, чтобы отправить его на один или несколько конкретных пунктов назначения. Например, вот Event
, которое предназначено только для первого Destination
, поэтому его список destination_references
содержит только reference
на первый Destination
:
{
"adIdentifiers": {
"gclid": "GCLID_1"
},
"conversionValue": 1.99,
"currency": "USD",
"eventTimestamp": "2025-06-10T20:07:01Z",
"transactionId": "ABC798654321",
"eventSource": "WEB",
"destinationReferences": [
"conversion_action_1"
]
}
Поле destination_references
представляет собой список, поэтому вы можете указать несколько пунктов назначения для события. Если вы не укажете destination_references
для Event
, API диспетчера данных отправит событие по всем пунктам назначения в запросе.
Следующие шаги
- Настройте аутентификацию и настройте свою среду с помощью клиентской библиотеки.
- Узнайте о требованиях к форматированию, хешированию и кодированию для каждого типа данных.
- Узнайте, как шифровать данные пользователя .
- Узнайте о передовом опыте .
- Узнайте о лимитах и квотах .