2014-06-02 4 views
0

Есть ли альтернатива использованию события onclick в Google Analytics?Отслеживание событий Google Analytics с использованием javascript

onclick="_gaq.push(['_trackEvent', 'category', 'action', 'opt_label', opt_value]);"> 

У меня есть сайт с большим количеством ссылок, которые я хочу отслеживать. Тем не менее, я не хочу идти и добавлять это ко всем ссылкам, которые у меня есть. Я сделал некоторые исследования, но, похоже, не нашел что-то, что работает лучше. Какие-либо предложения?

ответ

1

Вы можете получить все якоря и прикрепить событие onclick, которое вызовет функцию трекера. Что-то вроде этого:

var links = document.getElementsByTagName('a'); 
    for (var i = 0; i < links.length; ++i) { 
    links[i].addEventListener('click', fireAnalyticsEvent, false); 
    } 
    function fireAnalyticsEvent(ev) { 
    _gaq.push(['_trackEvent', 'category', 'action', 'opt_label', ev.srcElement.getAttribute('href')]); 
    } 

Однако, имейте в виду, что по мере исходящих ссылок, которые открываются в той же вкладке, заинтересованной, GA не является надежным: запрос на аналитику может быть отрезан, когда страница переходит к новый URL. Если это то, что вы пытаетесь отследить, вам придется использовать систему перенаправления на стороне сервера для отслеживания кликов (что-то вроде python/php/вашего fave-сервера, который получит URL-адрес в качестве параметра, выполнит логику отслеживания , а затем верните 302 заголовка переадресации, чтобы клиент перешел к URL-адресу, который он получил в качестве ввода).

0

Вы можете альтернативно решить вашу проблему, сделав php «kicker/redirect» -страницу, которая примет параметр url, и если вы добавите стандартную GA на эту страницу, она будет отслеживать параметр прямо там. javascript и получить параметр запроса и отслеживать как «событие», если хотите.

Edit: Таким образом, вы должны были бы переписать ваши ссылки, или использовать JQuery для манипулирования URL во время выполнения: http://techpad.co.uk/content.php?sid=103

-

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

Смежные вопросы