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

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

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

Обзор

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

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

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

Реализация

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

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

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

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

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

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

Примеры

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

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

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

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

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

В некоторых случаях URL, который нужно отправить в Google Analytics, может отличаться от адреса страницы, отображаемого в браузере. Допустим, что на сайте есть разделы, где пользователи должны выполнить вход или могут просмотреть и изменить свои персональные данные. Если личная информация, сведения об аккаунте и настройки оповещений размещены на разных страницах, их 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. При этом отображение всего содержания раздела не является обязательным. Такие сайты называются Single Page Application (SPA).

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