SlideShare a Scribd company logo
1 of 24
Download to read offline
ÚPLNÉ ZÁKLADY
JAVASCRIPTU PRO
GOOGLE TAG MANAGER
ZA MARKETING MAKERS
MICHAL BLAŽEK
@BLAZEKMICHAL
PROČ JS V GTM
Kde je to v pořádku? Tvorba cookies, kódy zbožáků, timestamp a další
vlastní dimenze.
Kde je prasárna – sledování věcí z webu, které by měl poslat vývojář.
Proč?
• Programátor je neschopný nebo nestíhá
• Programátor je drahý
• Platforma není rozšiřitelná – každá úprava je problém
• Požadavek na rychlou implementaci
• Často B2B podniky nebo korporáty s IT v zahraničí
ALE! Když to jen trochu půjde, nechte to dělat vývojáře klienta!
LIMITACE
Blokování GTM
Nevíte, zda programátor neudělal změnu na webu
Nepřesnost – váš skript se načítá zevnitř GTM – musí se tedy
nejdřív načíst GTM a až poté začne skript fungova
Doporučuji skripty pouštět při gtm.load
Riziko můžete limitovat opatrností – vždy testujte, zda
využívaná funkce existuje if(fbq), if(ga), if(window.jQuery)
atd.
Veškeré své skripty dokumentujte a oznamte to i
programátorovi.
SEZNAM
RETARGETING
ZASLÁNÍ NÁZVU
PRODUKTU DO FB
PIXELU
IDENTIFIKACE
CÍLOVÝCH SKUPIN
Na základě aktivity uživatele na web určíme, do jaké cílové skupiny uživatel patří,
a to uložíme do cookies.
Víme, že uživatel patřící k nějaké skupině se musí přihlásit do jiného systému než
ostatní atd.
var typ = "";
$("a[href*='stranka1.organizace.cz']").click(function() {
typ = "typ1";
dataLayer.push({ 'event': 'identifikace', 'typ': typ });
});
HEUREKA PIXEL
Z (ENHANCED) ECOMMERCE
<script>
var _hrq = _hrq || [];
_hrq.push(['setKey', ‚xxx']);
_hrq.push(['setOrderId', '{{transaction id}}']);
var xs = [];
var field = {{transaction products}};
for (var i=0;i<field.length;i++) {
var namehr = field[i].name; var cenahr = field[i].price; var mnostvihr = field[i].quantity;
// console.log(cenahr + " " + namehr + " " + mnostvihr);
_hrq.push(['addProduct', namehr, cenahr, mnostvihr ]);
}
_hrq.push(['trackOrder']);
(function() {
var ho = document.createElement('script'); ho.type = 'text/javascript'; ho.async =
true;
ho.src = 'https://im9.cz/js/ext/1-roi-async.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ho, s);
})();
</script>
CJ – KONVERZE – IFRAME
KONVERZNÍ PIXELY
PŘEČTENÍ ID TRANSAKCE Z
THANK YOU PAGE A ÚPRAVA
PRVKŮ
var idtransakce;
idtransakce =
$('.tableDefault:not(".tableOrderDetail") tr
td').eq(1).text();
Pomocí jednoduchého jQuery můžete vyřešit i další problémy
– zde drobná ukázka:
https://www.w3schools.com/jquery/tryit.asp?filename=tryjqu
ery_dom_html_set
Např. Když programátor omylem nasadil slevu 30 % místo 20
%. Takto jsme opravili o víkendu.
MĚŘENÍ E-MAILŮ MIMO
KONTAKTNÍ FORMULÁŘE
http://www.michalblazek.cz/post/121534340593/merit-
konverze-z-emailu-analytics
• změna e-mailu na základě zdroje
• kopírování obsahu
http://www.michalblazek.cz/post/160155873078/m%C4%9B%
C5%99te-akce-s-telefonn%C3%ADm-%C4%8D%C3%ADslem-
a-e-mailem-na-webu
• další akce nad telefonním číslem/mailem
http://www.michalblazek.cz/post/142138534943/sledovani-
odeslani-google-forms-v-google-analytics
ONCE USER-ID – ALWAYS
USER-ID – SIMO AHAVA
https://www.simoahava.com/gtm-tips/once-userid-always-
userid/
Super skript.
Ale! Pozor na ochranu soukromí uživatele. Uživatel vám
nedal souhlas se sledováním, když není přihlášený. Řešte s
právníkem klienta.
FILTRY - ZMĚNA
FILTRY - ZMĚNA
<script>
// Skript byl výrazně zjednodušen proti prezentovanému. Principem je
// využití .change – změny pole
$( "#filter-country")
.change(function () {
$( "#filter-country option:selected" ).each(function() {
if( $( this ).val() === '' ) { zeme = ""; } else {
zeme += $( this ).text() + " "; }
});
dataLayer.push({ "zeme": zeme, "event": "filter" });
});
</script>
PRVKY, KTERÉ SE
PŘIDAJÍ DO WEBU AŽ PO
NAČTENÍ
Je možné odposlechnout podobnými skripty. Sledujeme
změnu DOM.
$("body").on('DOMSubtreeModified', "mydiv", function() {
dataLayer.push({ "event": "newsletter" });
});
https://stackoverflow.com/questions/15657686/jquery-event-
detect-changes-to-the-html-text-of-a-div
FB – ADDTOCART A
DALŠÍ UDÁLOSTI
FB – VLASTNÍ
UDÁLOSTI
http://www.michalblazek.cz/post/145113577553/vlastni-
udalosti-facebook-pixel
ENHANCED ECOMMERCE
FUNNEL PRO SLUŽBU
• Kód byl skryt. Pokud jej chcete,
napište mi a pošlu více info.
• V GTM je vytvořený tag, který se
spouští při daných eventech.
• Např.
• Nejedná se o spam – uživatel
doscrolloval do 75 %
• Vysoce zaujatý návštěvník –
uživatel klikl na CTA tlačítka
• Posílá se do Analytics jakou
checkout action step
• https://developers.google.com/ta
g-manager/enhanced-
ecommerce#checkoutstep
SKLIK KONVERZNÍ
KÓD BEZ GTM
http://www.michalblazek.cz/post/131553058703/sklik-
konverze-contact-form-7-wordpress
Využívejte hooky formulářů a funkcí
VYUŽITÍ IF, INDEXOF
// Užitečné, když například nemáte naimplementovaný správně pagetype.
// Na základě obsahu URL můžete určit. Můžete využít i pro content
// grouping
var path = document.location.pathname;
var title = document.getElementsByTagName("title")[0].innerHTML;
// if path contains /e/orders/, consider it as pageType=basket
if (path.indexOf("/e/orders/") > -1) {
event.pageType = "basket";
}
if (title.indexOf("404") > -1) {
event.pageType="error";
}
JSON STRINGIFY –
JSON PARSE
// Do cookies můžete uložit pouze text. Abyste objekt uložili do
// cookies, musíte jej změnit na text.
var kosik = {
"basketItems": basketitemshelp,
"basketTotal": total,
"email": useremail
};
setCookie("persoo_kosik", JSON.stringify(kosik), 360);
var obsahkosiku = JSON.parse(obsahkosikuHelp);
SCROLL TRACKING
http://scrolldepth.parsnip.io/
YOUTUBE TRACKING
http://www.lunametrics.com/blog/2015/05/11/updated-
youtube-tracking-google-analytics-gtm/
DOTAZY? 
MICHAL BLAŽEK
MICHAL@MARKETINGMAKERS.NET
728 729 312
DĚKUJI ZA
POZORNOST
MICHAL BLAŽEK
MICHAL@MARKETINGMAKERS.NET
728 729 312

More Related Content

Similar to JavaScript v GTM - Measure Camp Brno 2017

Nadupaný kontejner pro analytiku v B2B (Michal Blažek)
Nadupaný kontejner pro analytiku v B2B (Michal Blažek)Nadupaný kontejner pro analytiku v B2B (Michal Blažek)
Nadupaný kontejner pro analytiku v B2B (Michal Blažek)Taste Medio
 
Nadupaný kontejner pro analytiku v B2B
Nadupaný kontejner pro analytiku v B2BNadupaný kontejner pro analytiku v B2B
Nadupaný kontejner pro analytiku v B2BMichal Blažek
 
#golang @SkrzCzDev (Skrz DEV Cirkus 21.10.2015)
#golang @SkrzCzDev (Skrz DEV Cirkus 21.10.2015)#golang @SkrzCzDev (Skrz DEV Cirkus 21.10.2015)
#golang @SkrzCzDev (Skrz DEV Cirkus 21.10.2015)Jakub Kulhan
 
Analytika a online marketing v souladu s GDPR v ČR i zahraničí
Analytika a online marketing v souladu s GDPR v ČR i zahraničíAnalytika a online marketing v souladu s GDPR v ČR i zahraničí
Analytika a online marketing v souladu s GDPR v ČR i zahraničíMichal Blažek
 
Jak může PPCéčkař zastoupit programátora
Jak může PPCéčkař zastoupit programátoraJak může PPCéčkař zastoupit programátora
Jak může PPCéčkař zastoupit programátoraMichal Blažek
 
MergadoFest - Luděk Volejník: Mergado pro pokročilé
MergadoFest - Luděk Volejník: Mergado pro pokročiléMergadoFest - Luděk Volejník: Mergado pro pokročilé
MergadoFest - Luděk Volejník: Mergado pro pokročiléMergado technologies s. r. o.
 
Co sledovat a jak měřit u mobilního webu
Co sledovat a jak měřit u mobilního webuCo sledovat a jak měřit u mobilního webu
Co sledovat a jak měřit u mobilního webuAkce Dobrého webu
 
Smalltalk prakticky [CZ]
Smalltalk prakticky [CZ]Smalltalk prakticky [CZ]
Smalltalk prakticky [CZ]Tomáš Kukol
 
Jak probíhal vývoj platformy pro vývojáře
Jak probíhal vývoj platformy pro vývojářeJak probíhal vývoj platformy pro vývojáře
Jak probíhal vývoj platformy pro vývojářePavel Dedík
 
Data Restart 2023: Stanislav Račinský - Debugování Google Analytics 4 v aplik...
Data Restart 2023: Stanislav Račinský - Debugování Google Analytics 4 v aplik...Data Restart 2023: Stanislav Račinský - Debugování Google Analytics 4 v aplik...
Data Restart 2023: Stanislav Račinský - Debugování Google Analytics 4 v aplik...Taste
 
Polymer project presentation
Polymer project presentationPolymer project presentation
Polymer project presentationjskvara
 
Čtvrtkon #71 - Marian Benčat - Angular a NativeScript
Čtvrtkon #71 - Marian Benčat - Angular a NativeScriptČtvrtkon #71 - Marian Benčat - Angular a NativeScript
Čtvrtkon #71 - Marian Benčat - Angular a NativeScriptCtvrtkoncz
 
Glami - jak řešíme performance, aneb jak neshodit web TV reklamou
Glami - jak řešíme performance, aneb jak neshodit web TV reklamouGlami - jak řešíme performance, aneb jak neshodit web TV reklamou
Glami - jak řešíme performance, aneb jak neshodit web TV reklamouPetr Bechyně
 

Similar to JavaScript v GTM - Measure Camp Brno 2017 (20)

Nadupaný kontejner pro analytiku v B2B (Michal Blažek)
Nadupaný kontejner pro analytiku v B2B (Michal Blažek)Nadupaný kontejner pro analytiku v B2B (Michal Blažek)
Nadupaný kontejner pro analytiku v B2B (Michal Blažek)
 
Nadupaný kontejner pro analytiku v B2B
Nadupaný kontejner pro analytiku v B2BNadupaný kontejner pro analytiku v B2B
Nadupaný kontejner pro analytiku v B2B
 
#golang @SkrzCzDev (Skrz DEV Cirkus 21.10.2015)
#golang @SkrzCzDev (Skrz DEV Cirkus 21.10.2015)#golang @SkrzCzDev (Skrz DEV Cirkus 21.10.2015)
#golang @SkrzCzDev (Skrz DEV Cirkus 21.10.2015)
 
Analytika a online marketing v souladu s GDPR v ČR i zahraničí
Analytika a online marketing v souladu s GDPR v ČR i zahraničíAnalytika a online marketing v souladu s GDPR v ČR i zahraničí
Analytika a online marketing v souladu s GDPR v ČR i zahraničí
 
Jak může PPCéčkař zastoupit programátora
Jak může PPCéčkař zastoupit programátoraJak může PPCéčkař zastoupit programátora
Jak může PPCéčkař zastoupit programátora
 
MergadoFest - Luděk Volejník: Mergado pro pokročilé
MergadoFest - Luděk Volejník: Mergado pro pokročiléMergadoFest - Luděk Volejník: Mergado pro pokročilé
MergadoFest - Luděk Volejník: Mergado pro pokročilé
 
JavaScript
JavaScriptJavaScript
JavaScript
 
Co sledovat a jak měřit u mobilního webu
Co sledovat a jak měřit u mobilního webuCo sledovat a jak měřit u mobilního webu
Co sledovat a jak měřit u mobilního webu
 
201502.ReinIT.Dev
201502.ReinIT.Dev201502.ReinIT.Dev
201502.ReinIT.Dev
 
TNPW2-2014-03
TNPW2-2014-03TNPW2-2014-03
TNPW2-2014-03
 
TNPW2-2016-03
TNPW2-2016-03TNPW2-2016-03
TNPW2-2016-03
 
Smalltalk prakticky [CZ]
Smalltalk prakticky [CZ]Smalltalk prakticky [CZ]
Smalltalk prakticky [CZ]
 
Django
DjangoDjango
Django
 
Jak probíhal vývoj platformy pro vývojáře
Jak probíhal vývoj platformy pro vývojářeJak probíhal vývoj platformy pro vývojáře
Jak probíhal vývoj platformy pro vývojáře
 
Data Restart 2023: Stanislav Račinský - Debugování Google Analytics 4 v aplik...
Data Restart 2023: Stanislav Račinský - Debugování Google Analytics 4 v aplik...Data Restart 2023: Stanislav Račinský - Debugování Google Analytics 4 v aplik...
Data Restart 2023: Stanislav Račinský - Debugování Google Analytics 4 v aplik...
 
TNPW2-2011-03
TNPW2-2011-03TNPW2-2011-03
TNPW2-2011-03
 
Polymer project presentation
Polymer project presentationPolymer project presentation
Polymer project presentation
 
Čtvrtkon #71 - Marian Benčat - Angular a NativeScript
Čtvrtkon #71 - Marian Benčat - Angular a NativeScriptČtvrtkon #71 - Marian Benčat - Angular a NativeScript
Čtvrtkon #71 - Marian Benčat - Angular a NativeScript
 
Glami - jak řešíme performance, aneb jak neshodit web TV reklamou
Glami - jak řešíme performance, aneb jak neshodit web TV reklamouGlami - jak řešíme performance, aneb jak neshodit web TV reklamou
Glami - jak řešíme performance, aneb jak neshodit web TV reklamou
 
ASP.NET 3.5 / futures
ASP.NET 3.5 / futuresASP.NET 3.5 / futures
ASP.NET 3.5 / futures
 

More from Michal Blažek

Consent mode - from zero to hero
Consent mode - from zero to heroConsent mode - from zero to hero
Consent mode - from zero to heroMichal Blažek
 
Prezentace 13. PPC camp - GA4 tipy a triky pro PPCčkaře
Prezentace 13. PPC camp - GA4 tipy a triky pro PPCčkařePrezentace 13. PPC camp - GA4 tipy a triky pro PPCčkaře
Prezentace 13. PPC camp - GA4 tipy a triky pro PPCčkařeMichal Blažek
 
Sledování mikro-cílů - jak určit, zda má kampaň budoucnost
Sledování  mikro-cílů - jak určit, zda má kampaň budoucnostSledování  mikro-cílů - jak určit, zda má kampaň budoucnost
Sledování mikro-cílů - jak určit, zda má kampaň budoucnostMichal Blažek
 
Co Vám neřekli o online marketingu
Co Vám neřekli o online marketinguCo Vám neřekli o online marketingu
Co Vám neřekli o online marketinguMichal Blažek
 
Jak optimalizovat PPC kampaně v B2B
Jak optimalizovat PPC kampaně v B2BJak optimalizovat PPC kampaně v B2B
Jak optimalizovat PPC kampaně v B2BMichal Blažek
 
Sociální sítě pro vzdělavatele dospělých - buďme realisté
Sociální sítě pro vzdělavatele dospělých - buďme realistéSociální sítě pro vzdělavatele dospělých - buďme realisté
Sociální sítě pro vzdělavatele dospělých - buďme realistéMichal Blažek
 
Propagace stránek: E-mailing krok za krokem
Propagace stránek: E-mailing krok za krokemPropagace stránek: E-mailing krok za krokem
Propagace stránek: E-mailing krok za krokemMichal Blažek
 
Copywriting - Pište texty na povel
Copywriting - Pište texty na povelCopywriting - Pište texty na povel
Copywriting - Pište texty na povelMichal Blažek
 
Residential Weekend 2014 - Statistics
Residential Weekend 2014 - StatisticsResidential Weekend 2014 - Statistics
Residential Weekend 2014 - StatisticsMichal Blažek
 
Firemní sociální sítě - Michal Blažek
Firemní sociální sítě - Michal BlažekFiremní sociální sítě - Michal Blažek
Firemní sociální sítě - Michal BlažekMichal Blažek
 
Personal Branding - materiály pro účastníky semináře na RW2014
Personal Branding - materiály pro účastníky semináře na RW2014Personal Branding - materiály pro účastníky semináře na RW2014
Personal Branding - materiály pro účastníky semináře na RW2014Michal Blažek
 
Školení v používání doplňku Mail Merge
Školení v používání doplňku Mail MergeŠkolení v používání doplňku Mail Merge
Školení v používání doplňku Mail MergeMichal Blažek
 

More from Michal Blažek (14)

Consent mode - from zero to hero
Consent mode - from zero to heroConsent mode - from zero to hero
Consent mode - from zero to hero
 
Prezentace 13. PPC camp - GA4 tipy a triky pro PPCčkaře
Prezentace 13. PPC camp - GA4 tipy a triky pro PPCčkařePrezentace 13. PPC camp - GA4 tipy a triky pro PPCčkaře
Prezentace 13. PPC camp - GA4 tipy a triky pro PPCčkaře
 
Sledování mikro-cílů - jak určit, zda má kampaň budoucnost
Sledování  mikro-cílů - jak určit, zda má kampaň budoucnostSledování  mikro-cílů - jak určit, zda má kampaň budoucnost
Sledování mikro-cílů - jak určit, zda má kampaň budoucnost
 
Co Vám neřekli o online marketingu
Co Vám neřekli o online marketinguCo Vám neřekli o online marketingu
Co Vám neřekli o online marketingu
 
Jak optimalizovat PPC kampaně v B2B
Jak optimalizovat PPC kampaně v B2BJak optimalizovat PPC kampaně v B2B
Jak optimalizovat PPC kampaně v B2B
 
Sociální sítě pro vzdělavatele dospělých - buďme realisté
Sociální sítě pro vzdělavatele dospělých - buďme realistéSociální sítě pro vzdělavatele dospělých - buďme realisté
Sociální sítě pro vzdělavatele dospělých - buďme realisté
 
Propagace stránek: E-mailing krok za krokem
Propagace stránek: E-mailing krok za krokemPropagace stránek: E-mailing krok za krokem
Propagace stránek: E-mailing krok za krokem
 
Propagace stránek
Propagace stránekPropagace stránek
Propagace stránek
 
Copywriting - Pište texty na povel
Copywriting - Pište texty na povelCopywriting - Pište texty na povel
Copywriting - Pište texty na povel
 
Residential Weekend 2014 - Statistics
Residential Weekend 2014 - StatisticsResidential Weekend 2014 - Statistics
Residential Weekend 2014 - Statistics
 
Firemní sociální sítě - Michal Blažek
Firemní sociální sítě - Michal BlažekFiremní sociální sítě - Michal Blažek
Firemní sociální sítě - Michal Blažek
 
Personal Branding - materiály pro účastníky semináře na RW2014
Personal Branding - materiály pro účastníky semináře na RW2014Personal Branding - materiály pro účastníky semináře na RW2014
Personal Branding - materiály pro účastníky semináře na RW2014
 
Personal Branding
Personal BrandingPersonal Branding
Personal Branding
 
Školení v používání doplňku Mail Merge
Školení v používání doplňku Mail MergeŠkolení v používání doplňku Mail Merge
Školení v používání doplňku Mail Merge
 

JavaScript v GTM - Measure Camp Brno 2017

  • 1. ÚPLNÉ ZÁKLADY JAVASCRIPTU PRO GOOGLE TAG MANAGER ZA MARKETING MAKERS MICHAL BLAŽEK @BLAZEKMICHAL
  • 2. PROČ JS V GTM Kde je to v pořádku? Tvorba cookies, kódy zbožáků, timestamp a další vlastní dimenze. Kde je prasárna – sledování věcí z webu, které by měl poslat vývojář. Proč? • Programátor je neschopný nebo nestíhá • Programátor je drahý • Platforma není rozšiřitelná – každá úprava je problém • Požadavek na rychlou implementaci • Často B2B podniky nebo korporáty s IT v zahraničí ALE! Když to jen trochu půjde, nechte to dělat vývojáře klienta!
  • 3. LIMITACE Blokování GTM Nevíte, zda programátor neudělal změnu na webu Nepřesnost – váš skript se načítá zevnitř GTM – musí se tedy nejdřív načíst GTM a až poté začne skript fungova Doporučuji skripty pouštět při gtm.load Riziko můžete limitovat opatrností – vždy testujte, zda využívaná funkce existuje if(fbq), if(ga), if(window.jQuery) atd. Veškeré své skripty dokumentujte a oznamte to i programátorovi.
  • 6. IDENTIFIKACE CÍLOVÝCH SKUPIN Na základě aktivity uživatele na web určíme, do jaké cílové skupiny uživatel patří, a to uložíme do cookies. Víme, že uživatel patřící k nějaké skupině se musí přihlásit do jiného systému než ostatní atd. var typ = ""; $("a[href*='stranka1.organizace.cz']").click(function() { typ = "typ1"; dataLayer.push({ 'event': 'identifikace', 'typ': typ }); });
  • 7. HEUREKA PIXEL Z (ENHANCED) ECOMMERCE <script> var _hrq = _hrq || []; _hrq.push(['setKey', ‚xxx']); _hrq.push(['setOrderId', '{{transaction id}}']); var xs = []; var field = {{transaction products}}; for (var i=0;i<field.length;i++) { var namehr = field[i].name; var cenahr = field[i].price; var mnostvihr = field[i].quantity; // console.log(cenahr + " " + namehr + " " + mnostvihr); _hrq.push(['addProduct', namehr, cenahr, mnostvihr ]); } _hrq.push(['trackOrder']); (function() { var ho = document.createElement('script'); ho.type = 'text/javascript'; ho.async = true; ho.src = 'https://im9.cz/js/ext/1-roi-async.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ho, s); })(); </script>
  • 8. CJ – KONVERZE – IFRAME KONVERZNÍ PIXELY
  • 9. PŘEČTENÍ ID TRANSAKCE Z THANK YOU PAGE A ÚPRAVA PRVKŮ var idtransakce; idtransakce = $('.tableDefault:not(".tableOrderDetail") tr td').eq(1).text(); Pomocí jednoduchého jQuery můžete vyřešit i další problémy – zde drobná ukázka: https://www.w3schools.com/jquery/tryit.asp?filename=tryjqu ery_dom_html_set Např. Když programátor omylem nasadil slevu 30 % místo 20 %. Takto jsme opravili o víkendu.
  • 10. MĚŘENÍ E-MAILŮ MIMO KONTAKTNÍ FORMULÁŘE http://www.michalblazek.cz/post/121534340593/merit- konverze-z-emailu-analytics • změna e-mailu na základě zdroje • kopírování obsahu http://www.michalblazek.cz/post/160155873078/m%C4%9B% C5%99te-akce-s-telefonn%C3%ADm-%C4%8D%C3%ADslem- a-e-mailem-na-webu • další akce nad telefonním číslem/mailem http://www.michalblazek.cz/post/142138534943/sledovani- odeslani-google-forms-v-google-analytics
  • 11. ONCE USER-ID – ALWAYS USER-ID – SIMO AHAVA https://www.simoahava.com/gtm-tips/once-userid-always- userid/ Super skript. Ale! Pozor na ochranu soukromí uživatele. Uživatel vám nedal souhlas se sledováním, když není přihlášený. Řešte s právníkem klienta.
  • 13. FILTRY - ZMĚNA <script> // Skript byl výrazně zjednodušen proti prezentovanému. Principem je // využití .change – změny pole $( "#filter-country") .change(function () { $( "#filter-country option:selected" ).each(function() { if( $( this ).val() === '' ) { zeme = ""; } else { zeme += $( this ).text() + " "; } }); dataLayer.push({ "zeme": zeme, "event": "filter" }); }); </script>
  • 14. PRVKY, KTERÉ SE PŘIDAJÍ DO WEBU AŽ PO NAČTENÍ Je možné odposlechnout podobnými skripty. Sledujeme změnu DOM. $("body").on('DOMSubtreeModified', "mydiv", function() { dataLayer.push({ "event": "newsletter" }); }); https://stackoverflow.com/questions/15657686/jquery-event- detect-changes-to-the-html-text-of-a-div
  • 15. FB – ADDTOCART A DALŠÍ UDÁLOSTI
  • 17. ENHANCED ECOMMERCE FUNNEL PRO SLUŽBU • Kód byl skryt. Pokud jej chcete, napište mi a pošlu více info. • V GTM je vytvořený tag, který se spouští při daných eventech. • Např. • Nejedná se o spam – uživatel doscrolloval do 75 % • Vysoce zaujatý návštěvník – uživatel klikl na CTA tlačítka • Posílá se do Analytics jakou checkout action step • https://developers.google.com/ta g-manager/enhanced- ecommerce#checkoutstep
  • 18. SKLIK KONVERZNÍ KÓD BEZ GTM http://www.michalblazek.cz/post/131553058703/sklik- konverze-contact-form-7-wordpress Využívejte hooky formulářů a funkcí
  • 19. VYUŽITÍ IF, INDEXOF // Užitečné, když například nemáte naimplementovaný správně pagetype. // Na základě obsahu URL můžete určit. Můžete využít i pro content // grouping var path = document.location.pathname; var title = document.getElementsByTagName("title")[0].innerHTML; // if path contains /e/orders/, consider it as pageType=basket if (path.indexOf("/e/orders/") > -1) { event.pageType = "basket"; } if (title.indexOf("404") > -1) { event.pageType="error"; }
  • 20. JSON STRINGIFY – JSON PARSE // Do cookies můžete uložit pouze text. Abyste objekt uložili do // cookies, musíte jej změnit na text. var kosik = { "basketItems": basketitemshelp, "basketTotal": total, "email": useremail }; setCookie("persoo_kosik", JSON.stringify(kosik), 360); var obsahkosiku = JSON.parse(obsahkosikuHelp);