Na obsah stránky

Google Analytics bez cookies

Aleš Roubíček | | # permalink

Máme tu rok 2022 a weby jsou plné “cookie lišt“ a jiných podivných popupů. Ačkoliv nutně nemusí. Ne, že by nemuseli uživatele informovat o tom, že se ho chystají špehovat na každém kroku – a tato data prodávat dál. To je samozřejmě k uživateli fér. Nemusí ale uživatele za každou cenu špiclovat.

Já vím. Všichni si ale chceme honit pindíky nad erektivními grafy v Google Analytics. I mě zajímá, kolik lidí si tento článek přečte. Nechci u toho pomáhat Googlu k získávání dat, která mu na mým webu můžou být ukradená… Jak vidíte, žádnou cookie lištu nevidíte!

Není to tím, že bych se na ní vykašlal. Místo zhoršování UX, jsem se rozhodl, že mi stačí jednoduchá analytika. Koukal jsem, že na Twitteru je to žhavé téma a nikdo neví pořádně jak na to. A když, tak na to plánuje prodávat školení nebo já nevím co. Přitom je to taková prkotina…

Základem je neřešit kód, co vám vygenerují GA, protože ten asi tak snadno nenakonfigurujete. A pořád vkládáte jejich script do stránky a to je to, co nechceme. Analytics mají své API. Můžeme si i rozšířit svou znalost webové platformy o zajímavé API pro asynchroní zasílání analytických dat navigator.sen­dBeacon:

<script>
   self._ga = {
     // Full Measurement Protocol param reference:
     // https://developers.google.com/analytics/devguides/collection/protocol/v1/parameters
     data: {
       v: "1", // Measurement Protocol version.
       tid: "UA-TVUJ-TRACKING-KOD", // Tracking ID.
       cid: `${Date.now()}${Math.random()}`, // Client ID.
       dl: location.href, // Document location.
       aip: 1, // Anonymize IP
     },
     send(additionalParams) {
       navigator.sendBeacon(
         "https://google-analytics.com/collect",
         new URLSearchParams({
           ...this.data,
           ...additionalParams,
         }).toString()
       );
     },
   };
   _ga.send({ t: "pageview" });
 </script>

Nahraďte UA-TVUJ-TRACKING-KOD za kód, který vám analytics vygenerují třeba pro použití v GTM (nebo je někde v původním tracking code).

Zajímavým plusem tohoto řešení je, že vám ze statistik zmizí IE11 a starší, které Beacon API nemají. Takže ho pak můžete přestat s klidným srdcem řešit. A to se vyplatí!

Pokud používáte GA4, tak tenhle kód vám fungovat nebude. Ale taky má API! Těžko říct, zda je použitelné.

Kód jsem sám nevymýšlel, ale okopíroval jsem jej od bývalého zaměstnance Googlu – Surmy.

Užívejte!

Našli jste v článku chybu? Máte námět na reportáž? Založte mi ticket.