Для анализа посещаемости веб-ресурса и оценки эффективности кампаний по обмену траффиком не лишним является наличие статистики кликов по внешним ссылкам.
Стандартные средства Google Analytics позволяют реализовать подобный подсчет с помощью функции _trackPageview. Однако этот способ не лишен недостатков: во-первых, вызов этой функции происходит с помощью события Onclick, которое необходимо отразить в аттрибутах тегов всех ссылок, которые содержатся на вашей веб-странице, т.е.
<a onclick=”javascript: pageTracker._trackPageview(’/external/example.com’);” href=”http://www.example.com”></a>
Во-вторых, Google рекомендует вызывать указанную функцию _trackPageview после кода, который инициализирует библиотеку ga.js, т.е.
<script type=”text/javascript”><!–
var gaJsHost = ((”https:” == document.location.protocol) ? “https://ssl.” : “http://www.”);
document.write(unescape(”%3Cscript src=’” + gaJsHost + “google-analytics.com/ga.js’ type=’text/javascript’%3E%3C/script%3E”));
</script>
<script type=”text/javascript”><!–
var pageTracker = _gat._getTracker(”UA-xxxxxx-x”);
pageTracker._trackPageview();
</script>
что не совсем приемлемо для крупных проектов по причинам безопасности (подключение и вызов библиотек и скриптов, расположенных на других серверах, лучше производить ближе к закрывающему тегу , чтобы свести к минимуму риск недогрузившихся страниц).
Одним из вариантов решений является следующее (на примере реализации связки Jquery + Google Analytics для блога go2alex.com):
1. Скачать последнюю версию библиотеки http://jquery.com/ и подключить ее между открывающим и закрывающим тегом <head> сайта:
<script src=”jquery-1.2.6.js” type=”text/javascript”></script>
2. В source коде страницы обновить код google analytics:
<script type=”text/javascript”><!–
var pageTracker = _gat._getTracker(”UA-xxxxxx-x”);
pageTracker._initData();
pageTracker._trackPageview();
$(document).ready(function(){
var localserver = “go2alex.com”;
$(”a”).not(”a[href^='http://www."+localserver+"']“).click(function(){
var url = $(this).attr(”href”).replace(/^http\:\/\/(www\.)*/i, “”);
pageTracker._trackPageview(’/external/’+url);
});
});
</script>
Таким образом, при клике все ссылки проходят предварительный фильтр: не учитываются ссылки, которые начинаются на http://www.go2alex.com. Оставшиеся после фильтра ссылки считаются внешними и будут записаны в статистику Google Analytics как /external/url. Для удобства внешние ссылки записываются в статистику без “http://”.
Теперь клики по внешним ссылкам доступны в Google analytics в разделе Content > Content Drilldown > /external
P.S. Фильтр может отличаться в зависимости от принципов организации сайта (наличие относительных, абсолютных ссылок и т.д.).
К примеру, если на сайте ссылки на другие страницы относительны, либо фильтру также подлежат ссылки на субдомены основного сайта, то код примет вид:
<script type=”text/javascript”><!–
var pageTracker = _gat._getTracker(”UA-xxxxxx-x”);
pageTracker._initData();
pageTracker._trackPageview();
$(document).ready(function(){
var localserver = “go2alex.com”;
$(”a”).not(”a[href^='http://www."+localserver+"'], a[href^='http://subdomain."+localserver+"'], a[href^='/']“).click(function(){
var url = $(this).attr(”href”).replace(/^http\:\/\/(www\.)*/i, “”);
pageTracker._trackPageview(’/external/’+url);
});
});
</script>