Проблема с запуском trackPageview с помощью Google Analytics

Я пытаюсь фиксировать клики по определенным ссылкам для скачивания и отслеживать их в Google Analytics. Вот мой код

var links = document.getElementsByTagName("a");
for (var i = 0; i < links.length; i++) {
    linkpath = links[i].pathname;
    if( linkpath.match(/\.(pdf|xls|ppt|doc|zip|txt)$/) || links[i].href.indexOf("mode=pdf") >=0 ){
        //this matches our search
        addClickTracker(links[i]);
    }
}
function addClickTracker(obj){
    if (obj.addEventListener) {
        obj.addEventListener('click', track , true);
    } else if (obj.attachEvent) {
        obj.attachEvent("on" + 'click', track);
    }
}
function track(e){
    linkhref = (e.srcElement) ? e.srcElement.pathname : this.pathname;
    pageTracker._trackPageview(linkhref);

 }

Все, вплоть до вызова pageTracker._trackPageview (), работает. В моей отладке linkhref отлично передается как строка. Никаких аномальных персонажей, ничего. Проблема в том, что, наблюдая за моими http-запросами, Google никогда не выполняет второй вызов отслеживающего gif (как это происходит, если вы вызываете эту функцию в свойстве onclick). Вызов трекера с моей консоли JS также работает должным образом. Это только у моего слушателя.

Может быть, мой слушатель не откладывает действие по умолчанию (загрузку новой страницы) до того, как у него появится возможность связаться с серверами Google? Я видел другие скрипты отслеживания, которые делают то же самое без каких-либо задержек.


person dmrnj    schedule 11.08.2009    source источник


Ответы (1)


Пытаться

pageTracker._trackPageview ('/ pagex / downloadlink.html')

Кроме того, просто для удовольствия убедитесь, что код GA загружается первым перед этим скриптом. Иногда GA бывает разборчивой и странной.

Сообщите мне, если это поможет

@ctrentmarketing

person Community    schedule 12.08.2009
comment
Да, я пробовал отслеживать статический путь, как вы предложили, но это тоже не сработало. Однозначно убедился, что GA загружается раньше этого скрипта, а не игральных костей. - person dmrnj; 12.08.2009
comment
Я чувствую, что должен обновить этот вопрос, так как прошло почти год, и я сталкивался с этой проблемой много раз. Мой объект _pageTracker использовал _setDomainName (), но я пробовал этот код локально. Когда домен конфликтует, JS отслеживания явно загружается, но пиксель отслеживания никогда не вызывается. - person dmrnj; 21.07.2010