Google nedávno představil novou verzi měřicího kódu pro svůj nástroj Google Optimize. Nejde jen o kosmetickou programátorskou úpravu, jak by se mohlo na první pohled zdát. Novinka přináší zásadní vylepšení A/B testování vašeho webu.
Google Optimize je nástroj pro A/B testování změn na vašem webu. Když třeba váháte, zda umístit tlačítko vpravo nahoru, nebo vlevo dolů, máte ideální příležitost ho vyzkoušet. Jeho nespornou výhodou je nulová cena a snadné propojení s Google Analytics pro sběr výsledků. Nástroj se po několika letech dočkal nového měřicího kódu (snippetu). V čem je jiný a co přináší?
Dosud všechno špatně?
Pro nasazení Google Optimize na svůj web jste dosud měli dvě možnosti. Buďto implementovat starý snippet přímo do webu, anebo zapnout A/B testování skrze Google Tag Manager. Obě varianty se ale načítaly asynchronně se zpožděním. To mělo za následek tzv. flickering, tedy přeskládání již vykreslené stránky před očima uživatele. V příkladu uvedeném výše by to znamenalo, že by se v prohlížeči zobrazila stránka a po chvíli by testované tlačítko najednou přeskočilo z pravého horního do levého spodního rohu. To je ale nepřípustné, spolu s negativním prožitkem to ovlivňuje i chování uživatele, a tedy oslabuje i výsledek a spolehlivost celého experimentu.
K odstranění podobného „problikávání“ se proto v minulosti začal používat tzv. anti-flicker snippet. Tedy dodatečný kód, který před uživatelem skryl celou stránku, dokud se vše nenačetlo a nepřekreslilo – a pak ji teprve zobrazil. Z hlediska metodiky experimentu to bylo lepší, ale uživatelskému prožitku to moc nepomohlo. Návštěvník musel déle koukat na bílou obrazovku a čekat na načtení a zobrazení výsledné stránky. Což může mít třeba nepříjemný dopad na obchodní výkonnost webu.
Rychlejší a bez blikání
Nový snippet všechny zmíněné problémy řeší. Umí se načítat synchronně společně s vykreslováním stránky, takže nezpůsobuje žádné problikávání a nevyžaduje žádný dodatečný anti-flicker snippet. Zároveň je podle prvních testování až čtyřikrát rychlejší než předchozí instalace, takže za běžných okolností nezpomaluje načítání.
<script src="https://www.googleoptimize.com/optimize.js?id=OPT-5MQP944"></script>
Vývojáři zároveň využili příležitosti a udělali v kódu i několik „okrasných změn“. Celkově je kód menší a hezčí. Pro nasazení teď stačí opravdu jen vložit jeden řádek do zdrojáku vašeho webu. Zároveň nové Optimize kontejnery dostávají svá ID začínající prefixem „OPT-“ místo dosavadního zavádějícího „GTM-“, který mylně vzbuzoval dojem, že tu existuje spojitost s Google Tag Managerem.
Kterou variantu tedy vlastně nasadit?
Ve skutečnosti teď před sebou máme několik různých možností, jak Google Optimize nasadit. Kterou z nich si vybrat?
- Pokud už máte nasazený starý asynchronní kód a nemáte s ním problém, nutně nic měnit nemusíte, vše bude fungovat i nadále, a to včetně související podpory. Ovšem se všemi výše popsanými nevýhodami co do spolehlivosti experimentu a uživatelského prožitku.
- Základním preferovaným přístupem by dnes už rozhodně měl být právě nový synchronní kód. Pokud nemáte žádný zásadní důvod, proč ho nechcete, použijte ho.
- Synchronní načítání není všespásné. Spoléhá se na to, že Google bude vše potřebné k danému experimentu vracet vždy spolehlivě a bleskurychle. Proto nový kód nepoužívejte, když víte, že velká část vašich uživatelů má vysoké latence u svého připojení k internetu. V teoretickém extrémním případě, kdy by Googlu „spadly“ servery, budou návštěvníci na načtení vaší stránky čekat donekonečna. Jestli se toho bojíte nebo pokud nejste v případě hypotetickcýh déletrvajících výpadků Googlu schopni kód ve zdrojáku rychle vyměnit, máte i u nového snippetu k dispozici asynchronní variantu (případně i s jejím novým anti-flicker snippetem).
- I nadále zůstává dosavadní možnost nasadit Optimize přes Google Tag Manager. To je ale krajní řešení pro případ, že máte naprosto rigidní vývoj nebo z jiných důvodů nemůžete přidávat kód přímo do zdrojáku webu (například u uzavřených balíčkových e-shopů). GTM přístup je vhodný pro experimenty, kde flickering nevadí, například pro testování pop-up oken vyskakujících na uživatele až po nějaké době strávené na webu. Výhodou je flexibilita pro změny, kód lze například zcela stáhnout, když vám zrovna na webu neběží žádný experiment.