Днес ми трябваше да проверя на къде е насочен изходящия трафик на един сайт, който се track-ва с добрия стар Google Analytics … само за да разбера, че това не се прави автоматично … по една или друга причина.
Ако се разтърсите из Интернет, ще намерите няколко различни метода по, които може да се прескочи тази малка пречка. Дори в Knowledge Base-а на Google има описано решение на този проблем. За съжаление, обаче решението на Google изисква да промените линковете в целия сайт. Ако използвате CMS, който позволява това … не е проблем, дори е елементарно. Проблема идва, когато, като мен трябва да промените нещо от типа на phpBB3 … където не е толкова лесно … нещата се променят драстично.
За моя радост, попаднах на малко решение, което изисква jQuery. Не навлизам в подробности нито какво е Google Analytics, нито jQuery – ако сте стигнали до тук, то предполагам, че имате някаква обща идея кое какво е.
Каква е идеята на скрипта?
jQuery разполага с голям набор selector-и и action hook. Селектора прихваща всяко действие натискането на бутона на мишката (но не click, защото click event-а изисква намеса в самата структура на a тага и промяна на поведението на връзката), което кара скрипта да изпълни действие. Самият скрипт е елементарен:
$(function() {$('a:not([href*="' + document.domain + '"])').mousedown(function(event){ // Just in case, be safe and don't do anything if (typeof _gat == 'undefined') { return; }var link = $(this); var href = link.attr('href'); //console.log(href); if (href.charAt(0) != '.' && href.charAt(0) != '#' && href.charAt(0) != '/') { var noProtocol = href.replace(/http[s]?:\/\//, ''); //console.log("outbound"); // Track the event _gat._getTrackerByName()._trackEvent('Outbound Links', noProtocol); } });});
$(‘a:not([href*=“‘ + document.domain + ‘“])’).mousedown( делегира на всеки линк (а таг), на който домейна е различен от настоящия, действие. В този случай скрипта, който следва.
А самият скрипт извиква нов track event от ga.js. Track event-a приема два параметъра – Наименование (Outbound Links) и връзка.
По принцип оригиналния скрипт е взет от тук. Както ще видите съм добавил малката промяна за проверка на релтивни адреси.
Единственото условие на този скрипт е да бъде зареден след зареждане на jQuery. Изисква и версия по-голяма от 1.7.
Предполагам, че скрипта може да бъде коригиран според API спецификацията на jQuery и да използва .on(‘mousedown’, function(){}); но това ще изисква някаква малка промяна, с която в момента не ми се знимава.
Самите Outbound Links, можете да проверявате в Content -> Events.
Надявам се това да помогне на всички, които искат следят на къде ходят потребителите от техния сайт с Google Analytics.
Ваш,
Lucifer
Вашият коментар