SlideShare uma empresa Scribd logo
1 de 32
Google Tag Manager
AZ ALAPOKTÓL A BIZTONSÁGI KÉRDÉSEKIG
@duracelltomi
linkedin.com/in/duracelltomi
tagmanager.hu
GEIGER TAMÁS
Miről lesz szó?
 Röviden a weboldal kódok fejlődéséről
 A Tag Manager és az IT csapat
 A Tag Manager alapvető működése
 Alapfogalmak: címkék, szabályok, makrók
 Haladó eszközök: az adatréteg
 Biztonsági kérdések
2
Röviden a weboldal kódok
fejlődéséről
3
4
 „Egy gyűrű kód mindenek felett”
 Aszinkron kódbetöltés
 Nem kell ismerni az API-t
5
A Tag Manager és az IT csapat
6
Nem megkerülni,
segíteni!
Alapvető tévedés a Tag Managerrel
kapcsolatban, hogy segítségével
megkerülhető vagy kivonható a
folyamatból az IT csapat
7
A Tag Manager alapvető működése
TÁROLÓK, VERZIÓK, VÁZLATOK
8
1. verzió 2. verzió 3. verzió 4. verzió
Tároló (Container: weboldal, weboldal részleg, mobil alkalmazás)
3. verzió
Vázlat
(Draft)
9
Verzió
Címke (tag) Szabály (rule: megjelenítő vagy blokkoló)
Makrók (macro: változók, paraméterek)
10
Alapvető címkék
 Google Analytics (Universal Analytics)
 Google AdWords (konverzió és remarketing)
 DoubleClick címkék
 comScore
 Custom Image Tag (pl. Etargethez)
 Custom HTML (biztonsági kérdések később)
11
Google Analytics alap címke
UA-NNNNN-NN
Szabály: minden oldalon
Google Analytics e-kereskedelmi címke
UA-NNNNN-NN
Szabály: URL = /koszonom.html
Tranzakció adatai
Termék(ek) adatai
MAKRÓ:
UA-NNNNN-NN
12
Google Analytics alap címke
{{GA ID}}
Szabály: minden oldalon
Google Analytics e-kereskedelmi címke
{{GA ID}}
Szabály: URL = /koszonom.html
Tranzakció adatai
Termék(ek) adatai
MAKRÓ
Név: GA ID
Érték:
UA-NNNNN-NN
13
Alapvető makrók
 Konstans szöveg
 URL  {{url}} contains ’/koszonjuk.html’
 Referrer
 Random number  Pl. custom Image címke URL-jébe
 DOM szöveg
 DOM attribútum
 JavaScript változó
 …
14
Az adatréteg (dataLayer)
KOMMUNIKÁCIÓ A TÁROLÓVAL
15
Weboldal
Adatréteg
logged-in  no
ismobile  yes
adat #3  érték #3
adat #4  érték #4
…
Google Tag Manager
Adatréteg makró
Címkék Szabályok
16
Bármilyen adatot át lehet adni
 … ami nem tartalmaz személyes adatot
 Több lépéses folyamatok azonos URL-eken: lépés neve
 Megjelenített tartalom címe
 … közlési dátuma
 … kategóriája
 Megjelenítő böngésző adatai
 Megjelenítő eszköz adatai (WhichBrowser)
 … bármi
17
Érdemes a <head> részben létrehozni
JSON formátum:
<html>
<head>
…
<script>
var dataLayer = [{
’változó1’ : ’érték1’,
’változó2’ : ’érték2’
}];
</script>
</head>
<body>
…
</body>
18
Tag Manager események
dataLayer.push({
’event’ : ’esemény neve’,
’további adat1’ : ’további érték1’,
’további adat2’ : ’további érték2’
});
19
Tag Manager események
 Szabály létrehozásánál speciális makró: {{event}}
 A címke így nem (adott) oldal betöltődésekor aktiválódik
 Lehet kattintás valamire
 Lehet esemény adott pillanatban
 Lehet beágyazott YouTube videó eseménye
 Lehet bármi, ami az oldal betöltése után történik az oldalon
