Отправка событий

Вы можете изучить это краткое руководство, чтобы ознакомиться с отправкой данных о событиях.

Данные о событиях — это дополнительный источник данных для конверсий ваших тегов, позволяющий максимизировать сигналы взаимодействия с рекламой, а также улучшить ваши данные и общую эффективность.

Выберите версию руководства, которую вы хотите увидеть:

В этом кратком руководстве вы выполните следующие шаги:

  1. Подготовьте Destination для получения данных о событиях.
  2. Подготовьте данные о событиях для отправки.
  3. Создайте запрос IngestionService для событий.
  4. Отправьте запрос с помощью Google APIs Explorer.
  5. Понимание успешных и неудачных реакций.

Подготовьте пункт назначения

Прежде чем отправлять данные, вам необходимо подготовить место назначения для отправки данных. Вот пример Destination , которое вы можете использовать:

    {
      "operatingAccount": {
        "product": "GOOGLE_ADS",
        "accountId": "OPERATING_ACCOUNT_ID"
      },

      "productDestinationId": "CONVERSION_ACTION_1_ID"
    }
  • Установите accountId для operatingAccount на идентификатор аккаунта Google Ads, который будет получать данные о событиях. product operatingAccount должен быть GOOGLE_ADS .
  • Установите productDestinationId на идентификатор действия конверсии для событий. Действие конверсии должно быть действием конверсии Google Ads с type , установленным на WEBPAGE .

    В этом руководстве показано, как создать запрос, который отправляет каждое событие в одно и то же действие конверсии. Если вы хотите отправлять события для нескольких действий конверсии в одном запросе, см. раздел несколько назначений .

Подготовка данных о событиях

Рассмотрим следующие данные о событиях. Каждая таблица соответствует одному событию конверсии. Каждое событие конверсии имеет временную метку события, его действие конверсии и ценность конверсии.

Каждое событие может иметь идентификаторы рекламы, например 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

Вот данные второго события:

Событие №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

zoe@EXAMPLE.COM

cloudy.sanfrancisco@gmail.com

given_name zoë
family_name pérez
region_code PT
postal_code 1229-076

Форматировать данные

Отформатируйте поля в соответствии с указаниями в руководстве по форматированию . Вот данные первого события после форматирования:

Событие №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

Вот данные второго события после форматирования:

Событие №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

zoe@example.com

cloudysanfrancisco@gmail.com

given_name zoë
family_name pérez
region_code PT
postal_code 1229-076

Хэшировать и кодировать данные

Кроме того, отформатированные адреса электронной почты, имена и фамилии должны быть хешированы с использованием алгоритма 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

Вот данные второго события после форматирования, хеширования и кодирования с использованием шестнадцатеричного кодирования:

Событие №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

3E693CF7E5B67880BFF33B2D2626DADB7BF1D4BC737192E47CF8BAA89ACF2250

223EBDA6F6889B1494551BA902D9D381DAF2F642BAE055888E96343D53E9F9C4

given_name 2752B88686847FA5C86F47B94CE652B7B3F22A91C37617D451A4DB9AFA431450
family_name 6654977D57DDDD3C0329CA741B109EF6CD6430BEDD00008AAD213DF25683D77F
region_code PT
postal_code 1229-076

Преобразовать данные в 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"
            }
         }
      ]
   }
}

Создайте тело запроса

Объедините пункт 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"
             }
           }
         ]
       }
     },
     {
       "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"
             }
           }
         ]
       }
     }
  ],
  "validateOnly": true
}
  1. Обновите заполнители в тексте, такие как OPERATING_ACCOUNT_ID и CONVERSION_ACTION_1_ID , значениями для вашей учетной записи и назначения.
  2. Установите validateOnly на true , чтобы проверить запрос без применения изменений. Когда вы будете готовы применить изменения, установите validateOnly на false .
  3. Обратите внимание, что этот запрос не использует шифрование.

Отправить запрос

  1. Скопируйте текст запроса с помощью кнопки «Копировать» в правом верхнем углу образца.
  2. Перейдите на страницу events.ingest .
  3. Нажмите кнопку API справа, затем кнопку Попробовать! в развернутом разделе.
  4. Вставьте скопированное тело запроса в поле «Тело запроса» .
  5. Нажмите кнопку «Выполнить» , заполните поля авторизации и просмотрите ответ.

Успешные ответы

Успешный запрос возвращает ответ с объектом, содержащим 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 Data Manager отправит событие во все пункты назначения в запросе.

Следующие шаги