Im Google Tag Manager gibt es das relativ neue Feature Tag Coverage. Die Sinnhaftigkeit bei aktuellem Stand sei mal dahingestellt. Da mir das aber als plausibler Grund bereits gereichte, habe ich es als Vorwand genutzt um mal wieder ein kleines Electron Projekt umzusetzen. Doch was ist das Tag Coverage Feature im Google Tag Manager eigentlich?
Google Tag Manager – Tag Coverage Feature
Tag Coverage steht sinngemäß für Tag Abdeckung und soll Auskunft darüber geben auf welche Seiten das Google Tag (gtag.js) verbaut wurde.
Zum gegenwärtigen Zeitpunkt scheint mir die Genauigkeit dieser Anzeige noch reichlich ungenau. Denn es fehlen nicht nur zahlreiche URLs in der automatisch generierten Liste, sondern auch der jeweils erkannte Tag Status wie „Not tagged“ scheint in vielen Fällen fehlerhaft zu sein.
Nichtsdestotrotz ist der Gedanke, der hinter dem Tag Coverage Feature steckt, ein sinnvoller. Denn eine Übersicht zu erhalten, ob gewisse Bereiche einer Website nicht mehr mit dem gewünschten Tracking versehen werden ist sehr praktisch.
Neben der automatischen Erhebung von URLs, gibt es aber auch die Möglichkeit eine eigene Liste von URLs hochzuladen. Da die automatische Erkennung der URLs sehr lange dauert, erscheint der Upload einer eigenen Datei wesentlich sinnvoller. Hier kommt das GTM Coverage Tool ins Spiel.
Das GTM Tag Coverage Tool ist ein Electron App, welche lokal auf dem Rechner ausgeführt wird, um schnell und einfach eine CSV Datei mit allen verfügbaren URLs einer Website zu generieren. Dafür wird die Browser Automation Library Crawlee verwendet, welche unter anderem den genutzten PlayWright Crawler zu Verfügung stellt.
Wie verwende ich die App?
Aktuell erstelle ich nur Releases für MacOS und Windows. Im späteren Verlauf ist geplant, die App komplett Open Source zu stellen, wodurch auch eigene Builds mit Electron Forge erstellt werden können.
Installation
Die ZIP Archive müssen lediglich entpackt werden. Die notwendigen Abhängigkeiten, wie z.B. Chromium sind enthalten. Dadurch kommt auch die Größe des ZIP Archives von ~ 350MB zustande.
Download Releases
(Optional) Tag Coverage file downloaden
Im Google Tag Manager Account kann die aktuelle Tag Coverage CSV Datei gedownloaded werden. Diese dient als Vorlage für die App und wird im Prozess mit weiteren URLs ergänzt.
Die Struktur der heruntergeladenen CSV Datei sieht wie folgt aus und enthält neben einem Header die bereits erkannten URLs der Property. In den meisten Fällen ist die Liste nicht annähernd vollständig.
Website crawlen
Nach dem Öffnen der App, das CSV File öffnen oder „use blank draft“ verwenden, sowie die URL der zu crawlenden Website angeben.
Während der Crawl läuft, kannst du unten die aktuelle Anzahl der gecrawlten URLs überprüfen. Nachdem alle verfügbaren URLs der Website durchgegangen wurden, öffnet sich automatisch der Speicherdialog und du kannst die fertige Datei anschließend im Google Tag Manager hochladen.
Solltest du mit deinem GTM mehrere Websites / Domains tracken wollen, kannst das generierte File direkt als Vorlage für einen weiteren Crawl nutzen. So lassen sich dann die Daten verschiedener Websites kombinieren und weiter ergänzen.
Hinweise
App Tracking
Mein Tool wird über das Measurement Protocol für GA4 getrackt und sammelt so anonyme Daten über den Gebrauch des Tools. So wird zum Beispiel die Anzahl der Requests, oder die Laufzeit des Crawlers übermittelt. Persönliche Daten wie z.B. die gecrawlten URLs werden nicht getrackt. Ausnahme ist hier die Hardware ID, über welche eine Userunterscheidung und -zählung stattfindet.
Crawler Traffic identifizeren
Der Crawler hat immer den gleichen User-Agent, welcher sich einfach über window.navigator.userAgent abfragen lässt.
//Auschluss des Traffics über GTM empfohlen
"Mozilla/5.0 (compatible; GTM-Tag-Coverage/0.1; +http://www.moritzbauer.info)"
Darüber lässt der Traffic einfach über den Google Tag Manager ausschließen, oder so markieren, dass Filter innerhalb von Google Analytics verwendet werden können.