Google Tag Manager má tu krásnou funkci, že celé nastavení můžete exportovat a importovat pro nový web (resp. GTM kontejner). Proto se vyplatí mít nastavení maximálně přenositelné a pokud možno nezávislé na doméně webu či používaném CMS.

Odesílání Google Analytics událostí o stažených souborech a odchodech na cizí weby je typickým příkladem nastavení, které využijete na mnoha webech.

Jak tedy nastavit GTM pravidla tak, aby fungovala jako spouštěč těchto událostí vždycky?

Stažené soubory

Dříve jsem používal pravidlo založené na tom, že soubory ke stažení jsou v nějaké specifickém adresáři a pokud URL odkazu, na nějž bylo kliknuto, obsahuje tento adresář (třeba /files/), jde o “stažení souboru”.

Když si však řekneme, že budeme soubory ke stažení rozpoznávat podle koncovky (extenze), získáme celkem univerzální řešení. Limitem je zde výčet koncovek. V reálu si však u běžných webů vystačíme s několika desítkami typů souborů resp. koncovek.

Níže uvedený regulární výraz pokrývá 132 nejběžnějších extenzí souborů.

\.(3g[2p]|7z|accdb|ai|aif|ap[kp]|as[fx]|avi|bat|bin|bmp|cab|cbr|cgi|com|cpl|crx|csv|cue|cur|dat|dbf?|dds|deb|deskthemepack|dll|dmg|dmp|docx?|drv|dwg|dxf|eps|exe|flv|fnt|fon|gadget|gbr|ged|gif|gpx|gz|icns|ico|ics|iff|indd|iso|jar|jpe?g|key(chain)?|km[lz]|lnk|log|m3u|m4a|m4v|mdb|mdf|mid|mov|mp[34ag]|msg|msi|odt|otf|pages|part|pct|pdb|pdf|pif|pkg|plugin|png|pps|pptx?|ps|psd|pspimage|ra|rar|rm|rpm|rtf|sdf|sitx|sql|srt|svg|swf|sys|tar(\.gz)?|tex|tga|thm|tiff?|toast|torrent|ttf|txt|vb|vcd|vcf|vob|wav|wm[av]|wpd|wps|wsf|xlsx?|xml|yuv|zipx?)$

wacz_gtm_events1

Odchody na cizí weby

Tedy přesněji řečeno: kliknutí na odkaz, který směřuje na jinou doménu (hostname) než je doména stránky na niž je umístěn odkaz.

Dříve jsme řešili podmínkou, která testovala element url (pozn. toto je název z GTM v1; v GTM v2 je obdobou {{Click URL}}) na neshodu s regulárním výrazem, který popisoval URL domény našeho webu – třeba ^(http|https|ftp|ftps):\/\/(www\.domena\.cz) .

wacz_gtm_events4

Pomocí krátkého javascriptu (díky Radkovi) si však můžeme při každé události porovnat doménu (hostname) stránky a odkazu. Stačí když tento vyhodnocující javascript použijeme ve vlastní GTM proměnné, kterou si můžeme nazvat isExternalLink a která nám vrátí true nebo false.

function(){
    var hostname = window.location.hostname;
    var elementUrl = "{{Click URL}}";

    var getLocation = function(href) {
        var l = document.createElement("a");
        l.href = href;
        return l;
    };

    if (hostname == getLocation(elementUrl).hostname) {
        return "false";
    } else {
        return "true";
    }

}

wacz_gtm_events3

V podmínce Fire on pak už jen testujeme zda isExternalLink = true.

wacz_gtm_events2

Tags: , ,

Napsat komentář

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