Ein Hotel, aus dem du nicht mehr herauskommst.
Die Eagles haben diese Vorstellung in „Hotel California“ besungen.
Bei einem Hotel würdest du vermutlich misstrauisch. Bei einem alten Marketing-Tool fällt dir derselbe Gedanke oft erst auf, wenn du es auf deiner Website wiederfindest.
Obwohl ihr es längst gekündigt habt.
Die Rechnung wurde bezahlt. Das Dashboard wurde geschlossen. Die Person, die den Test damals betreut hat, arbeitet inzwischen woanders.
Ein ordentlich beendetes Projekt, könnte man meinen.
Nur steht der eingebaute Code weiterhin auf der Website. Er weiß nichts von eurer Kündigung. Je nach Einrichtung kann er bei neuen Besuchen weiter geladen werden und Meldungen verschicken.
Aus Sicht des Marketings ist der Gast abgereist. Im Browser hat er womöglich noch ein Zimmer.
Bevor wir ihm den Schlüssel abnehmen, schauen wir nach: Welche Dienste werden tatsächlich geladen? Wann werden sie aktiv? Und welche Aufgabe haben sie noch?
1. Verstehe zuerst, wonach du suchst
Wenn du eine Website aufrufst, lädt dein Browser nicht einfach ein fertiges Bild herunter.
Er fordert unterschiedliche Bestandteile an: den Inhalt der Seite, Bilder, Gestaltungsvorgaben und häufig auch kleine Programme. Diese Programme heißen Skripte. Viele davon sind in der Programmiersprache JavaScript geschrieben.
Ein Skript kann beispielsweise das aufklappbare Menü bedienen. Ein anderes kann erfassen, dass jemand eine Produktseite angesehen hat, und diese Information an einen Statistikdienst senden.
Dieses Erfassen von Besuchen und Handlungen ist mit Tracking gemeint.
Für deine Untersuchung sind zwei Vorgänge besonders interessant: das Laden eines solchen Programms und das Versenden einer Messmeldung. Beide können im Netzwerkfenster des Browsers auftauchen.
Am Meta Pixel lässt sich der Unterschied gut zeigen. Bei einer üblichen Einbindung lädt der Browser zunächst die Datei „fbevents.js“. Darin steckt das Programm für die Messung. Die Meldung über einen Seitenaufruf wird über eine weitere Anfrage übertragen. Diese Trennung kannst du auch in Metas Beschreibung des Pixel-Basiscodes nachvollziehen.
Wenn du die Programmdatei findest, hast du also noch nicht nachgewiesen, dass ein bestimmter Kauf gemeldet wurde.
Und umgekehrt bedeutet das nicht, dass beim Laden einer Programmdatei gar keine Informationen übertragen werden. Schon die Verbindung zum Anbieter umfasst technische Informationen, etwa die IP-Adresse, über die die Verbindung erfolgt.
Es geht bei der Unterscheidung darum, genau zu erkennen, was du beobachtest.
2. Beginne mit einem nachvollziehbaren Testbesuch
Öffnest du deine Website einfach in deinem üblichen Browserfenster, bringst du möglicherweise einiges mit: eine gespeicherte Zustimmung im Cookie-Banner, eine Anmeldung als WordPress-Administrator und einen Werbeblocker.
Das beeinflusst, was passiert.
Manche Websites messen angemeldete Administratoren anders als normale Besucher. Ein Werbeblocker kann Anfragen unterdrücken. Eine gespeicherte Zustimmung kann dafür sorgen, dass Programme sofort starten, obwohl ein neuer Besucher erst gefragt würde.
Für einen ersten Test kannst du in Chrome über das Dreipunkt-Menü ein „Neues Inkognitofenster“ öffnen. Schließe vorher vorhandene Inkognitofenster. Ein zusätzliches Fenster allein beginnt keine unabhängige Sitzung.
Rufe darin deine Website auf und triff zunächst keine Auswahl im Cookie-Banner. Melde dich auch nicht in WordPress an.
Der Inkognitomodus macht dich übrigens nicht unsichtbar. Er hilft hier dabei, ohne die gespeicherten Websitedaten deiner normalen Sitzung zu beginnen. Chrome blockiert dort außerdem standardmäßig Drittanbieter-Cookies. Dein Test bildet deshalb bestimmte Bedingungen ab, nicht automatisch die Situation jedes Besuchers. Google erläutert das in seiner Beschreibung des Inkognitomodus.
Notiere den verwendeten Browser und prüfe, ob Erweiterungen auch im Inkognitomodus aktiv sind. Wenn ein Blocker mitläuft, gehört das zum Testergebnis.
3. Öffne das Netzwerkfenster und lade die Seite erneut
Jetzt öffnest du die Entwicklertools. Der Name klingt, als müsstest du dafür erst einen Programmierkurs absolvieren. Für die folgenden Schritte ist das nicht nötig.
Gehe so vor:
- Klicke mit der rechten Maustaste auf eine freie Stelle der Website.
- Wähle „Untersuchen“.
- Öffne den Reiter „Network“ beziehungsweise „Netzwerk“. Wenn er nicht sichtbar ist, findest du ihn möglicherweise hinter dem Überlaufmenü mit den weiteren Reitern.
- Achte darauf, dass die Aufzeichnung läuft. Der Aufnahmeknopf im Netzwerkbereich ist dann rot.
- Wähle „All“ beziehungsweise „Alle“ und leere das Filterfeld.
- Lade die Website erneut, während die Entwicklertools geöffnet bleiben.
Der letzte Schritt ist entscheidend. Das Netzwerkfenster protokolliert die Vorgänge ab dem Zeitpunkt, an dem die Werkzeuge geöffnet sind. Es rekonstruiert nicht nachträglich den ganzen Seitenaufruf. Die Vorgehensweise findest du auch in der Chrome-Anleitung zum Netzwerkfenster.
Jetzt sollte sich die Liste füllen.
Lass sie für einen Moment in Ruhe. Manche Programme werden verzögert nachgeladen.
Für die Untersuchung sind außerdem zwei Einstellungen hilfreich: „Preserve log“ beziehungsweise „Protokoll beibehalten“ bewahrt die Einträge beim Wechsel auf eine andere Seite. „Disable cache“ beziehungsweise „Cache deaktivieren“ verhindert während der geöffneten Entwicklertools, dass der normale Browser-Zwischenspeicher bereits gespeicherte Dateien liefert. Die Einstellungen sind in der Netzwerk-Referenz von Chrome beschrieben.
Der Cache ist schlicht ein Speicher für bereits geladene Dateien. Ohne diese Einstellung kann eine Datei aus diesem Speicher kommen, statt erneut beim Anbieter angefordert zu werden.
Aber Achtung: „Cache deaktivieren“ löscht keine gespeicherte Auswahl im Cookie-Banner. Das sind unterschiedliche Dinge.
4. Schau auf die vollständigen Adressen, nicht nur auf die Dateinamen
Wahrscheinlich stehen jetzt ziemlich viele Einträge vor dir. Vielleicht hundert, vielleicht mehr.
Das heißt nicht, dass deine Website hundert Tracking-Tools verwendet.
Ein einziges Programm kann mehrere Dateien laden und viele Meldungen senden. Dazu kommen Bilder, Schriften und andere Bestandteile der Website.
Um die Ziele leichter zu erkennen, klicke mit der rechten Maustaste auf die Überschriften der Netzwerktabelle und blende die Spalte „Domain“ ein. Sie zeigt den Domainnamen des jeweiligen Ziels, beispielsweise „connect.facebook.net“.
Wenn du einen Eintrag anklickst, findest du unter „Headers“ beziehungsweise „Header“ die „Request URL“, also die vollständige Adresse der Anfrage.
Die ist wichtig. Der Dateiname „collect“ allein verrät dir nicht, welches Programm dahintersteckt. Mehrere Anbieter verwenden dieses Wort für die Annahme von Messdaten.
Hier sind einige typische Hinweise:
| Was du in der Adresse findest | Worauf das hindeutet | Was du daraus noch nicht schließen kannst |
|---|---|---|
| „www.googletagmanager.com/gtm.js“ mit einer Kennung wie „GTM-…“ | Ein Web-Container des Google Tag Managers wird angefordert. | Welche darin eingerichteten Tags tatsächlich ausgeführt werden. |
| „www.googletagmanager.com/gtag/js“ | Das Google-Tag-Skript wird angefordert, das unter anderem für Analytics oder Google Ads verwendet werden kann. | Dass zwangsläufig ein GTM-Container eingebunden ist. |
| „google-analytics.com/g/collect“ oder „analytics.google.com/g/collect“ | Eine Anfrage an einen üblichen Empfangspunkt für Google-Analytics-Messdaten. | Dass die Daten im richtigen Konto korrekt ausgewertet werden. |
| „connect.facebook.net/…/fbevents.js“ | Die Programmdatei des Meta Pixels wird angefordert. | Dass beispielsweise ein Kaufereignis erfolgreich gemeldet wurde. |
| „www.clarity.ms/collect“ | Eine Anfrage an die Datenerfassung von Microsoft Clarity. | Dass damit sämtliche Einstellungen und Aufzeichnungen korrekt sind. |
Die Google-Skriptadressen findest du in Googles Einbindungsbeispielen. Google nennt außerdem die üblichen Analytics-Messanfragen; Microsoft beschreibt die Prüfung der Clarity-Anfragen.
Die Beispiele sind Erkennungshilfen, keine vollständige Liste aller möglichen Adressen. Anbieter können mehrere Domains verwenden. Eine Website kann Programme auch über eigene Adressen bereitstellen.
Besonders tückisch ist der zweite Eintrag: Nur weil in einer Adresse „googletagmanager.com“ steht, muss nicht der Google Tag Manager verwendet werden. Auch das Google Tag wird über diese Domain ausgeliefert. Schau deshalb auf den restlichen Teil der Adresse.
Du kannst das Filterfeld nutzen, um nacheinander nach Begriffen wie „google“, „facebook“ oder „clarity“ zu suchen. Lösche den Filter anschließend wieder. Sonst übersiehst du genau die Dienste, nach denen du noch gar nicht gesucht hast.
5. Prüfe, ob die Anfrage erfolgreich war und was sie transportiert
Ein Eintrag in der Liste bedeutet zunächst, dass der Browser einen entsprechenden Vorgang protokolliert hat.
Ob die Datei tatsächlich geladen oder eine Meldung erfolgreich übertragen wurde, musst du zusätzlich prüfen.
Dafür gibt es die Spalte „Status“. Bei einer Analytics-Messanfrage sprechen beispielsweise „200“ oder „204“ für eine erfolgreiche Übertragung. „204“ bedeutet dabei, dass der Server keine zusätzlichen Inhalte in der Antwort zurückliefert. Das ist bei einer Messmeldung völlig normal.
Ein roter Eintrag kann dagegen auf eine Blockierung oder einen Fehler hinweisen. Schau dir die konkrete Meldung an. Ein browserseitig blockierter Aufruf ist etwas anderes als eine erfolgreiche Übertragung. Allerdings beweist auch nicht jeder rote Fehler, dass keinerlei Daten beim Ziel angekommen sind: Manche Fehler betreffen erst den Umgang mit der Antwort.
Bei Programmdateien lohnt sich außerdem ein Blick auf die Größenangabe. Hinweise wie „memory cache“ oder „disk cache“ zeigen, dass der Browser eine gespeicherte Kopie verwendet hat.
Du kannst also durchaus feststellen: Das Programm wurde für die Seite geladen, aber nicht bei diesem Aufruf erneut aus dem Internet heruntergeladen.
Wenn du eine Messanfrage genauer untersuchen möchtest, öffne ihre Details. Übertragene Angaben können in der Adresse und im Bereich „Payload“ stehen. „Payload“ bezeichnet hier die mitgeschickten Daten. Je nach Anfrage zeigt Chrome sie beispielsweise als „Query String Parameters“, „Form Data“ oder „Request Payload“ an.
Du musst noch nicht jedes Kürzel entschlüsseln können. Für eine erste Prüfung interessieren dich vor allem erkennbare Informationen: Welche Seite wird genannt? Steht dort ein Ereignisname? Ist eine Kennung für das Zielkonto enthalten? Tauchen Angaben auf, die dort nicht hingehören sollten, etwa Inhalte aus einem Kontaktformular?
Wenn du etwas nicht einordnen kannst, dokumentiere die konkrete Anfrage und lass sie prüfen. Ein Feldname, der dir fremd ist, wird durch Raten nicht verständlicher.
Und selbst eine erfolgreich übertragene Meldung beweist noch nicht, dass sie im vorgesehenen Bericht richtig erscheint. Dafür muss zusätzlich im Zielsystem nachgesehen werden.
6. Vergleiche verschiedene Entscheidungen und Handlungen
Bis hierhin hast du einen bestimmten Seitenaufruf untersucht.
Damit weißt du noch nicht, was die Website nach einem Klick auf „Annehmen“, nach dem Start eines Videos oder beim Abschicken eines Formulars lädt.
Für eine brauchbare Bestandsaufnahme brauchst du deshalb mehrere Durchläufe.
Beginne mit einem Besuch ohne Auswahl im Cookie-Banner. Notiere die beobachteten Dienste. Prüfe anschließend in einer frischen Sitzung eine Ablehnung und danach in einer weiteren frischen Sitzung die Zustimmung zu den betreffenden Zwecken.
Schließe beim Wechsel zwischen diesen Inkognito-Testläufen jeweils alle Inkognitofenster, nachdem du deine Ergebnisse festgehalten hast. Öffne danach ein neues Fenster und richte die Aufzeichnung erneut ein.
Nur die Netzwerkliste zu leeren genügt nicht. Damit entfernst du die angezeigten Zeilen, aber keine zuvor gespeicherte Zustimmung.
Gehe innerhalb der jeweiligen Sitzung auch die wichtigen Handlungen durch. Öffne eine Produktseite, lege etwas in den Warenkorb oder starte ein eingebettetes Video. Wenn du ein Formular testest, verwende geeignete Testdaten und stimme das mit den zuständigen Personen ab. Deine Anfrage kann schließlich wirklich beim Vertrieb landen.
Beobachte, welche Einträge hinzukommen. Manche Meldungen erscheinen erst nach einer kurzen Verzögerung.
Mit aktiviertem „Preserve log“ bleiben auch die Einträge der vorherigen Seite erhalten. Das ist hilfreich, wenn eine Formularbestätigung auf eine neue Seite führt. Du musst dann allerdings mitnotieren, auf welcher Seite und nach welcher Handlung ein Eintrag aufgetaucht ist.
Interessant sind gerade die Unterschiede: Ein Videodienst taucht vielleicht erst nach dem Start des Videos auf. Ein Analyseprogramm wird möglicherweise erst nach Zustimmung geladen. Ein alter Werbe-Pixel könnte dagegen schon beim ersten Aufruf erscheinen.
Das sind konkrete Beobachtungen, denen du nachgehen kannst.
Eine Anfrage vor Zustimmung ist dabei nicht automatisch der Beweis für einen bestimmten Rechtsverstoß. Zunächst musst du klären, welchen Zweck sie erfüllt, was sie überträgt und wie die Einrichtung funktionieren soll. Ebenso wenig ist „Ich finde keine Cookies“ ein Beweis dafür, dass nichts gemessen wird. Messmeldungen können auch ohne Cookies versendet werden.
7. Finde heraus, wodurch ein unerwarteter Dienst geladen wird
Nehmen wir an, du findest tatsächlich noch das Analyseprogramm aus dem alten Test.
Dann ist die nächste Frage: Wo kommt die Einbindung her?
Vielleicht aus dem Google Tag Manager. Vielleicht aus einem WordPress-Plugin. Vielleicht hat jemand den Code direkt in die Website eingefügt.
Im Netzwerkfenster kann die Spalte „Initiator“ einen ersten Hinweis geben. Sie zeigt, wodurch eine Anfrage ausgelöst wurde. In den Details einer Anfrage kann außerdem ein gleichnamiger Bereich weitere Zusammenhänge zeigen.
Wenn dort beispielsweise „gtm.js“ auftaucht, ist das ein Hinweis auf den Google Tag Manager als beteiligten Auslöser. Wenn ein anderes Skript genannt wird, kannst du dessen Herkunft weiter untersuchen.
Das ist allerdings keine zuverlässige Auskunft darüber, welcher Mitarbeiter welchen Eintrag wann angelegt hat. Die technische Spur kann über mehrere Programme führen. Sie hilft dir dabei, die richtige Stelle zum Nachsehen zu finden.
Frag anschließend konkret nach:
„Beim Aufruf unserer Produktseite wird diese Datei geladen. Als Auslöser ist dieses Skript angegeben. Zu welchem Dienst gehört das, und brauchen wir ihn noch?“
Damit kann ein Entwickler oder eine Agentur wesentlich mehr anfangen als mit „Da läuft irgendein Facebook-Ding“.
Lösche die Einbindung erst, wenn ihre Aufgabe geklärt ist. Und prüfe nach einer Entfernung erneut unter denselben Bedingungen. Sonst weißt du nicht, ob die gewünschte Änderung tatsächlich angekommen ist.
8. Halte fest, was du gefunden hast – und was du nicht sehen kannst
Für deine Ergebnisse genügt zunächst eine kleine Tabelle. Hier ein erfundenes Beispiel:
| Getestete Situation | Beobachtung | Was noch zu klären ist |
|---|---|---|
| Startseite ohne Banner-Auswahl | GTM-Programmdatei erfolgreich geladen. | Welche Tags der Container unter diesen Bedingungen ausführt. |
| Produktseite nach Zustimmung | Analytics-Messanfrage mit Status 204 beobachtet. | Ob die Kennung zum richtigen Analytics-Ziel gehört. |
| Start eines Videos | Zusätzliche Verbindungen zum Videoanbieter. | Welche Funktionen und Datenübertragungen damit verbunden sind. |
| Produktseite nach Zustimmung | Clarity-Anfrage an „collect“ beobachtet. | Ob dieser Dienst noch verwendet werden soll. |
Ergänze Datum, genaue Seitenadresse, Browser, Banner-Auswahl und aktive Erweiterungen. Bewahre bei wichtigen Funden einen passenden Screenshot oder die relevanten Angaben zur Anfrage auf.
Schicke dabei nicht gedankenlos vollständige Netzwerkprotokolle herum. Darin können persönliche Angaben, Zugangsdaten oder andere vertrauliche Informationen enthalten sein.
Die wichtigste Grenze deiner Prüfung bleibt aber: Du siehst die Vorgänge im untersuchten Browser unter den getesteten Bedingungen.
Wenn die Website eine Meldung zunächst an eine eigene Adresse sendet und ein Server sie anschließend an Google oder Meta weiterleitet, zeigt dein Browser diese spätere Weiterleitung nicht. Google beschreibt solche Wege beispielsweise beim serverseitigen Versand von Analytics-Daten.
Ein Server ist hier ein Computer, der die Anfrage entgegennimmt und weiterverarbeitet. Was er danach mit den Daten macht, muss anhand seiner Einrichtung und der beteiligten Zielsysteme geprüft werden.
Deshalb bedeutet eine Adresse unter eurer eigenen Domain nicht automatisch, dass die Daten im Unternehmen bleiben. Und ein erfolgloser Suchlauf nach „facebook“ beweist nicht, dass Meta keinerlei Informationen erhält.
Auch automatische Scanner und Browser-Erweiterungen können dir Hinweise auf eingesetzte Dienste geben. Ihre Trefferliste ersetzt aber nicht die Prüfung der konkreten Seiten, Handlungen und Zustimmungszustände.
Dein Ergebnis sollte deshalb möglichst genau lauten: „Unter diesen Bedingungen habe ich diese Anfragen beobachtet.“
Das klingt vielleicht weniger endgültig als „Wir haben genau vier Tracking-Tools“. Es ist aber eine Aussage, auf die du dich tatsächlich stützen kannst.
Und damit bist du schon deutlich weiter als mit der Erinnerung, dass irgendwann einmal irgendjemand ein Tool eingebaut hat. Du kannst zeigen, was heute im Browser passiert, gezielt nach dem Zweck fragen und Änderungen anschließend überprüfen.
Es ist ein gutes Gefühl, auf der eigenen Website selbst nachsehen zu können. Besonders dann, wenn gerade niemand erreichbar ist, der dir die Technik erklärt.
Für diesen Schritt habe ich „Was passiert im Browser?“ gemacht.
Der Videokurs richtet sich an Marketer, die technische Aussagen besser beurteilen und gezielt nachfragen möchten. Du brauchst dafür keinen Entwicklerhintergrund.
Beim nächsten „Das benutzen wir schon lange nicht mehr“ musst du dich dann nicht mit der Erinnerung des Teams begnügen. Du kannst nachsehen.