В настоящее время на моем веб-сайте я использовал HTML5 pushState()
и popState
в ссылках для увеличения скорости. Однако это действительно не изменяет реальный URL-адрес, и похоже, что это повлияет и испортит код Google Analytics. (не отображается изменение URL-адреса) Есть ли возможное решение для этого? Спасибо,
Google Analytics: как отслеживать страницы в одном приложении?
Ответ 1
Если вы используете новый API analytics.js
, документация Google требует следующий код для запуска события:
ga('send', 'pageview', '/some-page');
Если вы используете старый ga.js
API, Дэвид Уолш предлагает веб-сайты AJAX использовать метод _gaq.push
:
_gaq.push(['_trackPageview', '/some-page']);
Ответ 2
Я знаю этот старый вопрос, но поскольку этот вопрос является первым результатом в Google о отслеживании pushState() в Google Analytics, и все ответы неверны, я решил ответить на него.
В других ответах, которые они упомянули, непосредственно использовать ga ('send'.....), но это неправильный способ сделать это.
Сначала вам нужно "установить" параметры, а затем использовать "отправить" для его отслеживания.
Если вы хотите обновить только URL-адрес, используйте следующий код
// set new url
ga('set', 'page', '/new-page');
// send it for tracking
ga('send', 'pageview');
Ответ 3
Недавний ответ (2017)
Теперь вы можете использовать Google autotrack.js
, script, который увеличивает analytics.js
.
Он включает плагин, в котором автоматически отслеживает изменения URL для приложений с одной страницей.
Вам просто нужно включить script и следующую строку в свой html:
ga('require', 'urlChangeTracker');
Ответ 4
На момент написания здесь, в сентябре 2013 года,
В Google Analytics появился новый JavaScript API.
После того, как вы включили асинхронный снипп нового "analytics.js" Google, используйте команду send pageview для отслеживания страниц:
ga('send','pageview');
После безумства pushState используйте эту команду sendview для отслеживания асинхронной навигации. Согласно Документация Google по отслеживанию страниц с помощью Analytics.js, команда send pageview будет волшебным образом читать и отслеживать новое местоположение, заданное pushState,, как оно есть, в момент вызова команды send pageview использует по умолчанию следующие значения (хотя вы можете указать их):
var locationToTrack = window.location.protocol+'//'
+window.location.hostname
+window.location.pathname
+window.location.search;
var titleToTrack = document.title;
var pathToTrack = location.pathname+location.search;
Примечание. В стандартном аналитическом фрагменте Google включена первая команда отправки страницы.
Обновление:
Я выполнил отслеживание Google Analytics на своем веб-сайте, как описано выше, однако, похоже, он не отслеживает какие-либо из просмотров страницы pushState.
Я попытаюсь правильно указать имя местоположения, заголовка и страницы в команде send pageview и посмотреть, правильно ли отслеживается GA.
Я отправлю назад результаты, если не забуду.
Ответ 5
У меня также были проблемы с ga ('send', 'pageview');, после использования history.pushState.
Обходной путь - это просто сделать URL явным. га ( 'отправить', '' просмотр страницы "/My-URL)