Этот документ предназначен для разработчиков, которые хотят отслеживать просмотры страниц в одностраничном приложении с помощью Google Аналитики.
Одностраничные приложения (SPA) – это сайты, которые загружают HTML-документ один раз и получают дополнительный контент с помощью API JavaScript.
Предположим, у вас есть форма для сбора потенциальных клиентов. Форма состоит из трех экранов: > * Первый экран для сбора информации о клиенте. * Второй экран, на котором клиенты могут указать, какие услуги им интересны. * Третий экран – страница регистрации на вебинары, связанные с интересами клиента.
Чтобы правильно отслеживать просмотры страниц в одностраничных приложениях, нужно учитывать просмотры каждой страницы, с которой взаимодействует пользователь, и правильно определять реферер, чтобы отслеживать путь пользователя.
Подготовка
В этой статье подразумевается, что у вас уже есть:
Аккаунт и ресурс Google Аналитики для вашего сайта. Подробнее о том, как настроить Google Аналитику…
Тег Google, добавленный на ваш сайт и срабатывающий при первой загрузке страницы. Подробнее о том, как настроить тег Google…
Как реализовать отслеживание одностраничных приложений
Чтобы реализовать точное отслеживание одностраничных приложений, используйте один из следующих способов для запуска нового виртуального просмотра страницы:
Изменения в истории браузера (рекомендуется). Если ваше одностраничное приложение использует History API, в частности методы
pushState()иreplaceState()для обновления экранов, выберите этот вариант.Специальные события. Если на вашем сайте для отрисовки разных экранов используется объект
DocumentFragment, выберите этот вариант.
Как реализовать изменение истории браузера
Если в вашем одностраничном приложении используется History API, вы можете включить улучшенную статистику в Google Аналитике, чтобы автоматически отслеживать просмотры страниц на основе событий истории браузера.
Как включить улучшенную статистику в Google Аналитике
Чтобы отслеживать page_views автоматически на основе истории браузера:
Откройте Google Аналитику.
Откройте страницу Администратор и в разделе Сбор и редактирование данных выберите Потоки данных > Сайт.
В разделе Улучшенная статистика установите переключатель в положение Вкл, чтобы активировать все функции.
Нажмите, чтобы изменить отдельные параметры. В разделе Просмотры страниц нажмите Показать расширенные настройки. Включите Загрузки страниц и Изменения состояния страницы в истории браузера.
Сохраните изменения.
Как проверить настройки отслеживания
Чтобы убедиться, что одностраничное приложение правильно регистрирует просмотры страниц:
Включите режим отладки для каждого тега в настройках отслеживания одностраничного приложения. Узнайте, как отслеживать события в DebugView.
Перейдите на одностраничное приложение. Когда вы переходите на новый виртуальный экран, в DebugView должно появиться новое событие
page_view. Сравните параметры событияpage_viewс параметрами предыдущего событияpage_view, чтобы проверить, правильно ли обновлены реферер страницы и ее местоположение.
Дополнительные рекомендации для одностраничных приложений
Помимо отправки событий page_view, для надежной интеграции одностраничного приложения с Google Аналитикой и улучшения пользовательского опыта необходимо учитывать следующие аспекты:
Как управлять положением прокрутки
Когда пользователь переходит между представлениями в одностраничном приложении, браузер обычно сохраняет текущую позицию прокрутки. Это может привести к тому, что пользователи не будут видеть верхнюю часть новой виртуальной страницы, а также повлиять на отслеживание глубины прокрутки.
Рекомендация. После каждого перехода на виртуальную страницу программно сбрасывайте положение прокрутки на верхнюю часть страницы или контейнера основного контента.
// Example: Reset window scroll position on a route change in your SPA
window.scrollTo(0, 0);
// Or, if your content is within a specific element:
// document.getElementById('main-content').scrollTo(0, 0);
После этого изменения пользователи будут переходить к началу нового контента, что позволит Google Аналитике точно измерять вовлеченность на новой виртуальной странице с помощью отслеживания прокрутки.
Как обеспечить доступность контента для функций браузера
Если пользователи сообщают о проблемах с функциями браузера, например с поиском по странице (Ctrl+F), после загрузки страницы, это может указывать на то, как ваше одностраничное приложение обновляет DOM.
Рекомендация. Убедитесь, что фреймворк SPA и логика маршрутизации полностью и синхронно обновляют соответствующие части DOM контентом новой страницы. Контент, который отображается с задержкой или скрыт от основного дерева DOM, может быть недоступен для индексирования поисковой функцией браузера. Проверьте поиск по странице после виртуальных переходов, чтобы убедиться в доступности контента.
Влияние на автоматические события
Если вы правильно настроите отслеживание виртуальных просмотров страниц в одностраничном приложении, Google Аналитика будет корректно обрабатывать другие автоматические события. Если виртуальные просмотры страниц не регистрируются при смене экрана, Google Аналитика воспринимает одностраничное приложение как одну страницу, что приводит к искажению показателей.
Например, событие user_engagement позволяет отслеживать время, в течение которого пользователь активно взаимодействует со страницей. Без виртуальных просмотров страниц все время взаимодействия будет отнесено к первоначальной загрузке страницы, и вы не сможете анализировать время, проведенное на отдельных экранах.
Если отслеживание просмотров страниц настроено правильно:
- Событие
user_engagementотправляется, когда пользователь переходит с одной виртуальной страницы на другую. - Время взаимодействия для предыдущей виртуальной страницы рассчитывается и отправляется вместе с событием
user_engagement, как правило, непосредственно перед обработкой событияpage_viewдля новой виртуальной страницы. - Другие события, например клики или прокрутка, связаны с
page_locationвиртуальной страницы, которую просматривает пользователь.
Это позволяет анализировать вовлеченность пользователей и другие показатели для отдельных экранов или разделов одностраничного приложения, чтобы точнее понимать путь пользователя.