Dieser JS-Code kann nicht in ein GTM-Tag verschoben werden, da er von Variablen abhängt, die für das Framework eindeutig sind.
Wie es aussieht, klingt das nicht wie ein echter Vorbehalt. Sie könnten die Variablen data drücken und Ihren Tag mit einem benutzerdefinierten Ereignisse auslösen:
dataLayer.push({
'data' : myUniqeVars,
'event' : 'mySpecialEvent'
});
oder sogar die Variablen als globale JavaScript-Variablen zugreifen.
Alternativ können Sie eine globale Javascript-Variable (zB window.startMyTag = true) in einem benutzerdefinierten HTML-Tag festlegen, das auf pageview (dem frühesten Punkt, an dem der GTM-Code sicher geladen ist) ausgelöst wird und darauf wartet wäre eine schreckliche Lösung (und der Grund, warum Sie einen Listener brauchen, ist, dass GTM-Code asynchron geladen wird; dies scheint der Grund dafür zu sein, dass Ihr Code nicht ausgelöst wird und Sie immer noch den gtm_tag_manager auf der Konsole sehen, weil die Konsole nur IIRC wird nachdem das DOM geladen ist).
Oder Sie können einen Listener für Änderungen in der DataLayer einrichten - wenn GTM eines der ersten Dinge auslöst, ist es, Schlüssel/Wert-Paar "event: gtm.js" auf die DataLayer zu setzen, und Sie könnten das verwenden um deinen Code auszulösen (nicht die beste Idee möglicherweise - wenn du eine Maschine hast, die Zustände steuert, möchtest du vielleicht nicht mit den Zuständen von außen durcheinander kommen, aber solange deine einzige Auflistung sicher ist. Überschreibe nicht einfach den Push Methode der dataLayer allerdings auf GTM-Ereignisse zu achten, denn das tut GTM selbst schon und bricht ab, wenn Sie die bereits geänderte Methode überschreiben.
Ich wäre neugierig, warum Sie denken, dass Sie Ihren Code nicht innerhalb von GTM ausführen können, also wenn Sie ein Beispiel geben können, wäre ich wirklich dankbar.
Der Kontext einer E-Commerce-SaaS Plattform geladen ist. Auf der Kategorieseite beispielsweise möchten wir die E-Commerce-Daten eines Produkts beim Anklicken senden. Wenn Sie es genauer betrachten, haben Sie vielleicht recht, es könnte so modifiziert werden, dass es in einem Tag funktioniert. – rjfrizz
Wenn die Werte als JS-Variablen irgendwo im globalen Gültigkeitsbereich vorhanden sind und Sie GTM-Code auf derselben Seite haben, ist es fast sicher, dass Sie Ihren Code innerhalb eines Tags arbeiten lassen können. –