20
Az adatréteg tartalma az oldal
betöltése után
 Ha nem hozzuk létre, akkor magától létrejön az adatréteg változó
 gtm.js: tároló betöltése után
 gtm.dom: amikor a DOM készen áll
 gtm.load  window.onload
21
A Tag Manager és a biztonság
22
Google Analytics fiók esetében
 Ha kompromittálódik egy Google account
 Alapvetően látogatottsági adatok kerülnek ki (nem jó, de nem is a
világvége)
 Advanced felhasználás esetén bevételi adatok, rosszabb esetben profit
adatok (na ez már gond)
 Kampányok eredményei
23
Google Tag Manager fiók esetén
 Ha kompromittálódik egy Google account (és az teljes hozzáféréssel
rendelkezik)
 Elhelyezhető a weboldalba olyan kód, ami csendben követi a
látogatókat (Custom HTML Tag)
 Saját JavaScript kód illeszthető be a weboldalba anélkül, hogy az oldal
forrásához hozzáférésünk volna (Custom JavaScript Tag)
24
Hozzáférési szintek
 Fiók szinten
 View only: alapból egyik tárolót se látja  egyenként kell a tárolókat
engedélyezni
 View, edit, manage: minden tárolót lát minimum view joggal
 Tárolónál
 No access: az adott tárolóhoz nincs hozzáférése
 View only: mindent lát az adott tárolóban, de semmi más
 View and edit: minden lát, új elemet vehet fel, meglévőket módosíthat, de
nem élesíthet (publikálhat) új tároló verziót
 View, edit, delete, publish: +törölhet bármit és kezelheti a verziókat (full access)
25
Kétlépcsős azonosítás
 A normál felhasználói név+jelszó megadása után a rendszer egy
további kódot kér, amelyet üzenetben, telefonhívás útján vagy a
mobilalkalmazásuk által kaphatunk meg
 Bejelentkezés közben megadható, hogy a rendszer többé ne
kérdezze meg a kódot az adott számítógépen
 Jelenleg nem kényszeríthető ki egy tároló felhasználóitól (de
tervezik)
26
Blacklist/whitelist
 Az adatrétegben tiltható bizonyos címkék és makrók futása akkor is,
ha azokat az aktuális tároló tartalmaz
 A tiltás mellett/helyett engedélyezés is lehetséges
 Óvatosan kell ezzel bánni, főleg a makrók tiltásánál, mert egy
letiltott makró blokkolhatja azon címkéket, ahol az használva van
27
Blacklist/whitelist
dataLayer.push({
’gtm.whitelist’: [’<ID>’, ’ <ID>’],
’gtm.blacklist’: [’<ID>’, ’ <ID>’]
});
28
Rendszeres felülvizsgálat
 Jelenleg nincs a felülethez API
 Nincs értesítés új verziók publikálásáról
 Egy lehetséges megoldás az aktuális tárolót rendszeresen letölteni és
hash-el ellenőrizni, változott-e
29
Záró gondolatok
30
Záró gondolatok
 Fontos a biztonság, de ennek megfelelő szabályozása csak a 0. lépés
 A cél lehetőleg kerülni az egyéni JavaScript és egyéni HTML elemeket
 Minden fontos weboldal elemen legyen egyedi ID
 <a href=”#” id=”elementid”>
 Előre meg kell tervezni az adatréteget
 Milyen információkra lehet szükség az egyes címkék implementálásához?
 Nehéz kérdés, biztosan kell később módosítás, ahogy változnak a
technikai lehetőségek és az üzleti célok
31
Köszönöm!
Kérdések?
@duracelltomi
linkedin.com/in/duracelltomi
tagmanager.hu
GEIGER TAMÁS

Mais conteúdo relacionado

Destaque

Журнал "Культурологічні джерела". №4. 2016 рік.
Журнал "Культурологічні джерела". №4. 2016 рік. Журнал "Культурологічні джерела". №4. 2016 рік.
Журнал "Культурологічні джерела". №4. 2016 рік. oomckuzh
 
Daffodils Avenue SMP
Daffodils Avenue SMPDaffodils Avenue SMP
Daffodils Avenue SMPSMP Realty
 
Diapositivas de-discapacidad-cognitiva
Diapositivas de-discapacidad-cognitivaDiapositivas de-discapacidad-cognitiva
Diapositivas de-discapacidad-cognitivaKarencita Losada
 
