Как Google Analytics отслеживает рефералы?
Ниже приведен кусок кода, который следует установить на страницу, и по ключевому слову Direct сформировать пользовательский отчет в Google Analytics.
<!-- Urchin begin -->
<script src="http://www.google-analytics.com/urchin.js" type="text/javascript"></script>
<!-- place to paste the hack -->
<script type="text/javascript">
try {
_uacct = "UA-XXXXXXX-X";
urchinTracker();
} catch(err) {}</script>
<!-- Urchin end -->
<!-- hack begin -->
<script type="text/javascript">
function _uGC(l,n,s)
{
if (!l || l=="" || !n || n=="" || !s || s=="") return "-";
var i,i2,i3,c="-";
i=l.indexOf(n);
i3=n.indexOf("=") 1;
if (i > -1)
{
i2=l.indexOf(s,i); if (i2 < 0) { i2=l.length; }
c=l.substring((i i3),i2);
}
return c;
}
var z = _uGC(document.cookie, '__utmz=', ';');
var source = _uGC(z, 'utmcsr=', '|');
if (source != '' && document.referrer == '')
{
__utmSetVar('Direct');
}
//Код для Urchin, для ga.js надо писать pageTracker._setVar('Direct');
</script>
<!-- hack end -->
Данный код, позволяет решить именно ту проблему с рефералами и директ траффиком, которую я описал выше. Методом анализа куки __utmz, вычленения из нее utmcsr и на основании этого установить __utmv.
Для тех кто интересуется детально данной проблемой, я привожу ссылку на презентацию, где рассказывается о куках более подробно.