Event tracking vs pageview tracking

Традиционная аналитика считала просмотры страниц. Это давало мало информации о том, что именно делал пользователь на странице. Event tracking фиксирует конкретные действия внутри страницы — клики, скроллы, заполнение форм, взаимодействие с виджетами.

В GA4 каждый просмотр страницы сам является событием (page_view). Вся аналитика строится на событийной модели — это унификация двух подходов.

Структура события

Событие состоит из нескольких компонентов:

// Пример события в GA4 Enhanced Ecommerce
gtag('event', 'add_to_cart', {
  currency: 'RUB',
  value: 8990,
  items: [{
    item_id: 'SKU-12345',
    item_name: 'Кроссовки Nike Air Max',
    item_category: 'running-shoes',
    price: 8990,
    quantity: 1
  }]
});
Компонент Описание Пример
event_name Тип действия add_to_cart, purchase
parameters Контекстные данные item_id, price, category
user_id Идентификатор пользователя Авторизованный или анонимный
timestamp Время события Автоматически

Для персонализации: что важно передавать

Платформы персонализации используют события для обучения моделей. Чем богаче данные в событии, тем точнее модель:

  • item_id — обязателен; без него нельзя связать просмотр с конкретным товаром
  • item_category — критичен для affinity-профилей; пользователь интересуется «спортом», а не просто «товарами»
  • price и revenue — для RFM-сегментации и монетарных метрик
  • session_id — для связи событий в рамках одного визита

Важно: для платформ персонализации purchase-событие без item-атрибутов бесполезно. Система не сможет обновить профиль пользователя и скорректировать рекомендации, если не знает, что именно было куплено.

Типичные ошибки

  • Дублирование purchase-событий. Страница «Спасибо за заказ» перезагружается при обновлении — событие срабатывает дважды. Решение: дедупликация по order_id.
  • Потеря событий при SPA-навигации. Переход между страницами без перезагрузки не вызывает автоматический page_view. Требуется ручная отправка событий при изменении роута.
  • Трекинг без item_id. Событие «добавил в корзину» без идентификатора товара — шум вместо данных.