Код отслеживания событий для нескольких ссылок в одном баннере

У меня есть баннер на главной странице моего сайта, он имеет несколько ссылок, а html-код написан внутри тега и не содержит никаких якорных ссылок, вместо этого он имеет только ссылку href.

Мои ИТ-руководители говорят, что невозможно встроить код отслеживания событий onclick для отслеживания всех ссылок.

Пожалуйста, дайте мне знать, как я буду отслеживать это?


person Ashok Verma    schedule 11.04.2014    source источник


Ответы (2)


Чистое ненавязчивое решение на основе javascript (на основе примера Google, работает, но не обязательно самый полный или красивый код):

function addListener(element, type, callback) {
 if (element.addEventListener) element.addEventListener(type, callback);
 else if (element.attachEvent) element.attachEvent('on' + type, callback);
}

links = document.getElementsByTagName('a');
for(i=0,cnt=links.length;i<cnt;i++) {
    addListener(links[i], 'click', function() {
      ga('send', 'event', 'button', 'click', 'nav-buttons');
    });
}

Если вы поместите это во внешний файл js или встроенный скрипт, он «украсит» все ссылки на странице (вам понадобится более конкретный селектор вместо «всех ссылок») событием клика, которое запускает отслеживание событий Google, когда кто-то щелкает ссылка. Нет необходимости встраивать код клика в теги ссылок (в любом случае это плохая практика).

Если вы уже используете jQuery (поскольку это, вероятно, самая популярная библиотека javascript), вы можете просто сделать

$( "a" ).click(function() {
  ga('send', 'event', 'button', 'click', 'nav-buttons');
});

(опять же, выберите более конкретный селектор).

Оба примера предполагают Universal Analytics, для классической версии вам потребуется изменить код отслеживания событий (примеры см. в ответе DalmTos).

person Eike Pierstorff    schedule 11.04.2014

Следующие примеры будут зависеть от того, используете ли вы классическую универсальную аналитику VS.

Для Classic Analytics найдите ga.js в своем коде отслеживания:

<a href="#" onClick="_gaq.push(['_trackEvent', 'link', 'click', 'label']);">Play</a>

Для Universal Analytics найдите Analtyics.js в своем коде отслеживания:

<a href="#" onClick="_ga('send', 'event', 'link', 'click', 'label', 1);">Play</a>

Я не вижу причин, по которым вы не сможете отследить это в своем баннере.

person DaImTo    schedule 11.04.2014