Die gtm.start dataLayer-Variable im Google Tag Manager

Die gtm.start-Variable ist Teil des GTM-Container-Snippets. So verwendet man sie.

Justus

Justus

owntag GrĂĽnder

veröffentlicht am 26. Oktober 2021

Die gtm.start dataLayer-Variable wird zusammen mit einem der ersten Events, gtm.js, in die dataLayer gepusht.

Das gtm.js Event (und damit auch gtm.start) ist fast das erste Event, da es direkt vor dem Laden des Container-Skripts aus dem Container-Snippet gepusht wird.
„Fast“, weil es dennoch nach gtm.init und gtm.init_consent kommt. Diese sind eine Art „virtuelle“ Events, da sie nicht tatsächlich aus dem window.dataLayer Array stammen und immer vor allen gepushten Events verarbeitet werden.

Das bedeutet, dass der Wert von gtm.start in allen nachfolgenden Events verfĂĽgbar ist, aber nicht fĂĽr gtm.init und gtm.init_consent.

Ein Screenshot des Google Tag Manager Container-Snippets

Wie man sehen kann, wird gtm.start mit folgendem Wert erstellt:

new Date.getTime()

Wie im Detail auf MDN erklärt, repräsentiert die zurückgegebene Zahl die Anzahl der Millisekunden seit dem 1. Januar 1970, 00:00:00 UTC, auch bekannt als Unix-Epoch.

Im Kontext des GTM-Snippets stellt dieser gtm.start Zeitstempel den Zeitpunkt dar, zu dem dein GTM-Container-Skript zu laden begann.
Der Wert wird nicht bei jedem Event aktualisiert (es sei denn, du überschreibst ihn absichtlich mit einem weiteren dataLayer.push({ 'gtm.start': … })).

WofĂĽr das nĂĽtzlich sein kann:

  • Vergleich des GTM-Ladezeitpunkts mit anderen während des Seitenladens gesammelten Zeitstempeln zur Messung der Seitenperformance.
  • Nutzung – neben anderen Daten – zur Erstellung einer eindeutigen ID pro Seitenladung. Beispielsweise fĂĽr die Event-ID der Facebook Conversion API.

Wenn du nach einem Zeitstempel suchst, der bei jedem Event aktualisiert wird, kannst du stattdessen eine benutzerdefinierte JavaScript-Variable verwenden:

Ein Screenshot einer GTM Custom JavaScript-Variable, die einen aktuellen Zeitstempel fĂĽr jedes Event liefert

Arbeiten mit gtm.start

Um den Wert von gtm.start innerhalb deines GTM-Containers zu nutzen, kannst du eine GTM dataLayer-Variable erstellen:

Ein Screenshot der Google Tag Manager-Oberfläche mit einer neuen 'gtm.start' dataLayer-Variable

UTC!

Etwas, das du je nach Anwendungsfall beachten solltest: Der Zeitstempel in gtm.start ist immer ein koordinierter Weltzeit (UTC) Zeitstempel, nicht die lokale Zeit des Nutzers.

Werde zum Server Side Tagging Profi mit owntag

Übernimm die Kontrolle über deine digitale Datenerhebung mit Server Side Tagging und dem Server Side GTM – einfach gehostet mit owntag.

App screenshot