ssGTM Audit-Checkliste
Server-Side Tagging ist nicht einfach. Es gibt viele Stolperfallen und die Dokumentation der Anbieter ist häufig nicht ideal.
Deshalb haben wir in den letzten Wochen einige Audits von Implementierungen durchgeführt. Hier unsere Checkliste mit Erklärungen, die wir dafür verwenden.
Server-Side Tagging ist nicht einfach. Es gibt viele Stolperfallen und die Dokumentation der Anbieter ist häufig nicht ideal.
Deshalb haben wir in den letzten Wochen einige Audits von Implementierungen durchgeführt. Hier unsere Checkliste mit Erklärungen, die wir dafür verwenden.
Über den Autor
Julian Kleinknecht ist Geschäftsführer bei ConversionBoosting und unterstützt Unternehmen seit mehr als 14 Jahren bei Webanalyse und Tracking. Er teilt Erkenntnisse hier, auf LinkedIn und auf YouTube.
Mein Versprechen: Wir haben schon viele für viele Projekte ein Audit des Server Side Taggings gemacht. Ich schreibe hier nur über Themen, zu denen wir schon viel Erfahrung gesammelt haben.
Der normale Web-Container wird beim Server-Side Tagging nicht ersetzt, sondern der Server-Container zusätzlich verwendet.
Ist dies nicht der Fall, werden keine Server-Cookies gesetzt. Und man profitiert nicht von den Vorteilen des Server-Side Tagging.
Am besten trägt man die Server-URL in eine “Google Tag: Configuration Settings” Variable ein:
Werden manche Events direkt an den GA4-Server gesendet (statt über den GTM-Server), kann dies zu Problemen führen. Zum Beispiel können falsche Sessions ohne Informationen zur Traffic-Quelle generiert werden.
Deshalb: Bei allen GA4-Events die Server-URL per “Google Tag Event Settings” Variable oder als Event Parameter übergeben:
Anbieter wie Facebook und Pinterest lassen einen Conversions im Browser und im Server messen. Damit Conversions nicht doppelt gemessen werden, müssen sie dedupliziert werden. Dafür benötigt es eine Event-ID, die sowohl in der Browser- als auch Server-Conversion vorhanden ist.
Im GTM gibt es eine Template-Vorlage “Unique Event ID”, die eine solche ID erstellen kann. Diese muss bei allen Browser-Events übergeben werden:
Das Gleiche gilt für alle Events, die im Server verwendet werden. Also beispielsweise alle GA4 Events oder Events aus “neutralen Tags”, wie das DataTag von Stape:
Jeder der Anbieter wie GA4, Facebook, Pinterest und Affiliate-Tools benötigt Parameter in einem unterschiedlichen Format. Deshalb sollte man diese im Tag, das an den Server gesendet wird, mitsenden.
In der Template-Gallerie findet man eine Variable namens “Universal Conversions Variable”. Diese bringt die Parameter für die jeweiligen Anbieter in das gewünschte Format.
Häufig sieht man, dass eine neue GA4-Property angelegt wurde, um Events an die Facebook CAPI zu senden. Dies ist nicht notwendig. Entweder man verwendet ein “neutrales” Tag wie das Data Tag von Stape oder hängt die zusätzlichen Informationen (wie die eindeutige Event-ID oder die Parameter beim Kauf) an die bestehenden GA4-Events an.
Bestehende Events werden an den GTM-Tagging-Server geschickt (zum Beispiel GA4-Events). Der GTM-Tagging-Server kann aber auch dazu verwendet werden, den Web-Container vom eigenen Server zu laden. Die beiden Vorteile
Häufig wird dieser Schritt einfach vergessen.
Einfach im Quelltext prüfen, ob die GTM-Datei vom Tracking-Server geladen wird:
Als Faustregel gilt: Für jedes Conversion-Tag im Client-GTM sollte es auch ein Tag im Server-Container geben.
Damit die Deduplizierung (siehe oben) funktioniert, müssen die Tags im Web-Container und Server-Container zum gleichen Zeitpunkt ausgespielt werden. Funktioniert dies nicht, werden Conversions doppelt gezählt.
Jeder Anbieter erwartet andere Variablen. Bei der Facebook CAPI müssen sie zum Beispiel so aussehen:
Verwendet man die GA4-Events, um Conversions für andere Anbieter (wie Meta) zu messen, muss man die von Meta erwarteten Parameter übergeben (siehe Punkt 4 bei „Web-Container“). Diese Parameter werden in GA4 jedoch nicht benötigt.
Hierfür erstellt man am einfachsten eine Transformation, welche unerwünschte Parameter entfernt:
Obwohl man es von außen nicht sieht, dürfen auch Conversions im Server-Container nur ausgespielt werden, wenn der Consent vorhanden ist.
Angenommen man verwendet GA4 (Consent-Typ Statistik) für das Google Ads Tracking (Consent-Typ Marketing) im Server-Container. Dann darf man Conversion nur an Google Ads schicken, wenn auch der Consent für Marketing vorhanden ist. Denn in (nur wenigen Fällen) gibt es Besucher, die zwar Statistik zustimmen, aber nicht Marketing.
Hierfür übergibt man in GA4 den Wert des Consent-Cookies und liest in im Server-Container aus:
Oder man spielt auch GA4 nur aus, wenn Consent zu Statistik und Marketing vorhanden ist.
Sinnvolle Optionen sind Spezialanbieter wie Stape, taggrs oder owntag. Auch wenn der GTM-Server selbst per Docker-Image gehostet wird (kompliziert), ist dies eine gute Option.
Nicht sinnvoll ist dagegen Google Cloud als Hoster. Diese Option ist nicht nur teurer als Spezialanbietern, sondern man profitiert auch nicht von den Vorteilen wie verlängerten Cookie-Laufzeiten.
Mehr zur Frage, welche Option die richtige ist, haben wir in unserem Beitrag dazu zusammengestellt.
Spezialhoster bieten die Option, von ITP gelöschte Cookies wiederherzustellen. Dafür wird ein Master-Cookie als Key verwendet und die Werte der Cookies von Google Ads, Meta, usw. in eine Datenbank gespeichert. Werden diese Cookies nun gelöscht, können sie mit den Werten aus der Datenbank wiederhergestellt werden (Wird der GTM-Server selbst per Docker-Image gehostet, ist diese Funktion nicht notwendig).
Wichtig: Man muss diese Funktion aktivieren und vor allem definieren, welcher eigene Cookie als Key verwendet werden soll. Für viele Shopsysteme und CMS gibt es passende Plugins.
Spezialhoster bieten die Möglichkeit, dass Dateien wie “gtm .js” oder “/collect” umbenannt werden, damit sie nicht von AdBlockern blockiert werden.
Auch diese Funktion muss aktiviert werden.
Subdomains, die Worte wie “tracking” o.ä. enthalten, riskieren von AdBlockern geblockt zu werden. Eine unauffällige Domian wie “a. domain .de” ist sinnvoller.
Spezialanbieter bieten die Möglichkeit, Benachrichtigungen zu versenden, wenn zum Beispiel für 8 Stunden keine Transaktion gemessen wurde. Dies deutet darauf hin, dass etwas beim Tracking kaputt gegangen ist.
Viele kennen diese Funktion gar nicht und nutzen sie entsprechend auch nicht.
Anders als bei Meta oder Pinterest gibt es bei Google Ads keine Deduplizierung. Deshalb legt man alle Server-Conversions neu an und lässt diese parallel zu den bestehenden Web-Conversions laufen. Nach einiger Zeit kann man dann einschätzen, ob die Server-Conversions tatsächlich mehr Conversions erfassen.
Wichtig: Die zusätzlichen Server-Conversions sollten anfangs als sekundär markiert sein. Sonst werden alle Conversions doppelt gemessen.
Im Facebook Events Manager aber auch in Pinterest kann man prüfen, ob die Deduplizierung korrekt funktioniert:
Um zum Beispiel das Retargeting bei Meta zu erlauben, müssen bei unter anderem beim “In den Warenkorb legen” und beim Kauf die gekauften Produkte übergeben werden. Diese Werte müssen mit denen im Web-Container übereinstimmen:
Mein Versprechen:Wir haben schon viele für viele Projekte ein Audit des Server Side Taggings gemacht. Ich schreibe hier nur über Themen, zu denen wir schon viel Erfahrung gesammelt haben.
Über den Autor
Julian Kleinknecht ist Geschäftsführer bei ConversionBoosting und unterstützt Unternehmen seit mehr als 14 Jahren bei Webanalyse und Tracking. Er teilt Erkenntnisse hier, auf LinkedIn und auf YouTube.
Du hast Fragen?
Schreib hier eine Nachricht oder kontaktiere mich bei LinkedIn