Start » Blog » Google Tag Manager / Webtools
01.06.2024
Tool: Vorlagen austauschen in Google Tag Manager Containern
Dieser Beitrag beschreibt ein Verfahren zum Austausch einer Google Tag Manager Vorlage gegen eine andere. Ja genau: Es ist ein sehr spezieller Anwendungsfall. Mir ist er begegnet, als ich in mehreren Containern ein z. T. recht umfangreiches Tracking mittels Facebook Pixel von einer Community-Vorlage auf eine andere umstellen musste. Genauso denkbar ist ein Einsatz dort, wo eine zunächst lokal installierte Vorlage ("Template") gegen sein zwischenzeitlich in der Community Gallery verfügbares Pendant ausgetauscht werden muss und nicht nur ein oder zwei Tags bzw. Variablen neu definiert werden müssen.
Warum der ganze Aufwand?
Es stimmt: Der Vorlagentyp eines Tags oder einer Variable ist schnell auch von Hand mit wenigen Klicks gewechselt. Das Problem dabei ist nur, dass die bisherige Konfiguration verloren geht und wiederholt werden muss. In meinem Anwendungsfall war das Facebook Pixel der Anlass, sogar ein Tool zu erstellen, dass die eigentlich einfache Aufgabe des Suchens und Ersetzens von Referenzen im Container übernimmt. Spätestens ab dem zweiten Container fand ich den Aufwand gerechtfertigt... und es geht um eine zweistellige Anzahl an betroffenen Tag Manager Containern.
Der Weg führt über den Export
Um Massenanpassungen an Tag Manager Containern vorzunehmen, ist der Export des Inhalts als JSON Datei, die dortige Anpassung und anschließender Import eine gute Lösung. Zur Vereinheitlichung von Bezeichnungen, Änderung von Triggern - oder eben die Umstellung von in einzelnen Elementen wie Tags oder Variablen verwendeten benutzerdefinierten Vorlagen - kann die JSON Datei durch Suchen und Ersetzen angepasst werden, ohne dass die betroffenen Elemente in der Tag Manager Oberfläche bearbeitet und neu gespeichert werden müssen.
Wichtig: Der Import eines vorhandenen Containers ist technisch unproblematisch bei allen Web-Containern, mit denen ich es in den letzten Jahren zu tun bekommen habe. Für einen server-side Google Tag Manager gilt dies allerdings leider nicht. In den meisten Fällen scheitert ein Import eines JSON Files - selbst dann, wenn es den unveränderten Export eines bestehenden Containers enthält.
Beide Templates parallel installieren
Damit ein Austausch eines Templates auf diesem Weg möglich ist, müssen beide installiert sein. In den meisten Fällen bedeutet dies, dass die vorhandene und auszutauschende Vorlage bearbeitet werden muss, damit sie einen anderen Namen trägt. Anderenfalls wird sich der Tag Manager weigern, die neue Vorlage zu installieren. Hier gezeigt am Beispiel des "DataLayer Event Repeater", der als lokale Vorlage existiert und nun mit der Vorlage aus der Gallery ersetzt werden soll.
Das vorhandene Template wird dazu im Editor geöffnet und der Name wird angepasst. Eine Ergänzung durch "DEL", "LÖSCHEN" o. Ä. reicht vollkommen aus, danach kann die Vorlage gespeichert werden.
Danach kann über den Button "In Galerie suchen" das neue Template ausgewählt und installiert werden. Danach existieren beide Vorlagen parallel in der Übersicht.
Verwendet wird aber in der Übersicht der Tags von vorhandenen Tags die bisherige Vorlage, die beim Typ am angepassten Namen zu erkennen ist.
Anwendungsfall Facebook Pixel
Für das Facebook Pixel kann die gleiche Methode verwendet werden, um zum Beispiel das veraltete und inzwischen nicht mehr gepflegte Facebook-Pixel Template aus der Gallery gegen eine Variante zu ersetzen, die auch mit einem GA4 E-Commerce dataLayer zurecht kommt. Der einzige Unterschied ist hierbei, dass ein Gallery-Template gegen ein lokales Template ausgetauscht wird, statt wie oben gezeigt umgekehrt.
Container als JSON Datei exportieren
Nachdem nun beide Vorlagen parallel im Container vorhanden sind, kann man den Inhalt des Workspaces in Google Tag Manager unter "Verwaltung -> Container -> Container exportieren" als JSON-Datei speichern bzw. über "Vorschau von JSON Datei anzeigen" einblenden, markieren und in die Zwischenablage kopieren.
Manueller Austausch der Vorlagen?
Um die Templates zu tauschen, müssen die Referenzen zum alten Template gefunden und ausgetauscht werden. Manuell ist das mit etwas Arbeit verbunden, weil die neue Referenz erst aus dem Block der Templates ermittelt werden muss, indem für die neue Vorlage die Werte für "containerId" und "templateId" im Format "cvt_xxxxxx_yyy" zusammengesetzt werden, wobei xxxxxx für die ID des Comtainers und yyy für die Template ID stehen. Auf gleiche Weise wird das alte Template bei den nutzenden Elementen referenziert. Um diesen Vorgang zu vereinfachen, dient das im folgenden beschriebene Tool, welches ich auf Analytrix bereitgestellt habe. Hinweis: Das Tool ist nur über diesen Link bzw. Bookmarks zu erreichen und nicht im Menü zu finden.
Einfacher: Anpassung per Tool
Mit dem kopierten JSON aus dem letzten Schritt kann der GTM Template Switcher (ja, Namen sind nicht so meins) bestückt werden. Nach einem Klick auf "Schritt 1: Templates auslesen" wird die Datei gelesen und alle Namen der vorhandenen Templates werden in zwei Auswahllisten geladen, mit deren Hilfe das alte und neue Template ausgewählt werden kann.
Mit einem Klick auf den Button darunter werden die Referenzen auf die alte Vorlage gegen die neue ausgetauscht. Das Ergebnis kann zum Abschluss heruntergeladen werden.
Der Dateiname beim Speichern aus dem Tool lautet "gtm_template_switcher.json".
Import im Google Tag Manager
Diese Datei kann nun unter "Verwaltung -> Container -> Container importieren" (idealerweise in einen neuen Workspace) übernommen werden. Dabei muss die Option zum Überschreiben der vorhandenen Elemente genutzt werden.
Nach dem Import sind alle Referenzen auf das alte Template entfernt. Es kann aus der Übersicht der Vorlagen im Tag Manager entfernt werden - Fertig. Check, Veröffentlichung - und die Aktualisierung des Default Workspace nicht vergessen 😉