Dieser Artikel beschreibt eine Lösung, um Google Analytics auf AMP Seiten (Accelerated Mobile Pages) zu implementieren und dabei eine Cross-Domain GA Client-IDs einzusetzen, welche ein korrektes Tracking der Nutzer auf der eigenen Webseite sowie auf nmögliche AMP Cache Servers gewährleistet.

Wenn Sie schon einmal ein Analytics Tracking auf AMP Seiten umgesetzt haben, ist Ihnen vielleicht aufgefallen, dass es hierbei einige Schwierigkeiten geben kann. Das größte Problem besteht darin, dass AMP Seiten von fremden Cache Servern wie beispelsweise amp.cloudflare.com oder cdn.ampproject.org geladen werden können. Somit ist die Nutzung eines 1st Party Cookies für die Speicherung der Tracking Client-ID zwar theoretisch möglich, jedoch ist damit keine Auswertung des Nutzerverhaltens über die eigene Webseite und die AMP Cache Server hinweg möglich. Um dieses Problem zu lösen, kann man folgene Schritte umsetzen:

  1. Richten Sie einen Google Tag Manager Container für Ihre AMP Seiten ein
  2. Konfigurieren Sie das GA Pageview Tracking und publizieren Sie den Container
  3. Implementieren Sie ein serverseitiges Script auf Ihrer Haupt-Domain (PHP, ASP.NET, Servlet, ...), welches die folgenden Funktionalitäten umsetzt:
    • Check ob _ga Cookie existiert
    • Wenn der _ga Cookie existiert, Extraktion der GA Client Id (Letzte zwei Segmente des mit Punkten getrennten Wertes)
    • Wenn der _ga Cookie nicht existiert, Generierung einer neuen Client Id und Setzen dieser Client Id als Cookie (_ga Cookie Wert = "1.2." + zufällige Client Id + "." + Aktueller Zeitstempel)
    • Download der GTM AMP Container JSON Daten vom Google Server (https://www.googletagmanager.com/amp.json?id=GTM-XXXXXX>m.url=SOURCE_URL)
    • Ersetzen der Zeichenfolge "CLIENT_ID(AMP_ECID_GOOGLE,,_ga)" in den JSON Daten mit der GA Client Id
    • Rückgabe der derart modifizierten JSONvDaten
  4. Als letzten Schritt implementieren Sie den Container auf Ihren AMP Seiten, wobei der modifizierte Container von Ihrer eigenen Script URL anstatt der googletagmanager.com URL geladern werden muss

Wenn Sie alle Schritte befolgt haben, können Nutzer Cross-Domain über Ihre Hauptseite und mögliche AMP Cache Server getrackt werden!