Pedagogia de projetos
Pedagogia de projetosPedagogia de projetos
Pedagogia de projetosAmor pela EBD
 
Soal UTS TIK kelas 7 semester 2 hardware
Soal UTS TIK kelas 7 semester 2 hardwareSoal UTS TIK kelas 7 semester 2 hardware
Soal UTS TIK kelas 7 semester 2 hardwareCitra Aero
 
T 967-14 via de hecho divorcio
T 967-14 via de hecho divorcioT 967-14 via de hecho divorcio
T 967-14 via de hecho divorcioErika González
 

Destaque (7)

Журнал "Культурологічні джерела". №4. 2016 рік.
Журнал "Культурологічні джерела". №4. 2016 рік. Журнал "Культурологічні джерела". №4. 2016 рік.
Журнал "Культурологічні джерела". №4. 2016 рік.
 
Daffodils Avenue SMP
Daffodils Avenue SMPDaffodils Avenue SMP
Daffodils Avenue SMP
 
expediente académico
expediente académicoexpediente académico
expediente académico
 
Diapositivas de-discapacidad-cognitiva
Diapositivas de-discapacidad-cognitivaDiapositivas de-discapacidad-cognitiva
Diapositivas de-discapacidad-cognitiva
 
Pedagogia de projetos
Pedagogia de projetosPedagogia de projetos
Pedagogia de projetos
 
Soal UTS TIK kelas 7 semester 2 hardware
Soal UTS TIK kelas 7 semester 2 hardwareSoal UTS TIK kelas 7 semester 2 hardware
Soal UTS TIK kelas 7 semester 2 hardware
 
T 967-14 via de hecho divorcio
T 967-14 via de hecho divorcioT 967-14 via de hecho divorcio
T 967-14 via de hecho divorcio
 

Semelhante a Google Tag Manager - A kezdetektől a biztonsági kérdésekig

Mi a baj a Drupaloddal
Mi a baj a DrupaloddalMi a baj a Drupaloddal
Mi a baj a Drupaloddalthesnufkin
 
Moodle 3.7 Viszlát régi Moodle design?
Moodle 3.7 Viszlát régi Moodle design?Moodle 3.7 Viszlát régi Moodle design?
Moodle 3.7 Viszlát régi Moodle design?Vágvölgyi Csaba
 
ITrend meetup máricus
ITrend meetup máricusITrend meetup máricus
ITrend meetup máricusZsuzsa Katona
 
Mágikus Magento - Bevezetés a Magento világába
Mágikus Magento - Bevezetés a Magento világábaMágikus Magento - Bevezetés a Magento világába
Mágikus Magento - Bevezetés a Magento világábaJános Ács
 
Testing the system: ethical hacking and penetration testing (in Hungarian)
Testing the system: ethical hacking and penetration testing (in Hungarian)Testing the system: ethical hacking and penetration testing (in Hungarian)
Testing the system: ethical hacking and penetration testing (in Hungarian)Csaba Krasznay
 
A PHP 5.5 újdonságai.
A PHP 5.5 újdonságai.A PHP 5.5 újdonságai.
A PHP 5.5 újdonságai.Ferenc Kovács
 

Semelhante a Google Tag Manager - A kezdetektől a biztonsági kérdésekig (10)

Berkes andrás pxml architektura 2013-01-16
Berkes andrás pxml architektura 2013-01-16Berkes andrás pxml architektura 2013-01-16
Berkes andrás pxml architektura 2013-01-16
 
Google tag manager
Google tag managerGoogle tag manager
Google tag manager
 
Mi a baj a Drupaloddal
Mi a baj a DrupaloddalMi a baj a Drupaloddal
Mi a baj a Drupaloddal
 
Jee kurzus 4. het
Jee kurzus 4. hetJee kurzus 4. het
Jee kurzus 4. het
 
Moodle 3.7 Viszlát régi Moodle design?
Moodle 3.7 Viszlát régi Moodle design?Moodle 3.7 Viszlát régi Moodle design?
Moodle 3.7 Viszlát régi Moodle design?
 
