Я собрал несколько идей, которые я нашел в Интернете, относительно отслеживания расстояния прокрутки на длинных страницах статей в Google Analytics.Я заинтересован в регистрации события, когда пользователь достигает отметки на полпути в статье, а затем снова в конечной точке.Мой код еще не совершенен, так как он не учитывает время на странице (что если пользователь прокручивает страницу до конца, как только страница загружается?), Но эту проблему легко исправить, как только я решу эту проблему.
С кодом ниже два вызова console.log()
отслеживаются именно тогда, когда они должны быть, поэтому я предположил, что вызовы _trackEvent также будут работать, но это не так.Ошибка не выдается.Они просто никогда не появляются в Google Analytics.
Кто-нибудь может увидеть какие-либо явные ошибки или дыры?Вот сайт, где я использую этот код: http://www.adlucent.com/blog/
$(document).ready(function() {
if ($(document.body).hasClass('single')) {
var doc_height = $(document).height(),
article_pos = $('#main > article').offset(),
article_height = $('#main > article').height(),
article_half = (article_height/2) + article_pos.top,
article_bottom = article_height + article_pos.top,
scrolled_half = Math.round(100 * article_half / doc_height),
scrolled_whole = Math.round(100 * article_bottom / doc_height);
$(window).scroll(function(){
var scrollPercent = GetScrollPercent();
if (!isScrolledHalf) {
if (scrollPercent > scrolled_half) {
isScrolledHalf = true;
console.log("Reached halfway mark!");
_gaq.push(['_trackEvent', 'Content Engagement', 'Scroll', 'Half']);
}
}
if (!isScrolledWhole) {
if (scrollPercent > scrolled_whole) {
isScrolledWhole = true;
console.log("Reached the end!");
_gaq.push(['_trackEvent', 'Content Engagement', 'Scroll', 'End']);
}
}
});
}
});
function GetScrollPercent(target){
var bottom = $(window).height() + $(window).scrollTop(),
height = $(document).height();
return Math.round(100 * bottom / height);
}