Rubriky
Blog o webové analytice

Google tag manager – Měření kliknutí odkazů s javascriptem

Ne vždy jsou na webu pěkné klasické odkazy a někdy je neuzná GTM a pak nefunguje ani gtm.linkclick.
A proto je někdy potřeba berlička.

Tento skript prochází prvky kliknuté elementů směrem k body v HTML a hledá odkaz.
První skript hledá URL adresu, tu odesílám jako eventLabel.
Druhý skript dělá to samé, jen si z této URL adresy vezme hostname, který většinou odesíláma v eventAction do Google analytics.

Kód pro získání URL nadřazeného prvku.

// Google tag manager JS variable script.
// Why? 
// gtm.click does not return the URL because the element is nested and does not work for it gtm.linkClick
// Solution:
// Find the closest link using javascript in DOM..
// Marek Lecian - Creative Commons Attribution-ShareAlike 4.0 International - 24.9.2018


// Name: js.gtm.click.closes.link.href
// Closest URL for GTM.click
function () {
	var elementt = {{Click Element}};
	while (!elementt.href && !elementt.matches('body')) {
		elementt = elementt.parentElement;
	}
	return elementt.href;

}

Kód pro získání URL hostname nadřazeného prvku.

// Name : js.gtm.click.closes.link.hostname
// Closest URL hostname for GTM.click

function () {
	var elementt = {{Click Element}};
	while (!elementt.href && !elementt.matches('body')) {
		elementt = elementt.parentElement;
	};
	if (elementt.href) {
		var parser = document.createElement('a');
		parser.href = elementt.href;
		return (parser.host);
	}
	return;
}

Měření pak probíhá přes GTM trigger gtm.click (měření všech kliknutí) a ne přes měření odkazů. Je pak potřeba vhodně upravit i podmínky, aby se vám neměřil normální odkazy vícekrát, tjs jedenkrát jako gtm.linkclick a jedenkrát jako gtm.click.

.