ITrend meetup máricus
ITrend meetup máricusITrend meetup máricus
ITrend meetup máricus
 
Mágikus Magento - Bevezetés a Magento világába
Mágikus Magento - Bevezetés a Magento világábaMágikus Magento - Bevezetés a Magento világába
Mágikus Magento - Bevezetés a Magento világába
 
Testing the system: ethical hacking and penetration testing (in Hungarian)
Testing the system: ethical hacking and penetration testing (in Hungarian)Testing the system: ethical hacking and penetration testing (in Hungarian)
Testing the system: ethical hacking and penetration testing (in Hungarian)
 
Jee kurzus 1 het
Jee kurzus 1 hetJee kurzus 1 het
Jee kurzus 1 het
 
A PHP 5.5 újdonságai.
A PHP 5.5 újdonságai.A PHP 5.5 újdonságai.
A PHP 5.5 újdonságai.
 

Google Tag Manager - A kezdetektől a biztonsági kérdésekig

  • 1. Google Tag Manager AZ ALAPOKTÓL A BIZTONSÁGI KÉRDÉSEKIG @duracelltomi linkedin.com/in/duracelltomi tagmanager.hu GEIGER TAMÁS
  • 2. Miről lesz szó?  Röviden a weboldal kódok fejlődéséről  A Tag Manager és az IT csapat  A Tag Manager alapvető működése  Alapfogalmak: címkék, szabályok, makrók  Haladó eszközök: az adatréteg  Biztonsági kérdések 2
  • 3. Röviden a weboldal kódok fejlődéséről 3
  • 4. 4
  • 5.  „Egy gyűrű kód mindenek felett”  Aszinkron kódbetöltés  Nem kell ismerni az API-t 5
  • 6. A Tag Manager és az IT csapat 6
  • 7. Nem megkerülni, segíteni! Alapvető tévedés a Tag Managerrel kapcsolatban, hogy segítségével megkerülhető vagy kivonható a folyamatból az IT csapat 7
  • 8. A Tag Manager alapvető működése TÁROLÓK, VERZIÓK, VÁZLATOK 8
  • 9. 1. verzió 2. verzió 3. verzió 4. verzió Tároló (Container: weboldal, weboldal részleg, mobil alkalmazás) 3. verzió Vázlat (Draft) 9
  • 10. Verzió Címke (tag) Szabály (rule: megjelenítő vagy blokkoló) Makrók (macro: változók, paraméterek) 10
  • 11. Alapvető címkék  Google Analytics (Universal Analytics)  Google AdWords (konverzió és remarketing)  DoubleClick címkék  comScore  Custom Image Tag (pl. Etargethez)  Custom HTML (biztonsági kérdések később) 11
  • 12. Google Analytics alap címke UA-NNNNN-NN Szabály: minden oldalon Google Analytics e-kereskedelmi címke UA-NNNNN-NN Szabály: URL = /koszonom.html Tranzakció adatai Termék(ek) adatai MAKRÓ: UA-NNNNN-NN 12
  • 13. Google Analytics alap címke {{GA ID}} Szabály: minden oldalon Google Analytics e-kereskedelmi címke {{GA ID}} Szabály: URL = /koszonom.html Tranzakció adatai Termék(ek) adatai MAKRÓ Név: GA ID Érték: UA-NNNNN-NN 13
  • 14. Alapvető makrók  Konstans szöveg  URL  {{url}} contains ’/koszonjuk.html’  Referrer  Random number  Pl. custom Image címke URL-jébe  DOM szöveg  DOM attribútum  JavaScript változó  … 14
  • 16. Weboldal Adatréteg logged-in  no ismobile  yes adat #3  érték #3 adat #4  érték #4 … Google Tag Manager Adatréteg makró Címkék Szabályok 16
  • 17. Bármilyen adatot át lehet adni  … ami nem tartalmaz személyes adatot  Több lépéses folyamatok azonos URL-eken: lépés neve  Megjelenített tartalom címe  … közlési dátuma  … kategóriája  Megjelenítő böngésző adatai  Megjelenítő eszköz adatai (WhichBrowser)  … bármi 17
  • 18. Érdemes a <head> részben létrehozni JSON formátum: <html> <head> … <script> var dataLayer = [{ ’változó1’ : ’érték1’, ’változó2’ : ’érték2’ }]; </script> </head> <body> … </body> 18
  • 19. Tag Manager események dataLayer.push({ ’event’ : ’esemény neve’, ’további adat1’ : ’további érték1’, ’további adat2’ : ’további érték2’ }); 19
  • 20. Tag Manager események  Szabály létrehozásánál speciális makró: {{event}}  A címke így nem (adott) oldal betöltődésekor aktiválódik  Lehet kattintás valamire  Lehet esemény adott pillanatban  Lehet beágyazott YouTube videó eseménye  Lehet bármi, ami az oldal betöltése után történik az oldalon 20
  • 21. Az adatréteg tartalma az oldal betöltése után  Ha nem hozzuk létre, akkor magától létrejön az adatréteg változó  gtm.js: tároló betöltése után  gtm.dom: amikor a DOM készen áll  gtm.load  window.onload 21
  • 22. A Tag Manager és a biztonság 22
  • 23. Google Analytics fiók esetében  Ha kompromittálódik egy Google account  Alapvetően látogatottsági adatok kerülnek ki (nem jó, de nem is a világvége)  Advanced felhasználás esetén bevételi adatok, rosszabb esetben profit adatok (na ez már gond)  Kampányok eredményei 23
  • 24. Google Tag Manager fiók esetén  Ha kompromittálódik egy Google account (és az teljes hozzáféréssel rendelkezik)  Elhelyezhető a weboldalba olyan kód, ami csendben követi a látogatókat (Custom HTML Tag)  Saját JavaScript kód illeszthető be a weboldalba anélkül, hogy az oldal forrásához hozzáférésünk volna (Custom JavaScript Tag) 24
  • 25. Hozzáférési szintek  Fiók szinten  View only: alapból egyik tárolót se látja  egyenként kell a tárolókat engedélyezni  View, edit, manage: minden tárolót lát minimum view joggal  Tárolónál  No access: az adott tárolóhoz nincs hozzáférése  View only: mindent lát az adott tárolóban, de semmi más  View and edit: minden lát, új elemet vehet fel, meglévőket módosíthat, de nem élesíthet (publikálhat) új tároló verziót  View, edit, delete, publish: +törölhet bármit és kezelheti a verziókat (full access) 25
  • 26. Kétlépcsős azonosítás  A normál felhasználói név+jelszó megadása után a rendszer egy további kódot kér, amelyet üzenetben, telefonhívás útján vagy a mobilalkalmazásuk által kaphatunk meg  Bejelentkezés közben megadható, hogy a rendszer többé ne kérdezze meg a kódot az adott számítógépen  Jelenleg nem kényszeríthető ki egy tároló felhasználóitól (de tervezik) 26
  • 27. Blacklist/whitelist  Az adatrétegben tiltható bizonyos címkék és makrók futása akkor is, ha azokat az aktuális tároló tartalmaz  A tiltás mellett/helyett engedélyezés is lehetséges  Óvatosan kell ezzel bánni, főleg a makrók tiltásánál, mert egy letiltott makró blokkolhatja azon címkéket, ahol az használva van 27
  • 28. Blacklist/whitelist dataLayer.push({ ’gtm.whitelist’: [’<ID>’, ’ <ID>’], ’gtm.blacklist’: [’<ID>’, ’ <ID>’] }); 28
  • 29. Rendszeres felülvizsgálat  Jelenleg nincs a felülethez API  Nincs értesítés új verziók publikálásáról  Egy lehetséges megoldás az aktuális tárolót rendszeresen letölteni és hash-el ellenőrizni, változott-e 29
  • 31. Záró gondolatok  Fontos a biztonság, de ennek megfelelő szabályozása csak a 0. lépés  A cél lehetőleg kerülni az egyéni JavaScript és egyéni HTML elemeket  Minden fontos weboldal elemen legyen egyedi ID  <a href=”#” id=”elementid”>  Előre meg kell tervezni az adatréteget  Milyen információkra lehet szükség az egyes címkék implementálásához?  Nehéz kérdés, biztosan kell később módosítás, ahogy változnak a technikai lehetőségek és az üzleti célok 31