Обновление: нужно убедиться, что скрипт не кэширует события, поиск пока не очень успешен.
Я использую приведенный ниже скрипт для отслеживания просмотров виртуальных страниц в GA, у сайта очень длинная домашняя страница, на которой мы это отслеживаем. Проблема, с которой я сталкиваюсь, заключается в том, что, как только пользователь прокручивает вниз до нижнего раздела, он не регистрируется как новый просмотр страницы, если он прокручивает обратно вверх (что делает его максимум 1 просмотром на странице). Любая помощь в этом будет принята с благодарностью. Я использую jQuery, и приведенный ниже скрипт отправляет/отслеживает.
Этот скрипт является дополнением к коду Universal Analytics, реализуемому непосредственно перед тегом. Первый код ниже — это обычный код Analytics, который необходим для правильного запуска отладчика, поскольку именно здесь определяется учетная запись. Второй скрипт - это тот, с которым у меня возникла проблема.
Обычный скрипт UA (находится в тегах head):
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-123456-1', 'auto');
ga('require', 'displayfeatures');
ga('send', 'pageview');
</script>
Скрипт для прокрутки просмотров виртуальных страниц:
<script language="javascript">
// Predefined variable
Frequency = 10;
//Tracking and Sending
_frequency = Frequency;
_repetition = 100 / Frequency;
var _scrollMatrix = new Array();
for (ix = 0; ix < _repetition; ix++) {
_scrollMatrix[ix] = [_frequency, 'false'];
_frequency = Frequency + _frequency;
}
$(document).scroll(function (e) {
for (iz = 0; iz < _scrollMatrix.length; iz++) {
if (($(window).scrollTop() + $(window).height() >= $(document).height()
* _scrollMatrix[iz][0] / 100) && (_scrollMatrix[iz][1]== 'false')) {
_scrollMatrix[iz][1] = 'true';
ga('send', 'pageview', _scrollMatrix[iz][0]+'%' );
}
}
});
</script>