Отслеживание событий

Из этого руководства вы узнаете, как отслеживать события с помощью analytics.js.

Обзор

Событие – это взаимодействие пользователя с контентом, которое можно отследить независимо от загрузки страниц или экранов. Это понятие включает в себя скачивания, клики по мобильным объявлениям, использование гаджетов, элементов Flash и AJAX, воспроизведение видео и т. д.

Подробная информация о событиях приведена в Справочном центре Google Аналитики.

Реализация

Информацию о событиях можно отправлять с помощью команды send, указывая для параметра hitType значение event. Команда send с типом обращения event имеет следующую сигнатуру:

ga('send', 'event', [eventCategory], [eventAction], [eventLabel], [eventValue], [fieldsObject]);

Поля типа обращения event

Поля этого типа обращения приводятся в таблице ниже.

Имя поля Тип значения Обязательное поле Описание
eventCategory Текст Да Обычно это объект, с которым взаимодействовал пользователь (например, 'Video').
eventAction Текст Да Тип взаимодействия (например, 'play').
eventLabel Текст Нет Поле, в котором можно указывать категорию события (например, 'Fall Campaign').
eventValue Целое число Нет Численное значение, связанное с событием (например, 42)

Подробная информация об этих полях приведена в статье Компоненты событий Справочного центра Google Аналитики.

Примеры

Приведенная ниже команда отправляет событие в Google Аналитику и сообщает о том, что был показан рекламный ролик из кампании Fall Campaign.

ga('send', 'event', 'Videos', 'play', 'Fall Campaign');

Обратите внимание, что значения вспомогательных параметров также можно передать с помощью объекта fieldsObject, как и для остальных команд send. Указанную выше команду можно записать следующим образом:

ga('send', {
  hitType: 'event',
  eventCategory: 'Videos',
  eventAction: 'play',
  eventLabel: 'Fall Campaign'
});

Когда пользователь переходит по ссылке на другую страницу вашего сайта, эта страница обычно отправляет обращение pageview. Поскольку такие обращения при навигации по сайту отправляются последовательно, Google Аналитика может отслеживать откуда и куда перешел пользователь. Однако если посетитель перешел по ссылке или отправил форму на внешний домен, такое действие нельзя отследить, если вы явным образом не сообщите Google Аналитике, что произошло.

Для отслеживания переходов по исходящим ссылкам и отправок сторонних форм можно указывать целевой URL в одном из полей события. Данные о переходах по исходящим ссылкам и об отправке сторонних форм можно отправлять в Google Аналитику при помощи следующей функции обработки событий:

function handleOutboundLinkClicks(event) {
  ga('send', 'event', {
    eventCategory: 'Outbound Link',
    eventAction: 'click',
    eventLabel: event.target.href
  });
}

Отслеживание исходящих ссылок и внешних форм осложняется тем, что большинство браузеров прекращают выполнение JavaScript на текущей странице, если начинается загрузка новой страницы. Одно из возможных решений этой проблемы – присвоить полю transport значение beacon:

function handleOutboundLinkClicks(event) {
  ga('send', 'event', {
    eventCategory: 'Outbound Link',
    eventAction: 'click',
    eventLabel: event.target.href,
    transport: 'beacon'
  });
}

Если же браузер не поддерживает такой метод, переход на следующую страницу нужно отложить, пока не закончится отправка данных о событии. О том, как определить момент отправки обращения, читайте в нашем руководстве.

События без взаимодействия

В некоторых случаях бывает необходимо отправить событие без взаимодействия. Для этого в объекте fieldsObject команды send присвойте полю nonInteraction значение true:

ga('send', 'event', 'Videos', 'play', 'Fall Campaign', {
  nonInteraction: true
});

Подробнее о событиях без взаимодействий читайте в Справочном центре Google Аналитики.