Google Tag Manager auf deiner Website installieren (Web-Container)
Mit dem Google Tag Manager (GTM) fügst du Tracking-Tags hinzu und änderst sie, ohne für jede Änderung den Code deiner Website anzufassen. Du installierst einmal ein kleines Snippet, danach verwaltest du GA4, Werbepixel und andere Tags in der GTM-Oberfläche. In dieser Lektion legst du den Web-Container an, installierst ihn, sendest dein erstes eigenes Event und veröffentlichst eine Version. Alle weiteren Lektionen bauen auf diesem Container auf.
Einsteiger 8 Min. Lesezeit Version 1.3, aktualisiert am 4. November 2026
Auf dieser Seite
Das lernst du
- Ein GTM-Konto und einen Web-Container für deine Website anlegen.
- Den Container mit den Snippets von Better Loader oder mit Googles Head- und
noscript-Snippet richtig einbauen. - Ein eigenes Event in den
dataLayerschreiben und im Preview-Modus sehen. - Eine Container-Version einreichen und veröffentlichen und verstehen, wozu Workspaces und Versionen da sind.
Bevor du startest
- Ein Google-Konto.
- Zugriff auf das Template oder CMS deiner Website, damit du Code auf jeder Seite einfügen kannst.
01 Konto und Web-Container anlegen
Ein GTM-Konto entspricht meist einem Unternehmen. Darin legst du pro Website einen Container an (und später einen eigenen Server-Container, um den es in Lektion 2 geht).
- 1 Öffne tagmanager.google.com und klicke auf Create Account.
- 2 Gib einen Account Name (dein Unternehmen) und dein Country ein.
- 3 Trage unter Container Setup deine Domain als Container name ein, zum Beispiel
www.example.com. - 4 Wähle Web als Target platform und klicke auf Create.
- 5 Akzeptiere die Nutzungsbedingungen des Google Tag Manager (und die Data Processing Terms, wenn du im EWR oder im Vereinigten Königreich bist).
GTM zeigt dann den Dialog Install Google Tag Manager mit zwei Snippets. Deine Container-ID hat das Format GTM-XXXXXXX und steht in beiden.
02 Die beiden Snippets einfügen
Du kannst den Container auf zwei Arten laden. Jede nutzt zwei Snippets: eines im <head> und einen Fallback direkt nach dem öffnenden <body>-Tag. Entscheide dich für eine Art und nutze nur deren Snippets, sonst lädt GTM zweimal.
Welche Snippets baust du ein?
Nimm diese Art, wenn deine Website einen Container auf SGTM.space hat. Better Loader lädt GTM von deiner eigenen Lade-Domain, etwa load.k7q2x.example.com, unter einem zufälligen Skriptnamen statt von googletagmanager.com, deshalb halten Werbeblocker es seltener auf. Better Loader gibt es in jedem Tarif, auch im kostenlosen, und er funktioniert schon, bevor dein Server-Container eingerichtet ist.
- 1 Leg auf SGTM.space einen Container für deine Website an, wie Lektion 2 zeigt: Gib die ID dieses Web-Containers ein (
GTM-XXXXXXX) und lass Better Loader für GTM-XXXXXXX einschalten angehakt. Den Server-Container kannst du später verbinden. Hast du schon einen Container, gib die ID auf der Karte Better Loader in seinem Tab Add-ons ein und klicke auf Aktivieren. - 2 Lege im Tab DNS den CNAME für die Lade-Domain dort an, wo dein DNS verwaltet wird (bei Cloudflare auf DNS only), und klicke auf DNS prüfen. Das HTTPS-Zertifikat folgt innerhalb weniger Minuten.
- Type
- CNAME
- Name
load.k7q2x- Value
eu.sgtm.space- Proxy
- DNS only
- 3 Öffne Einstellungen auf der Karte Better Loader. Das Installations-Snippet und der Noscript-Fallback dort sehen aus wie die beiden unten, nur mit deiner Lade-Domain und deinem Skriptnamen.
Füge das Installations-Snippet so weit oben wie möglich in den <head> jeder Seite ein. Es lädt GTM asynchron und blockiert das Rendern daher nicht.
<!-- Google Tag Manager -->
<script data-cfasync="false">(function(w,d,s,l){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s);j.async=true;j.src="https://load.k7q2x.example.com/h3k9x2mq7tbp.js";f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer');</script>
<!-- End Google Tag Manager -->Füge den Noscript-Fallback direkt nach dem öffnenden <body>-Tag ein. Er greift in Browsern, in denen JavaScript ausgeschaltet ist.
<!-- Google Tag Manager (noscript) -->
<noscript><iframe src="https://load.k7q2x.example.com/ns.html"
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<!-- End Google Tag Manager (noscript) -->- Diese beiden ersetzen beide Snippets von Google. Entferne Googles Snippet, falls deine Website es hat.
- Keines der beiden enthält eine
GTM--ID: Better Loader erkennt deinen Container am Skriptnamen. Ein CMS-Feld, das nur eine GTM-ID annimmt, kann sie nicht einbauen. Füge sie deshalb in dein Theme oder Layout ein. - Füge sie erst ein, wenn die Lade-Domain live ist. Solange ihr DNS-Eintrag nicht auflöst, lädt GTM auf deiner Website nicht.
- Das Installations-Snippet hat
data-cfasync="false": Das verhindert, dass Cloudflare Rocket Loader GTM verzögert, und schadet anderswo nicht. Steht dein Consent-Default-Skript darüber, gib ihm dasselbe Attribut.
Nimm diese Art, wenn deine Website noch keinen Container auf SGTM.space hat oder du mit dem einfachen Setup starten willst. Auf Better Loader wechselst du später, indem du beide Snippets ersetzt. Dein GTM-Container bleibt derselbe.
Füge das erste Snippet so weit oben wie möglich im <head> jeder Seite ein. Es lädt GTM asynchron und blockiert das Rendern also nicht.
<!-- Google Tag Manager -->
<script data-cfasync="false">(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-XXXXXXX');</script>
<!-- End Google Tag Manager -->Füge das zweite Snippet direkt nach dem öffnenden <body>-Tag ein. Es ist ein Fallback für Browser mit deaktiviertem JavaScript.
<!-- Google Tag Manager (noscript) -->
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-XXXXXXX"
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<!-- End Google Tag Manager (noscript) -->- Setze in beiden Snippets deine eigene Container-ID ein, nicht
GTM-XXXXXXX. - Das Snippet oben trägt
data-cfasync="false", das in Googles Version fehlt: Es verhindert, dass Cloudflare Rocket Loader GTM verzögert, und schadet nirgends. Steht dein Skript mit den Consent-Standardwerten darüber, gib ihm dasselbe Attribut. - Viele Plattformen bieten ein Feld für GTM oder das Google-Tag (WordPress-Plugins, die Google-Tag-Einstellung von Webflow unter Site settings, Apps & Integrations). Shopify nutzt stattdessen ein benutzerdefiniertes Pixel (Custom Pixel) unter Settings, Customer events. Nutze nur einen Weg, nie beide, sonst lädt GTM doppelt.
Platziere die Snippets in einer gemeinsamen Layout- oder Theme-Datei, damit sie auf jeder Seite erscheinen und nicht nur auf der Startseite.
03 Dein erstes eigenes Event über den dataLayer senden
Der dataLayer ist ein JavaScript-Array, das sich deine Website und GTM teilen. Dein Code schreibt Objekte hinein, und GTM reagiert darauf. Ein Objekt mit dem Schlüssel event wird zu einem Event, auf das Trigger hören können; die übrigen Schlüssel werden zu Werten, die du mit Data Layer Variables ausliest.
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
event: 'sign_up',
method: 'email'
});Führe diesen Code aus, wenn die Aktion passiert, zum Beispiel nach einer erfolgreichen Registrierung. So nutzt du ihn im GTM:
- 1 Geh zu Triggers, klicke auf New und wähle Custom Event.
- 2 Setze Event name auf
sign_up(muss exakt übereinstimmen, auch bei Groß- und Kleinschreibung) und speichere. - 3 Geh zu Variables, klicke unter User-Defined Variables auf New, wähle Data Layer Variable und setze Data Layer Variable Name auf
method.
04 Im Preview-Modus testen
Der Preview-Modus zeigt dir genau, was GTM auf deiner Website sieht, bevor irgendetwas live geht.
- 1 Klicke oben rechts im Workspace auf Preview. Tag Assistant öffnet sich in einem neuen Tab.
- 2 Gib die URL deiner Website ein und klicke auf Connect. Deine Website öffnet sich in einem weiteren Fenster mit einem Tag-Assistant-Badge.
- 3 Geh zurück zum Tag-Assistant-Tab. Links siehst du Events wie Consent Initialization, Initialization, Container Loaded, DOM Ready und Window Loaded.
- 4 Löse die Registrierung auf deiner Website aus. Ein
sign_up-Event erscheint; klicke darauf und öffne den Tab Data Layer, ummethod: emailzu sehen.
Wenn sich Tag Assistant nicht verbinden kann, prüfe, ob das Snippet auf der Seite ist und den richtigen Container lädt: die ID in Googles Snippet oder die Web-GTM-Container-ID auf der Better-Loader-Karte. Weitere Ursachen findest du in der Lektion zur Fehlersuche.
05 Version einreichen und veröffentlichen
Keine Änderung im GTM erreicht deine Besucher, bevor du sie veröffentlichst.
- 1 Klicke oben rechts auf Submit.
- 2 Lass Publish and Create Version ausgewählt.
- 3 Gib einen Version name und eine Version description ein, die beschreiben, was sich geändert hat, zum Beispiel
Add sign_up trigger. - 4 Klicke auf Publish.
- Workspaces sind Entwürfe. Jeder enthält unveröffentlichte Änderungen, sodass zwei Personen arbeiten können, ohne sich gegenseitig zu überschreiben. Der kostenlose GTM-Tarif erlaubt drei Workspaces pro Container.
- Versions sind Momentaufnahmen des Containers zum Zeitpunkt der Veröffentlichung. Unter Versions siehst du, wer was veröffentlicht hat, und kannst eine ältere Version erneut veröffentlichen, um zurückzurollen.
- Beide Snippets sind auf jeder Seite: die von Better Loader oder die von Google mit deiner eigenen
GTM--ID, nie beide. - Tag Assistant verbindet sich mit deiner Website.
- Das
sign_up-Event erscheint in Preview mit seinemmethod-Wert. - Die erste Version ist mit einem eindeutigen Namen veröffentlicht.
Häufige Fragen
Ersetzt der Web-Container meinen GA4-Code?
Das kann er. Statt das GA4-Snippet direkt einzufügen, legst du im GTM ein Google-Tag an. In Lektion 3 machst du genau das und schickst die Daten über deinen Server-Container. Entferne ein fest eingebautes GA4-Snippet, sobald GTM dieselben Daten sendet, sonst zählst du alles doppelt.
Better Loader oder Googles Snippet?
Nimm Better Loader, sobald deine Website einen Container auf SGTM.space hat: Es gibt ihn in jedem Tarif, auch im kostenlosen, und er lädt GTM von deiner eigenen Domain, deshalb halten Werbeblocker es seltener auf. Bis dahin nimmst du Googles Snippet. Ein späterer Wechsel heißt nur, beide Snippets zu ersetzen. Dein GTM-Container und seine Tags bleiben gleich.
Wozu brauche ich das noscript-Snippet?
Es läuft nur, wenn JavaScript deaktiviert ist, und das ist selten. Google empfiehlt es trotzdem, und es schadet nicht, also baue es ein.
Ich habe veröffentlicht, aber meine Änderung erscheint nicht auf der Website. Warum?
Prüfe, ob du den Workspace mit der Änderung veröffentlicht hast, und lade die Seite dann ohne Cache neu. Seiten-Caches und CDNs können auch eine alte HTML-Seite ausliefern, die GTM-Datei selbst aktualisiert sich aber innerhalb weniger Minuten.
Bereit, es in die Praxis umzusetzen?
Richte in wenigen Minuten einen Server-GTM-Container auf deiner eigenen Domain ein. Für den Tarif Kostenlos brauchst du keine Karte.
Kostenloses Konto erstellen