Google Analytics

de en

Google Analytics ITP 2.1 vorbeugen — HTTP Set-Cookie /snippet/

February 26, 2019

Hier ist der kleine Cloudflare Workers-Schnipsel, der benötigt wird, um das _ga Cookie über HTTP zu setzen, um ITP 2.1 von Webkit zu umgehen.

Hier ist der kleine Cloudflare Workers-Schnipsel, der benötigt wird, um das _ga Cookie über HTTP zu setzen, um ITP 2.1 von Webkit zu umgehen

Kürzlich hat das Team von Webkit [angekündigt] (https://webkit.org/blog/8613/intelligent-tracking-prevention-2-1/), dass gemäß ITP 2.1 First-Party-Cookies, die nicht über den HTTP-Header gesetzt wurden (d.h. Cookies, die mit der document.cookie API erstellt wurden), auf einen Ablauf von 7 Tagen beschränkt werden.

Web-Analysten wissen, dass dies eine große Gefahr für die Qualität der Nachverfolgung darstellt, da First-Party-Cookies mit einer Verfallszeit von 2 Jahren genau so konzipiert sind, wie z.B. Google Analytics.

In seiner unübertroffenen Art hat [Simo Ahava] (https://www.simoahava.com/analytics/use-localstorage-client-id-persistence-google-analytics/) bereits eine Lösung veröffentlicht, die den Client-Id-Speicher in den lokalen Speicher des Browsers verschiebt. Allerdings nicht ohne Vorbehalte.

Ich bin ein großer Fan davon, nicht alles auf den Client zu verlagern, sondern bestimmte Dinge serverseitig zu implementieren.

Aber erst seit ich auf Cloudflare Workers gestoßen bin, die performante Proxy-Schicht zwischen dem Client und dem eigentlichen Ursprung (Server).

Warum ist ein solcher Proxy von Vorteil? Weil er Ihnen besonders dann hilft, wenn Sie keine Kontrolle über Web-Server haben, da Sie Cloud-Provider lieben (denken Sie an Medium, Shopify, etc.).

Sicherlich werden Google und die anderen Hauptakteure Massnahmen ergreifen, um mit ITP 2.1 fertig zu werden. Nichtsdestotrotz scheint es so, als ob die Welt der digitalen Analyse weitere Schritte in Richtung einer serverseitigen Welt des Tracking macht.

Generierung einer Google Analytics-Client-Id in Cloudflare Workers

Angenommen, Sie haben ein Cloudflare Workers-Setup, dann müssen Sie Folgendes hinzufügen, um mit ITP 2.1 umgehen zu können:

  • Finden Sie die entsprechende Stelle in Ihrem Skript, um zu prüfen, ob bereits ein _ga Cookie gesetzt ist, z.B.
    const cookies = event.request.headers.get('Cookie');

    if(cookies.indexOf('_ga=GA') === -1)) {...}
  • Fügen Sie eine globale Konstante mit Ihrer gewünschten Tracking-Domäne hinzu, z.B.
    const trackingDomain = 'yourdomain.com';
  • Und jetzt die erforderliche Zeile zum Setzen des GA-Cookies per HTTP-Header, wobei Response die Antwort ist, die Sie an den Client zurücksenden werden
response.headers.append('Set-Cookie', `_ga=${["GA1", trackingDomain.split('.').length, crypto.getRandomValues(new Uint32Array(1))[0] & 2147483647, Math.round((new Date).getTime() / 1E3)].join(".")}; Domain=.${trackingDomain}; Max-Age=63072000;`);

Was jetzt passiert, ist, dass Sie für alle Benutzer ohne _ga-Cookie das _ga-Cookie sozusagen manuell setzen. Der GA-Tracker kann dann die Client-Id von Ihrem _ga-Cookie abfragen, und ITP 2.1-Browser werden dieses Cookie nicht berühren.

Warnung: Dies ist nur ein inspirierender Beitrag und behandelt keine Themen wie allowLinker- und Tracker-Einstellungen (d.h. unterschiedliche Cookie-IDs, etc.).

Neugierig geworden?
Skalieren auch Sie mit der richtigen Marketing Technology. Sprechen Sie uns an.