Měřění odchozích linků pomocí Google Analytics

Nedávno mě napadlo, jestli se pomocí Google Analytics dají měřit také prokliky na externí stránky. Při hledání na googlu se mi dostala celkem instantní odpověď, kterou jsem trochu poupravil až do této podoby…

<a onclick="return trackOutboundLink(this);" href="https://www.facebook.com/xjunajan" target="_blank">						
	Profil na facebooku
</a>

<script type="text/javascript">
(function(i, s, o, g, r, a, m) {
    i['GoogleAnalyticsObject'] = r;
    i[r] = i[r] || function() {
        (i[r].q = i[r].q || []).push(arguments)
    }, i[r].l = 1 * new Date();
    a = s.createElement(o),
    m = s.getElementsByTagName(o)[0];
    a.async = 1;
    a.src = g;
    m.parentNode.insertBefore(a, m)
})(window, document, 'script', '//www.google-analytics.com/analytics.js', 'ga');


ga('create', 'UA-44582724-6', 'janjuna.cz'); // nezapomente si doplnit vlastni kod
ga('send', 'pageview');

trackOutboundLink = function(o) {
    ga('send', 'event', "outbound", "click", o.href);
    alert(o.target);
    
    if(o.target == "_blank")
    	return true;

    setTimeout(function() {
    	
    	window.location = o.href;
    }, 300);
    return false;
}
</script>

Script obsahuje klasické vložení analytics do stránky a jako bonus ještě definici funkce trackOutboundLink, po jejímž zavolání se odešle info o kliknutí. V linku pak při kliknutí nastavíme zavolání výše zmíněné funkce s parametrem this, což je objekt obsahující informace o tagu, na který se kliklo. Funkce odešle informaci o kliknutí do analytics a pak, podle typu odkazu (zda se otevírá v novém nebo stávající okně) otevře požadovanou stránku.

Při otevírání nové stránky v jiném tabu je vše bez problému – měřící script se provede tak jak má, ale při otevírání ve stejném okně však docházelo k rušení celé stránky a tím i ukončení měřícího scriptu. Použil jsem proto setTimeout, který otevře požadovanou stránku až po 300 milisekundách a funkce tak má ještě trochu času na odeslání dat.

V návodech jsem viděl, že se dá použít také atribut hitCallback, který zavolá stanovenou funkci poté, co analytics dostane informaci o kliknutí. Výsledný script mi však nefungoval v prohlížeči Mozzila Firefox se zapnutým Adblockem, proto jsem místo callbacku použil timeout.

Data o proklicích jsou pak zde: Behavior -> Overview -> Event Category -> Outbound

Měření externích linků

Občas se hodí vědět, na které externí zdroje lidé klikají, tak třeba to pomůže i někomu z vás.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *