Kategorie:Webová analytika

Webová analytika

Sledování odeslání Google Formuláře v Google Analytics

Google formuláře jsou často využívané pro registrace na události nebo výzkumy a následně vloženy na web jako iframe. Stranou nechme diskusi o tom, zda by měl být Google Form takto využíván. Klienti ho mají rádi a uživatelé tyto formuláře klidně odesílají, takže s nimi problém nemám. Potíže ale začaly, když jsme chtěl formuláře měřit.

image

Do samotného iframu není možné zasáhnout, takže ani není možné používat postMessage pro informování okna o události a je nutné na to jít workaroundem. Našel jsem a začal využívat řešení postavané na tomto kódu z infoentropy.com. Kód dělá pouze to, že kontroluje počet načtení iframu. Pokud dojde k více než jednomu načtení, bere se to jako odeslání.

<script>jQuery(function () {
    window.loaded = 0;

   f = jQuery("iframe#googleframe");
   f.load( function () { 
        window.loaded++; 
        if (window.loaded >= 2)
        {
           dataLayer.push ({ "event": "cfsubmitted", "contactform-type": "googleform" });
           // zde by mohl být i kód pro přímé odeslání do GA, přes GTM je elegantnější.
        }
    });
});</script>

Implementace měření iframe

  1. Přiřadíte iframu ID googleframe.
  2. Vytvoříme v Google Tag Manager proměnnou pro typ kontaktního formuláře.
  3. Pomocí GTM vložíme Vlastní kód HTML a spouštění nastavíme při načtení konkrétních stránek, kde jsou Google Formuláře. V podstatě dojde k vložení dataLayer přímo z Google Tag Manager.
  4. Vytvoříme tag v GTM, který při události cfsubmitted vystřelí Google Analytics událost.
  5. V Google Analytics nyní vidíme událost, můžeme ještě vytvořit na základě události cíl.

Možnosti úpravy kódu

Tento kód je dobré ještě upravit, pokud to pro vás dává smysl:

  • Přidat proměnnou odeslano s možnostmi 0/1. Nyní pokud by uživatel odeslal 3x, bude informace zaslána 3x do Google Analytics.
  • Kód by bylo možné snadno upravit tak, aby měřil znovunačtení jakéhokoliv iframe a v dataLayer poté vracel id tohoto iframe.
Číst více
Performance marketing Webová analytika

Sklik konverze v pluginu Contact Form 7

Sklikové konverze se zachytávají pomocí iframe. Vynikající plugin Contact Form 7 pro WordPress umožňuje nastavit skript, který se má vykonat po odeslání formuláře (viz obrázek dole, zaslání události do Analytics).

Problémem je, že sem není možné vložit iframe a ani iframe pomocí document.write. Ačkoliv s document.write to bude korektní JavaScript, odeslání formuláře skončí prázdnou stránkou nebo v lepším případě přesměrováním.

image

Jak zaslat konverzi do Sklik z formuláře CF 7 ve WordPress?

Nejeelegantnější metodou je využití Google Tag Manager, který vykoná operaci asynchroně a do GTM pošleme pouze dataLayer, že byl formulář odeslán. Následně je možné poslat informace do jakéhokoliv systému. Pokud vám předchozí text přijde jako sci-fi, není to cesta pro vás. Navíc je často implementace GTM u malého webu “kanón na vrabce”.

Proto jsem s využitím událostí, které zasílá Contact Form 7 vytvořil následující skript, který stačí vložit do footer.php (Vzhled – Editor – footer.php) před uzavírací tag </body>.

image

<script>jQuery(document).on('mailsent.wpcf7', function () {
jQuery(".sklikframe").attr("src","//c.imedia.cz/checkConversion?c=000000000&color=ffffff&v=");    
console.log('Konverze Sklik zapoctena');
});</script>
<iframe class="sklikframe" width="1" height="1" frameborder="0" scrolling="no" src="">
</iframe>

Pouze místo c=000000000 vložte svůj kód, který si vygenerujete v Sklik (Nástroje – Sledování konverzí – Vytvořit konverzi).

Co skript dělá?

Skript poslouchá, zda nastalo k odeslání formuláře (mailsent.wpcf7). Dále je už při načtení stránky vložen prázdný iframe. Jakmile je formulář odeslán, nahradí skript zdroj iframu. Že vše funguje, si můžete ověřit v nástrojích pro vývojáře, kde se v sekci Source načte zdroj c.imedia.cz a zároveň se v Console objeví Konverze Sklik započtena. S událostmi CF 7 se dá velmi dobře pracovat, přehled událostí naleznete na StackOverflow.

Update: Nápady z Facebooku

Po sdílení na Facebooku se objevilo několik hezkých nápadů, zejména jQuery.append.

Vladimír Smitka – A proč nepřesměrovat po odeslání formuláře na děkovací stránku, kde jsou kódy vloženy jednoduše staticky? Já tedy fandím GTM, ale přesměrování mi přijde nejjednodušší způsob, jak měřit konverze (poznámka – lze udělat pomocí window.location).

Druhým nápadem je využít jQuery.append:

jQuery('<iframe class="sklikframe" width="1" height="1" frameborder="0"
scrolling="no" src="//c.imedia.cz/checkConversion?c=000000000&color
=ffffff&v=">').appendTo('body');

Upozornění – vypněte cachovací plugin

Pokud používáte cachovací plugin, vypněte minifikaci JavaScriptu. Nejen že nemusí fungovat korektně tento skript, ale pravděpodobně nebudou korektně fungovat ani další analytické a retargetingové skripty. Před nasazením vše pečlivě otestujte.

Číst více
Content in English Webová analytika

WASP – one of the top debugging tools for web analyst

WASP – one of the top debugging tools for web analyst

Číst více
Webová analytika

Jak měřit výkonnost offline kampaní v Google Analytics?

Častým předsudkem je, že Google Analytics vám pomůže pouze s měřením online kampaní. Není to pravda. V Google Analytics můžete stejně elegantně měřit výkonnost billboardů, plakátů, letáků, odznaků a dalších. Zde bych rád představil vybraných 8 technik, které je možné i kombinovat a opravdu začít měřit výkonnost offlinu.

Všechny následující případové studie budou založeny na dvou technologiích: přesměrování, QR, analýza lokality v Google Analytics a práce s IP adresami.

1. Přesměrování s využitím UTM parametrů

Moje webová stránka je Allten.cz. Aktuálně bych chtěl mít inzerát např. v Příbramském deníku. Jediné co potřebuji je dostat do Google Analytics adresu s UTM parametry, díky čemuž zjistím, že návštěvník přišel právě z této kampaně. Tuto adresu potřebuji:

http://www.Allten.cz/?utm_source=pribramskydenik&utm_medium=offline&utm_campaign=printcampaign2015

Tuto adresu nemohu jen tak dát do kampaně (jelikož téměř každý by ji opsal s chybou a zároveň by to bylo neprofesionální a dlouhé). Musím vytvořit přesměrování na tuto adresu. Nabízí se možnosti:

  • Pořízení úplně jiné domény – VsemiDeseti.cz, AllTenFingers.cz, PsaniNaKlavesnici.cz apod.
  • Využití subdomény – Chci.Allten.cz, Type.Allten.cz nebo lákavější Bonus.Allten.cz nebo Soutez.Allten.cz
  • Cesta v URL – Allten.cz/Soutez, Allten.cz/Akce
  • Elegantní cesta – vytvořme microsite bez přesměrování např. MesicPsani.cz od Allten.cz – i zde bude návštěvnost jasná.

Přesměrování vytvoří váš vývojář snadno pomocí htaccess. Postup by šel vyladit využitím filtrů v Google Analytics. Pokud je referral PsaniNaKlavesnici.cz, tak přepiš source/medium na hodnoty pribramskydenik/offline, ale není to nutné.

2. QR kódy

V ČR se QR kódy nikdy příliš nechytli. Ale i tak mohou být dobrým doplňkem letáku či plakátu. Opět bychom postupovali metodou UTM parametrů a z těch vytvořili letáky.

http://www.Allten.cz/?utm_source=pribramskydenik&utm_medium=offline&utm_campaign=printcampaign2015

3. Analýza lokality v Google Analytics

Google Analytics dokáže zobrazit návštěvnost z jednotlivých krajů ČR. Pokud bychom měli billboardovou kampaň na D1, řekněme 4 billboardy. Můžeme poté předpokládat, že navýšení návštěvnosti oproti průměru s očištěním dalších vlivů bude způsobeno právě tímto bannerem. Tento filtr můžeme omezit způsobem, aby zobrazovat pouze nové uživatele z dané lokality – měření není 100% přesné, ale na úrovni kraje by mělo být dostatečně vypovídající.

Mapa v Google Analytics

4. Využití IP adres a vlastních dimenzí

Představte si, že chcete udělat plakátovou a letákovou kampaň na vysokých školách v České republice. Toto řešení již vyžaduje trošku kódování a znalost Google Tag Manager. Výsledkem bude, že v Google Analytics bude možné rozdělit návštěvnost a cíle dle jednotlivých vysokých škol (např. bude možné zjistit: Z VŠCHT navštívilo web 451 lidí, strávili na webu 2 minuty, 42x stáhli aplikaci a z ČVUT…).

  • Zjistím IP adresu školní (kolejní) sítě. Pokud tam už někdo dává ty letáky, může to rovněž zjistit.
  • Vytvořím tabulku: “IP adresa | škola”
  • V Google Tag Manager spustím některý z geolokačních skriptů, které zjistí IP adresu návštěvníka (našel jsem např. DP-IP.com, které je dokonce zdarma).
  • Vytvořím v Google Analytics vlastní dimenzi “Vysoká škola” rozsahu uživatel (user-scope).
  • Vytvořím v Google Tag Manager proměnnou typu vyhledávací tabulka a nastavím, aby při dané IP adrese byla nastavena hodnota dimenze “Vysoká škola” na “ČVUT”, “VŠE” a další.
  • Nyní si můžu užívat data. Výhodou je, že i když uživatel z VŠE, který kdysi navštívil web, přijde na stránky znovu z druhé části republiky (když jede za rodiči), bude stále označen jako student VŠE.

Požádal jsem na Twitteru o názor několik specialistů na webovou analytiku. Zde si můžete prohlédnout jejich doporučení. Jak vidíte, možnosti sledování offline jdou mnohem dále, než jsem navrhl.

Marek Lecián:

Co třeba trackovat vstup zákazníků do pobočky? Napojit pokladny obchodu atd. http://t.co/ppvUA9epgF

André Heller

Hm, co tahle kampaň import a tagování pomocí utm_id?

Lukáš Teplý

Ještě mě napadají slevové kódy rozdělené dle jednotlivých offline zdrojů.

Je nezbytné zmínit, že všechny zmíněné metody jsou přesné jen do jisté míry a závislé na větším počtu faktorů. Bude lepší pojmout analýzu vždy komplexně (např. u kampaně v bodu #4 nespoléhat jen na změřené výsledky, ale analyzovat i zvýšení počtu návštěv z mobilních zařízení – studenti mohou využívat mobilní data nebo navštívit web po odchodu ze školy). U všech metod doporučuji určit před začátkem kampaně, jak bude úspěšnost měřena a které hodnoty jsou zamýšlené.

Máte rovněž zkušenosti s měřením offline kampaní? Podělte se v komentářích!

Číst více
Webová analytika

Budete dodržovat „sušenkový zákon“? A je to vůbec možné? – Zdroják

Budete dodržovat „sušenkový zákon“? A je to vůbec možné? – Zdroják

Číst více
Content in English Webová analytika

Track Prezi in Google Analytics

Client asked me to track Prezi in Google Analytics. However, there is no way how to track iframe embed. Thus I had to use Prezi API to make this running. API is only alfa right now but I hope this basic function will work for a long time. I used Google Tag Manager to make this running.

You can try everything at prezidemo.marketingmakers.net

image


1. Use api to embed Prezi in the page

You can find all neccessary documentation on Github. This is a code that will place video in the page.

Update 30.6.2017: As of the update in March/April this solution does not work 100%. Unfortunatelly, I do not have a capacity to fix this. If you have, I will help you with the task.

<script src="http://prezi.github.io/prezi-player/lib/PreziPlayer/prezi_player.js">
</script><script>

		var player = new PreziPlayer('prezi_here', {
			preziId: 'l3qa8ydbj1l7',
			width: 620,
			height: 444,
			explorable: false,
			controls: true
		});
		
	
</script>

2. Push event to dataLayer on every slide of a Prezi

I push name of the Prezi presentation and step (slide).

player.on(PreziPlayer.EVENT_CURRENT_STEP, function(e) 
{ dataLayer.push({ 'event': 'trackprezi', 
'name': player.getTitle(), 
'step': player.getCurrentStep() }) });

3. Create tag in Google Tag Manager that fires when trackprezi happens

Create dataLayer variables

image


and then create tag Google Analytics – Event.

image


This tag should fire when trackprezi happens.

image


This is it! Go to Behaviour -> Events in Google Analytics and enjoy your data!

image


Číst více
Webová analytika

Prezentace a videa z přednášky Google Tag Manager pro mírně pokročilé na E-shop víkendu

Děkuji všem, kteří navštívili moji přednášku na E-shop víkendu. Zde je prezentace a video.

Velmi mě potěšily i reakce na Twitteru. Děkuji!


!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?’http‘:’https‘;if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+“://platform.twitter.com/widgets.js“;fjs.parentNode.insertBefore(js,fjs);}}(document,“script“,“twitter-wjs“);

Číst více
Webová analytika

Instalátor spam filtrů | MarketingMakers.net

Instalátor spam filtrů | MarketingMakers.net

Číst více
Webová analytika

Jak měřit konverze z mailů mimo kontaktní formuláře

Je neděle, tak jsem se rozhodl zbořit jedno analytické dogma: “Nejde změřit, kolik lidí vám pošle přímý e-mail.” Ať již tím, že zkopíruje e-mailovou adresu anebo si ji opíše. Změřit to lze a ihned vám to dokážu. Dokonce jsem přišel na čtyři způsoby.

1. Cesta nejmenšího odporu – jiná kampaň, jiný e-mail

Pro každou marketingovou kampaň vytvořte cílovou stránku a na této cílové stránce použijte adresu, která není nikde jinde na webových stránkách využita. Kdokoliv napíše na tuto adresu je jasně z této kampaně. Tip: Nemusíte tvořit nové mailové adresy, stačí tvořit aliasy k těm stávajícím.

2. Dynamická změna e-mailové adresy po příchodu na web z kampaně

Na stránce kontakt bude adresa michal@allten.cz. A já chci, aby když někdo přijde z facebookové kampaně tato adresa se změnila na kurz@allten.cz a když z PPC, tak na lektor@allten.cz (příklad). Jak na to?

Využiji Google Tag Manager. Obecný postup je:

  1. Do Google Tag Manager si uložím kampaň (parametr utm_campaign), z které uživatel přišel (je nutné využívat UTM parametry – viz Poznámka 1)
  2. Vytvořím si vyhledávací tabulku (lookup table), kde podle média vložím vhodný e-mail.
  3. Pomocí jQuery skriptu změním po načtení stránky e-mail na vybraný.

Ad 1: Do Google Tag Manager uložím kampaň, z které uživatel přišel

V Google Tag Manager zvolím Proměnné -> Nová -> Vlastní kód JavaScript a využiji následující JavaScript kód:

function() { 
function getUrlParameter(sParam)
{
    var sPageURL = window.location.search.substring(1);
    var sURLVariables = sPageURL.split('&');
    for (var i = 0; i < sURLVariables.length; i++) 
    {
        var sParameterName = sURLVariables[i].split('=');
        if (sParameterName[0] == sParam) 
        {
            return sParameterName[1];   
        }
    }
}
 return getUrlParameter("utm_campaign"); 
// Zdroj: http://stackoverflow.com/questions/19491336/get-url-parameter-jquery
image


Ad 2: Vytvoření vyhledávací tabulky. Nyní jsem nastavil pouze 2 nesmyslné utm_campaign

Proměnné -> Nová -> Vyhledávací tabulka a nastavím tuto tabulku dle obrázku zde. Vyhledávací tabulka nepodporuje regulérní výrazy, takže opravdu to musí být 1:1.

image

Ad 3: Pomocí jQuery skriptu změním po načtení stránky e-mailovou adresu

Třídu (class) odkazu nastavím na “kezmene”. 

image

A následně musím pomocí jQuery (viz Poznámka 2) změnit nejen samotný text, ale i href parametr. Využiji tento skript, který se spustí při načtení stránky kontakt.

<script>
    jQuery("a.kezmene").text('{{E-mailová adresa v závislosti na UTM}}');
    jQuery("a.kezmene").attr('href', 'mailto:{{E-mailová adresa v závislosti na UTM}}')
</script> 
image
image


A nyní to zkusme – zadejte adresu:

http://allten.cz/kontakt/?utm_source=pokus&utm_medium=pokus&utm_campaign=pokus (uvidíte adresu kurz@allten.cz), respektive http://allten.cz/kontakt/?utm_source=pokus&utm_medium=pokus&utm_campaign=pokus2 (uvidíte adresu lektor@allten.cz).

image


Možnosti rozšíření skriptu a poznámky

Identifikace uživatele – přes navržené řešení není možné identifikovat odesílatele. Identifikaci je možné udělat dvěmi metodami. Nejlepší je, pokud používate User ID, pak již bude uživatel v Google Analytics identifikovaný. Pokud User ID nepoužíváte, je možné vsadit na IP adresu. Pomocí dataLayer a PHP zašleme adresu do Google Tag Manager a tuto IP adresu následně pošleme jako štítek události do Google Analytics. A následně přes různé nástroje můžeme zjistit, komu IP adresa patří a identifikovat tak společnost a jejího zaměstnance.

Opakované návštěvy – tento skript funguje pouze, pokud je nastavený utm parametr. Pokud by uživatel přišel znovu, tak by viděl defaultní adresu. Mohl bych tedy vytvořit cookie a následně vždy kontrolovat, zda uživatel již na webu byl a z jakého zdroje přišel a podle toho mu zobrazovat danou adresu.

Podmínka, zda existuje utm_campaign – Aktuálně netestuji, zda utm existuje a raději jsem nastavil defaultní hodnotu vyhledávací tabulky. Elegantnější by bylo vložit do datové vrstvy událost a skript aktivovat pouze tehdy, když utm_campaign existuje.

Automatické nahrazování všech e-mailových adres – aktuálně skript změní pouze e-mailové adresy, kde je nastavena třída “kezmene”. Bylo by možné vytvořit něco jako posluchač událostí, který by zjistil zda na stránce existuje řetězec michal@allten.cz a ten následně nahradil.

Poznámka 1: Více o UTM parametrech. S troškou představivosti by to šlo i bez UTM, jelikož GTM má proměnnou referrer a z té bych mohl informace číst. Ale nebylo by to tak přesné.

Poznámka 2: Tento skript bude fungovat pouze tehdy pokud máte na stránkách vloženu jQuery knihovnu – s největší pravděpodobností ji tam již máte, ale pokud ne, můžete vložit do webu anebo přímo do skriptu Google Tag Manager tento kód: <script src="//code.jquery.com/jquery-1.11.3.min.js"></script>

3. Sledování, zda někdo zkopíroval e-mailovou adresu

Ano, pomocí posluchače událostí můžeme i měřit, zda někdo zkopíroval e-mailovou adresu do schránky a zaslat do Google Analytics tuto informaci jako událost. Doporučuji kombinovat s předchozí metodou. Postup je následující:

  1. Přidáme k e-mailu ID
  2. Vytvoříme posluchač událostí
  3. Zašleme událost do Google Analytics

Ad 1: Přidání ID elementu

Skript dole funguje pouze s ID elementu a ID může být na stránce pouze jednou. Přidal jsem tedy k hornímu mailu id="kopirovano".

Ad 2: Vytvoření posluchače událostí

Tento návod vychází z článku Simo Ahavy, Fun with Google Tag Manager (viz Poznámka 3). Tento skript vložíme jako novou značku, která se bude spouštět na kontaktní stránce.

<script>
  var c = document.getElementById("kopirovano");
  if(typeof(c)!=='undefined') {
    c.addEventListener('copy', function(evt) {
      dataLayer.push({'event': 'copy'});
    });
  }
</script>
image


Ad 3: Vytvoření tagu, který zašle událost do Google Analytics

V první řadě je nutné nadefinovat samotný tag.

image

A tento tag se spustí pouze tehdy, pokud dojde k události copy.

image

Následně událost ihned uvidím v Google Analytics v přehledech v Reálném čase a později kdykoliv v sekci Chování – Události

image

Poznámka 3: Doporučuji přečíst si i všechny komentáře článku od Simo Ahavy. Skript je možné rozšířit i tak, aby monitoroval všechna kopírování na stránce a do štítku přidával zkopírovaný text. Značně se tak rozšíří jeho funkce. 

Poznámka 4: Skript nefunguje na 100%. Nedokáže např. změřit, když využiji funkci kopírovat ve Firefox. Fungoval pouze po Ctrl+C. Doporučuji brát jeho hodnoty jako orientační a ne jako dogma.

4. Odebrat e-mail z webu

O měření odeslání kontaktních formulářů toho naleznete hodně. Jednou z metod může být odebrat z webu všechny e-maily a ponechat pouze kontaktní formulář. Ale počítejte s tím, že hodně uživatelů naštvete anebo přijde o zákazníky, kteří rozesílají najednou třeba 5 poptávek z e-mailové šablony.

Takže jak vidíte, nastavení měření e-mailových adres je možné. Pro začátečníka v Google Tag Manager může být tento návod složitý, poté můžete požádat o pomoc specialistu v Google Tag Manager (neříkám, že to musím být já :)).

Číst více
Webová analytika

Kombinované lookup tabulky v Google Tag Manager [KB]

Vyhledávací tabulky (lookup tables) považuji za jeden z nejcennějších přínosů Google Tag Manager. Nedávno jsem měl vyřešit kombinovanou lookup table se zadáním: “Pokud je URL takové, ať je proměnná ecomm_pagetype cart a nebo purchase, jinak ať je použita proměnná dle kategorie.” Vytvořil jsem tedy první lookup table s kategoriemi, a následně tuto proměnnou zadal jako defaultní hodnotu ecomm_pagetype.

Dalším problémem, kterému jsem nedávno čelil byly vyhledávací tabulky s regulérními výrazy. Bohužel Google Tag Manager tuto tabulku nepodproruje a je nutné si ji případně naprogramovat. Hezký návod je zde.

Toto je článek ze série Knowledge-Base.

Číst více
1 2 3 4