Как отправлять события Measurement Protocol в Google Аналитику

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

Выберите нужную платформу:

Формат запроса

Measurement Protocol для Google Аналитики 4 поддерживает только HTTP-запросы POST.

Для отправки события используйте следующий формат:

POST /mp/collect HTTP/1.1
HOST: www.google-analytics.com
Content-Type: application/json
<payload_data>

В URL запроса должны быть следующие данные:

  • api_secret: Секретный ключ API, созданный в интерфейсе Google Аналитики.

    Чтобы создать новый секретный ключ, откройте Google Аналитику и выберите Администратор > Потоки данных > [нужный поток] > Measurement Protocol > Создать.

  • measurement_id: идентификатор потока данных. Чтобы найти его, откройте Google Аналитику и выберите Администратор > Потоки данных > [нужный поток] > Идентификатор потока данных.

    measurement_id – это не идентификатор потока.

Подробнее о параметрах запросов

В теле запроса должны быть следующие данные:

  • client_id: уникальный идентификатор клиента. Не путайте это значение с идентификатором экземпляра приложения в Firebase app_instance_id. Используйте gtag.js('get').

  {
   "client_id": "123456.7654321",
   "events": [
     {
        "name": "campaign_details",
        "params": {
          "campaign_id": "google_1234",
          "campaign": "Summer_fun",
          "source": "google",
          "medium": "cpc",
          "term": "summer+travel",
          "content": "logolink",
          "session_id": "123",
          "engagement_time_msec": "100"
        }
     }
   ]
  }

session_start является зарезервированным названием события, однако при создании идентификатора session_id будет начат новый сеанс без необходимости отправлять session_start. Подробнее о том, как выполняется подсчет сеансов

Демонстрация

Вот пример того, как можно отправить событие tutorial_begin на сервер Google Аналитики:

const measurement_id = `G-XXXXXXXXXX`;
const api_secret = `<secret_value>`;

fetch(`https://www.google-analytics.com/mp/collect?measurement_id=${measurement_id}&api_secret=${api_secret}`, {
  method: "POST",
  body: JSON.stringify({
    client_id: 'XXXXXXXXXX.YYYYYYYYYY',
    events: [{
      name: 'tutorial_begin',
      params: {},
    }]
  })
});

Ограничения

При отправке событий Measurement Protocol в Google Аналитику действуют следующие ограничения:

  • Один запрос может содержать не больше 25 событий.
  • Одно событие может содержать не больше 25 параметров.
  • Одно событие может содержать не больше 25 свойств пользователей.
  • Название свойства пользователя может содержать не больше 24 символов.
  • Значение свойства пользователя может содержать не больше 36 символов.
  • Название события может содержать не больше 40 символов (буквы, цифры, знаки подчеркивания) и должно начинаться с буквы.
  • Название параметра может содержать не больше 40 символов (буквы, цифры, знаки подчеркивания) и должно начинаться с буквы. Это касается и параметров объектов.
  • Значение параметра может содержать не больше 100 символов. Это касается и параметров объектов.
  • В параметрах объектов можно использовать не больше 10 специальных параметров.
  • Размер тела запроса POST должен быть менее 130 КБ.
  • Атрибуция событий Measurement Protocol на уровне события поддерживается в течение 63 дней после самого недавнего добавления тегов для онлайн-события при экспорте конверсий в Google Рекламу и другие рекламные решения, даже если период учета конверсий составляет больше 63 дней. При этом атрибуция на уровне события для добавления тегов онлайн-событий поддерживается на протяжении всего периода учета конверсий.
  • Для ремаркетинга можно объединять события Measurement Protocol в течение указанного ниже периода после самого недавнего онлайн-события, с которым связан файл cookie или идентификатор устройства:
    • поток сайта – 30 дней;
    • поток приложения – 42 дня.
  • События в приложениях, отправляемые Measurement Protocol в Google Аналитику 4, не используются для добавления пользователей приложения в поисковые аудитории Google Рекламы.