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

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

Обзор

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

О том, что такое событие в Google Analytics, читайте в нашем Справочном центре.

Реализация

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

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

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

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

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

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

Примеры

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

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

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

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

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

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

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 Analytics.