Проблема с выполнением trackPageview с помощью Google Analytics - PullRequest
0 голосов
/ 12 августа 2009

Я пытаюсь фиксировать клики по определенным ссылкам для скачивания и отслеживать их в 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? Я видел другие скрипты отслеживания, которые делают похожую вещь без отсрочки.

1 Ответ

0 голосов
/ 12 августа 2009

Попробуйте

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

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

Дайте мне знать, если это поможет

@ ctrentmarketing

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...