Pro aplikace mimo prostředí webového prohlížeče jsou jen velmi omezené možnosti, jak zkontrolovat, jaké eventy a jejich parametry se odesílají do Google Analytics po interakci uživatele s aplikací. Podíváme se na dva standardy aplikací využívající Measurement protokol pro GA4 a zaměříme se na verzi Web&App. Seznámíte se také s testováním aplikací využívajících SDK Firebase, které navíc umožňuje využívat mobilní kontejnery Google Tag Manageru. Ukážeme si z pohledu debugování konkrétní místa v systému Firebase/GTM a příklady chyb, které je možné v určitém místě detekovat.
2. SPECIFIKA ANALYTIKY APLIKACÍ
• Pro debugování nelze využívat rozšíření z prohlížeče
• Cookies nejsou využitelné, uložení dat na klientovi musí řídit vývojář
• Windows/Mac
• Measurement protocol
• knihovny Firebase SDK
• Android
• Firebase SDK je Googlem preferovaná možnost
• samotná SDK je zdarma , platí se využívání databáze.
• umožňuje integraci mobilních kontejnerů Google Tag Manageru
3. MEASUREMENT PROTOCOL
• Standardy
• Možnosti zjišťování chyb
• Session control parametry
• Testování Windows
• Testování Mac
• GTM kontejner
• GTM proměnné
• Parametry eventů
• GTM pastičky
• Zjišťování chyb
FIREBASE SDK - ANDROID
4. STANDARDY MEASUREMENT PROTOKOLU PRO GA4
1. Web+App: verze 2 která je běžně využívaná pro měření webových stránek.
• A protože aplikace využívá stejné webové proměnné (lze využívat virtuální URL) je mnohem jednodušší udržet
konzistentní sledování aplikací a webů.
• David Valejo napsal výborný článek https://www.thyngster.com/app-web-google-analytics-measurement-
protocol-version-2 a zejména v něm popsal příklad jak sestavit požadavek a poslat jej na sběrné servery pro
validaci.
2. Measurement Protocol pro GA4
• je aktuálně popisovaný v Google dokumentaci:
https://developers.google.com/analytics/devguides/collection/protocol/ga4/reference
• je ve skutečnosti již verze 3, ačkoli není takto označována
5. SESSION CONTROL PARAMETRY
• cid, sid,_s, sct, seg jsou
odesílány URL query stringu
• _fv, _ss parametry jsou
odesílány v POST datech jako
parametry page_view eventu
• _fv a _ss parametry musí být z
dat vyjmuty pokud nemají
hodnotu 1
6. TESTOVACÍ DATA LZE ODESLAT Z CONSOLE
BROWSERU
• Dlouhé diskuze s vývojáři ohledně
pořadí parametrů
• Je potřebný důkaz, zda daný
parametr je na sběrném serveru
přijatý a následně viditelný v
Debug view
• _et parametr je povinný
• Možnost poslat POST data z
javasriptu
• A nebo lze využít aplikaci
Postman
• navigator.sendBeacon("https://www.google-
analytics.com/g/collect?v=2&tid=G-
7SZ8HCLFFF&_dbg=1&_p=138462673&ul=en_en&
cid=8437012214.1690447502
&dl=https://www.test.com/device-rename
&dr=https://www.test.com/devicedetails&dt=rename
&sid=1690447502&s=1",
"en=page_view&_ss=1&_fv=1&_et=2&ep.page_id=unique_id
&ep.page_name=screenName&ep.page_category=primaryCategory
&ep.app_version=5.1.490.0&ep.environment=development
&ep.platform=widget_win&ep.country_market_iso=CZ");
7. PŘÍPRAVA TESTOVÁNÍ WINDOWS APLIKACE
• Žádné speciální požadavky
• PC s Windows
• Build aplikace s debug parametry přímo od
vývojáře
• Stáhnout
• Nainstalovat
• Spustit
8. MOŽNOSTI ZJIŠŤOVÁNÍ CHYB
Je celkem mále neplacených debugovacích nástrojů pro Aplikace s measurement protokolem
1. GA4 reporty v reálném čase – 15 minutové okno
1. Vhodné pro sledování dat z více zařízení najednou
2. Prakticky nemožné vybrat jedno jediné konkrétní zařízení sledovat na něm jednotlivé interakce
2. debug view v Google Admin nastavení property:
1. Posílat „_dbg=1“ URL parametr nebo „debug_mode=true“ event parametr
2. Je třeba mít speciální build aplikace, který využívá některého z uvedených parametrů
3. Nesnadný výběr, které zařízení sledovat
4. Ale když se zařízení vybere, tak již lze sledovat data pouze z tohoto zařízení
5. Snadno viditelné eventy parametry jednotlivých eventů
6. Snadné sledování odeslaných eventů a jejich parametrů po každé interakci
9. DEBUG VIEW
• Administrátorská práva
• Nastavení Property
• 30 minutové okno
• Copy a paste obsah
oranžového obdélníku
do Excelu
10. ULOŽENÍ DAT V EXCELU
• Ručně zkopírovaná data vložíte do Excelu
• Každý den na nový List
• Jednotlivé eventy vkládat jako neformátovaný
text do sloupců
• Později doformátovat parametry tak, aby na
jednom řádku byly parametry stejného jména
• Snadno uvidíte, které parametry jsou v jaké
eventu odesílány
• K datům se můžete kdykoli vrátit
12. TESTOVÁNÍ NA APPLE
• Samostatný paramter rozlišující
Window a MAC platformu
• Porovnávání Event count metriky pro
hodnoty jednotlivých parametrů
• Např. Upload X Uploaded
• Nebo Device reset X Device reseted
• Chybějící hodnota parametru
Selected option pro Mac (fialový box)
14. TESTOVÁNÍ NA ANDROIDU
• Windows PC
• Android studio
• Mobilní telefon s Androidem
• Aktivovaný developer mode
• USB kabel do PC
• Build aplikace s debug parametry přímo od
vývojáře
• Stáhnout
• Nainstalovat
• Spustit
15. ODESÍLÁNÍ DAT DO FIREBASE
Definované funkce SDK zajišťující formátování event parametrů, nastavení session control parametrů a
generování automatických eventů
logEvent("deviceReseted",parameters: [
"deviceModel": “XXXXX",
"devicePlatform": "P1",
"deviceSerial": "123456789"])
setUserProperty(
"user_affiliation": "Anonymous", // or "Registered"
"environment": produkce, // or vyvoj, staging
"country": "CH", // 2 znakový kód )
17. PASTIČKY U MODIFIKACÍ EVENT PARAMETRŮ
1. User parametry
a. Pouze funkce Firebase SDK
setUserPropertyString
b. Nelze modifikovat v GTM kontejneru
2. Parametry defaultních Firebase eventů
a. screen_view event
• je generovaný by default z SDK
• Ale jeho spouštění je vázáno na další procedury Android API a není spolehlivé
• Je lepší zakázat defaultní event a generovat jej z kódu aplikace
• Ani v tomto případě není screen_view posílání do GTM
(https://infotrust.com/articles/firebase-analytics-google-tag-manager-mobile-
app-measurements/ )
b. Hit scope parametry nedefaultních eventů mohou být modifikovány,
přidány nebo smazány u každého spuštěného tagu samostatně
18. GTM PREVIEW MODE
• Každé spuštění nového preview vyžaduje
vytvoření nové verze kontejneru
• Nová verze ale nebude publikována jako Live
• U přehledu verzí si dropdown menu vyberete
možnost Preview
• Otevře se okno, kam vložíte identifikátor Firebase
application id
• Po odeslání formuláře tlačítkem „Generate….“ se
objeví QR kód pro naskenování na testovacím
zařízení
• Nebo získáte adb command, který zajistí ve
spuštěné aplikaci nahrazení live GTM kontejneru
jeho testovací verzí
19. GA GTM TAGY
1. Universal analytics
1. Nastavení konfigurace Tagu je umožněno konfigurační
proměnnou
2. Díky tomu je možné v rámci GTM parametricky měnit
cílovou UA property
2. GA4
1. Jde o nativní Firebase tag
2. Property je volená při konfiguraci projektu ve Firebase,
nikoli v GTM
3. Hit level parametry mohou být přidány, přejmenovány,
změněny jejich hodnoty nebo odstraněny.
20. NASTAVENÍ SPOJENÍ GA4 PROPERTY A FIREBASE
• Každou GA4 property je možné propojit s
jednim FireBase projektem
• V jednom projektu může být více aplikací
• Takže každá země, pokud chce mít data v
samostatné property, musí mít svůj
Firebase projekt.
• And configure links between Firebase
project and GA4 property at Firebase user
interface
21. PROMĚNNÉ MOBILNÍCH GTM
KONTEJNERŮ
1. Všechny proměnné jsou pouze verze 1
a. Nelze je dědit z předchozích eventů
b. Nejdou uložit
2. Nelze používat regular expressions v lookup
tabulkách
3. Nejsou javascript variables/code
22. NEDEFINOVANÉ HODNOTY
• V webovém kontejneru nedefinovaná hodnota
parameteru způsobí, že tento parametr není odeslán
do GA
• V mobilním kontejneru ve Firebase nedefinovaná
hodnota parametru způsobí výjimku ve Firebase SDK
a tím dojde k ukončení vykonávání kódu celého tagu
• Je třeba vždy definovat default hodnoty, aby se
předešlo pádům tagů
23. AUTOMATICKÁ KONVERZE TEXTU NA ČÍSLA
• Číselné texty parametrů v logEvent funkci jsou
konvertovány na číselné parametry v GTM
• Což vede třeba k tomu že v lookup tabulkách nikdy
nemohou dojít shody (oranžový box). Je třeba
nahradit nuly písmenem o nebo použít desetinná
čísla
24. DEBUG TAG
• U rozsáhlých změn parametrů je důležité porovnávat
parametry poslané do logEvent funkce s výstupními
parametry předávanými do GA
• Stačí zadefinovat Firebase tag, který nemění žádné
hodnoty a jenom si přidá parametr, který umožní
jeho identifikaci mezi ostatními parametry
• Zdvojnásobí se tím počet hitů, tak je třeba jej
používat pouze v testovacích verzích kontejneru
25. DEBUG VIEW
• Stejné místo pro sledování analytiky jako u
Measurement protokolu
• Může být navíc využito přímo ve Firebase projektu
• Nebo lze využít tradiční GA4 Debug view
• Raději ještě jednou: pokud není u některého z
parametrů definována jeho defaultní hodnota, tak se
celý tag neodešle do GA a tudíž zde není celý event
vidět
28. ZÁVĚRY
• Nemůžete věřit vývojářům, že zadaný kód zpracují bez chyb
• Je třeba vždy po nových implementacích provádět kompletní otestování celého měření analytiky
• Kopírování dat z Debug View do Excelu vám umožní se vždy ke zjištěným datům vrátit
• Formátování aby jeden řádek obsahoval hodnoty pro jeden parametr přináší rychlý přehled
• Barevně si vyznačte zjištěné chyby
• Testování v debugview by mělo být doprovázeno tabulkami v Exploration nebo BQ aby se ověřili i
méně časté scénáře nebo případy, který nebyly testovány
• Dobře provedené otestování při implementaci vám ušetří hodně pozdějších problémů s nesprávnými
nebo chybnými či chybějícími daty