von Ekrem Aslan
Currying und Zones sind eine Javascript-Technik und ein GTM-Feature, die sich hervorragend zur Optimierung komplexer Tracking-Setups eignen. Currying vereinfacht Funktionen und reduziert Redundanzen, besonders bei der wiederholten Verarbeitung verschiedener Variablen. Zones in Google Tag Manager ermöglichen gezielte Datenerfassung, verbessern die Tracking-Genauigkeit und verknüpfen Container für einheitliche Tracking-Strategien. Der Einsatz dieser Techniken führt zu schlankeren, effizienteren und besser wartbaren Codes, die präzise Einblicke liefern und die Website-Leistung steigern.
Webanalyse steht für Messbarkeit und ist die Grundlage für langfristige Erfolgskontrolle und Effizienzsteigerung Ihrer (Online) Marketing Aktivitäten.
Mehr ErfahrenEntdecken Sie in diesem Artikel fortgeschrittene JavaScript-Techniken, die Sie für Ihre Tracking Einrichtung im Google Tag Manager nutzen können und somit Ihr Setup vereinfachen können! In diesem Blogartikel werden zwei Methoden präsentiert, die sich speziell für komplexere Tracking Setups in vielfältigen Anwendungen und kooperierenden Teams als hilfreich erweisen.
Currying ist eine JavaScript-Technik, die es ermöglicht, Funktionen mit mehreren Argumenten in eine Kette von Funktionen mit jeweils einem Argument zu transformieren. Das Ergebnis ist eine verschachtelte Funktionsstruktur mit inneren und äußeren Funktionen, bei denen der Ausgabewert einer inneren Funktion den Parameter der äußeren Funktion darstellt. Dadurch kann man Funktionen dynamisch erstellen und wiederverwenden, indem man Teile ihrer Logik separat konfiguriert. In einem komplexen Tracking-Setup, in dem mit vielen variablen Parametern gearbeitet wird, kann Currying eine elegante Lösung bieten, um Funktionen gemäß DRY (Don’t repeat yourself) zu vereinfachen und redundante Codeblöcke zu vermeiden.
Im Google Tag Manager implementiert man solche, wiederverwendbare Funktionen, indem man in einem Custom JS wiederum eine Funktion returned:
Variable Configuration, Quelle: e-dialog
In der Praxis hilfreich gestaltet sich das Currying vor allem bei der Implementierung von Processing Funktionen, zum Beispiel bei der PII-Bereinigung von URL-basierten Parametern. In diesem Fall könnte die erste Funktion in der Currying-Kette die ursprüngliche URL-Variable als Argument annehmen und einen Prozess starten, um die relevanten (nicht in der Whitelist enthaltenen) Query-Parameter zu extrahieren (siehe vorangegangenes Bild). Anschließend kann das Ergebnis an die nächste Funktion in der Currying-Kette weitergegeben werden, die sich dann dem Pfad annimmt und diesen entsprechend prozessiert. Diese Funktion könnte wie folgt aussehen:
Added Variable Configuration, Quelle: e-dialog
Dieser Ansatz ermöglicht es, die Verarbeitung von URL-Parametern in separaten, leicht verständlichen Funktionen aufzuteilen und das Verhalten bei Bedarf zu erweitern oder zu ändern, indem du einfach weitere Funktionen in die Currying-Kette einfügt.
Angewendet auf die Page URL Variable sieht das folgendermaßen aus:
Page URL – Processed, Quelle: e-dialog
Zuerst wird die Query Param Whitelist Funktion aufgerufen, welche die Page URL als Parameter enthält. Der Ausgabewert dieser Funktion wiederum wird in die äußere Path IDs Processing Funktion eingegeben. Das Ergebnis ist die einmalige Definition der Logik anhand mehrerer Funktionen, die man in verschiedenen Szenarien nach Bedarf aufrufen kann. Um bei diesem Beispiel zu bleiben: Anstatt somit das Processing jeweils für die Page Location und den Referrer doppelt aufzusetzen und damit an zwei verschiedenen Variablen zu arbeiten, definiert man eine Reihe von Currying-Funktionen, die man lediglich jeweils für Page URL und Referrer aufruft. Somit muss nur an einer Stelle gearbeitet und gewartet werden, wodurch Code gespart und die Fehleranfälligkeit reduziert wird.
Darüber hinaus kann Currying auch für generelles Daten-Processing in einem komplexen Tracking-Setup eingesetzt werden. Wenn Sie beispielsweise eine Reihe von Tracking-Daten haben, die bestimmte Filter- oder Transformationslogiken erfordern, können Sie eine Currying-Kette von Funktionen erstellen, die nacheinander auf die Daten angewendet werden. Dies ermöglicht es Ihnen, die Verarbeitungslogik klar zu strukturieren und den Code zu vereinfachen, indem die einzelnen Schritte aufgeteilt und wiederverwendet werden.
In einer komplexen Tracking-Konfiguration ist es üblich, dass verschiedene Tags, Trigger und Variablen auf unterschiedlichen Teilen einer Website arbeiten. Es ist jedoch nicht immer erforderlich, diese Elemente auf der gesamten Website auszuführen, da dies möglicherweise die Leistung der Website beeinträchtigen könnte. Zonen in Google Tag Manager bieten eine Lösung für diese Herausforderung, indem sie es ermöglichen, spezifische Grenzen für die Ausführung dieser Elemente festzulegen, um ein gezieltes und effizientes Tracking zu ermöglichen. So können Teile des Trackings auf Basis verschiedener Kriterien wie gewisse URLs, Seitennamen oder Variablen ausgeschlossen oder inkludiert werden. Zonen bieten auch die Möglichkeit, verschiedene Container miteinander zu verknüpfen. Wenn Sie mehrere Google Tag Manager-Container auf Ihrer Website verwenden, können Sie dadurch die Zusammenarbeit und den Datenaustausch zwischen den Containern gezielt steuern. Zusammengefasst ermöglicht es Ihnen, einheitliche Tracking-Strategien zu implementieren und die Analyse über verschiedene Container hinweg zu synchronisieren.
Implementiert werden Zonen durch das integrierte Interface im GTM. Dieses sieht folgendermaßen aus und bietet die oben erwähnten Konfigurationsmöglichkeiten:
Zone Configuration, Quelle: e-dialog
Insgesamt ermöglichen Currying und Zones in JavaScript und Google Tag Manager eine gezielte und effiziente Verarbeitung von Tracking-Daten, was zu schlankeren, präziseren und besser wartbaren Tracking-Setups führt und die Leistung der Website optimiert.
Wir freuen uns auf Ihre Anfrage und beraten Sie gerne unverbindlich! Füllen Sie dazu einfach das Kontaktformular aus oder rufen uns direkt an.
Jetzt kontaktierenNewsletter
Holen Sie sich unsere Online Marketing-Insights und Trends direkt in Ihr Postfach!