Просмотры страниц

Отслеживание просмотров страниц позволяет узнавать, сколько просмотров получают определенные страницы вашего сайта. Как правило, каждая страница сайта представляет собой отдельный документ HTML, но страницей можно считать и динамически загружаемый контент. В этом случае учитываются события "действие на странице".

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

Обзор

Тег JavaScript содержит команду, создающую объект отслеживания, и команду для отправки данных о просмотре страницы в Google Аналитику. При создании объекта отслеживания задаются значения нескольких полей (в зависимости от контекста). Полю title задается значение свойства document.title, а полю location – значение свойства document.location без якоря URL.

Когда выполняется команда send, значения полей title и location, содержащиеся в объекте отслеживания, передаются в Google Аналитику, где используются при создании отчетов о посещении страниц пользователями.

В объекте отслеживания по умолчанию не задается значение поля page, но если вы укажете его вручную, оно будет использоваться в отчетах для указания пути к странице, переопределяя значения поля location.

Реализация

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

ga('send', 'pageview', [page], [fieldsObject]);

Поля с информацией об обращении pageview

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

Название поля Тип значения Обязательное поле Описание
title Текст Нет Заголовок страницы. Пример: homepage (главная страница).
location Текст Нет* URL страницы.
page Текст Нет* Часть URL, в которой содержится путь. Это значение должно начинаться с символа косой черты (/).

*Поля page и location являются необязательными, но должно быть указано хотя бы одно из них. Иначе обращение будет недействительным.

Примеры:

Приведенная ниже команда отправляет обращение типа pageview в Google Аналитику и содержит путь к текущей странице.

ga('send', 'pageview', location.pathname);

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

ga('send', {
  hitType: 'pageview',
  page: location.pathname
});

Изменение URL страниц

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

  • /user/USER_ID/profile
  • /user/USER_ID/account
  • /user/USER_ID/notifications

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

Для решения этой проблемы вы можете указать значение page, удалив идентификатор пользователя:

// Checks to see if the current user's userID is
// found in the URL, if it is, remove it.
// (Note, this assume the user ID is stored
// in a variable called `userID`)

if (document.location.pathname.indexOf('user/' + userID) > -1) {
  var page = document.location.pathname.replace('user/' + userID, 'user');
  ga('send', 'pageview', page);
}

Таким образом, будут отправлены следующие значения поля page для всех пользователей:

  • /user/profile
  • /user/account
  • /user/notifications

Если текущая страница отправляет другие обращения (например, события), необходимо обеспечить правильность URL в каждом из них. Это означает, что поле page следует обновлять в объекте отслеживания, а не передавать его в команде send.

Если оно будет задано в объекте отслеживания, то новое значение поля page будет использоваться во всех последующих обращениях:

if (document.location.pathname.indexOf('user/' + userID) > -1) {
  var page = document.location.pathname.replace('user/' + userID, 'user');

  // Sets the page value on the tracker.
  ga('set', 'page', page);

  // Sending the pageview no longer requires passing the page
  // value since it's now stored on the tracker object.
  ga('send', 'pageview');
}

Отслеживание действий на странице

Многие сайты выполняют динамическую загрузку контента с помощью AJAX. При этом отображение всего содержания раздела не является обязательным. Такие сайты называются одностраничными приложениями.

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