Отслеживание просмотров страниц позволяет узнавать, сколько просмотров получают определенные страницы вашего сайта. Как правило, каждая страница сайта представляет собой отдельный документ 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, рассказывается в нашем руководстве по отслеживанию одностраничных приложений.