Das Wichtigste in Kürze
- Jedes Third-Party-Skript kann den Seitenaufbau verzögern – unkontrolliert eingebunden summiert sich das schnell
- async und defer sind einfache, aber wichtige Hebel, um render-blocking JavaScript zu vermeiden
- Google Tag Manager hilft, Skripte zentral zu steuern – entscheidend sind saubere Tags und bewusst gewählte Trigger
- Viele Tracking- und Marketing-Skripte dürfen erst nach Consent geladen werden – das hat direkte technische Konsequenzen
Wenn fünf Skripte den Seitenaufbau ausbremsen
Stell dir vor, du öffnest eine Website und der Browser arbeitet im Hintergrund gleichzeitig an zehn verschiedenen Aufgaben: Er lädt das HubSpot-Tracking, baut eine Verbindung zu Intercom auf, initialisiert den LinkedIn Insight Tag, fragt Hotjar-Daten ab und wartet auf die Antwort des Google Tag Managers. All das, bevor die eigentliche Seite vollständig aufgebaut ist.
Genau das passiert in vielen B2B-Webflow-Projekten – nicht aus Nachlässigkeit, sondern weil Skripte über Monate und Jahre hinweg von verschiedenen Personen eingebunden werden, ohne dass jemand das Gesamtbild im Blick hat. Das Ergebnis: eine Seite, die technisch solide aufgebaut ist, aber unter der Last der Drittanbieter-Skripte langsam wird.
Dieser Artikel zeigt, wie diese Skripte den Seitenaufbau beeinflussen, welche Einbindungsmethoden wirklich einen Unterschied machen – und wie Google Tag Manager als zentraler Steuerungspunkt dabei hilft, die Kontrolle zurückzugewinnen.
Wer zuerst verstehen möchte, wie Core Web Vitals grundsätzlich funktionieren und warum sie B2B-Conversions beeinflussen, findet dazu einen eigenen Artikel in unserem Magazin.
Welche Skripte typischerweise in B2B-Webflow-Projekten landen
Die Liste der üblichen Verdächtigen ist in den meisten Projekten ähnlich:
- Google Tag Manager ist in fast jedem Projekt vorhanden und dient als Container für weitere Skripte – theoretisch die sauberste Lösung, in der Praxis aber oft selbst wieder mit unkontrollierten Tags befüllt.
- HubSpot Tracking wird häufig eingebunden, sobald HubSpot als CRM im Einsatz ist. Je nach Setup kann das Skript zusätzliche Requests auslösen und früh im Seitenaufbau aktiv werden.
- LinkedIn Insight Tag ist für B2B-Marketing häufig wichtig, wenn LinkedIn-Kampagnen aktiv laufen. Der Tag wird häufig nicht entfernt, obwohl keine aktiven Kampagnen mehr laufen.
- Intercom oder ähnliche Chat-Tools bauen beim Seitenaufruf eine dauerhafte Verbindung zum Server auf – auch wenn der Nutzer nie mit dem Chat interagiert.
- Hotjar oder Microsoft Clarity für Heatmaps und Session Recordings sind ressourcenintensiv, da sie kontinuierlich Nutzerinteraktionen aufzeichnen.
- Google Analytics 4 oder Plausible gehören zur Grundausstattung und sind in der Regel vergleichsweise leichtgewichtig – aber auch sie addieren sich.
Die entscheidende Frage vor jedem Skript: Wird es aktiv genutzt? In vielen Projekten finden sich Skripte, die vor Monaten eingebunden wurden und deren zugehörige Kampagne oder Tool längst abgelaufen ist.
Warum die Einbindungsreihenfolge entscheidet
Um zu verstehen, warum Third-Party-Skripte so viel Einfluss auf die Ladezeit haben, hilft ein kurzer Blick darauf, wie der Browser eine Seite verarbeitet.
Standardmäßig liest der Browser HTML von oben nach unten. Sobald er auf ein <script>-Tag trifft, hält er an, lädt das Skript herunter, führt es aus – und macht erst dann weiter. Das nennt sich render-blocking: Die Seite kann nicht vollständig aufgebaut werden, solange das Skript nicht abgearbeitet ist.
Zwei Attribute schaffen hier Abhilfe:
async lädt das Skript parallel zum HTML-Parsing herunter und führt es sofort aus, sobald es fertig geladen ist – unabhängig davon, ob das HTML fertig geparst wurde. Das ist sinnvoll für Skripte, die keine bestimmte Reihenfolge benötigen und keine Abhängigkeiten von anderen Skripten haben, etwa einfache Analytics-Tags.
<script async src="https://example.com/analytics.js"></script>
defer ist häufig eine gute Wahl für Skripte, die nicht unmittelbar vor dem Seitenaufbau ausgeführt werden müssen. Bei GTM, Consent-Tools oder Tracking-Skripten mit früher Pageview-Messung sollte die Einbindung aber immer im konkreten Setup geprüft werden.
<script defer src="https://example.com/hubspot.js"></script>
Die Faustregel: defer ist in den meisten Fällen die sicherere Wahl. async eignet sich für vollständig unabhängige Skripte. Kein Attribut zu setzen ist in fast keinem Fall die richtige Entscheidung.
Skripte direkt in Webflow einbinden – so geht es richtig
Webflow bietet mehrere Stellen für Custom Code, die unterschiedliche Reichweiten haben:
- Project Settings → Custom Code: Gilt seitenübergreifend für das gesamte Projekt – der richtige Ort für GTM, Analytics oder globale Tracking-Skripte
- Page Settings → Custom Code: Gilt nur für eine einzelne Seite – sinnvoll für seitenspezifisches Tracking oder Conversion-Pixel
- Embed-Elemente im Canvas: Für Skripte, die an einer bestimmten Stelle im Layout ausgelöst werden sollen
- Symbols und Components: Skripte in wiederverwendeten Elementen wie Footer oder Header werden auf jeder Seite geladen, auf der das Symbol erscheint
Ein häufiger Fallstrick: Skripte, die in alten Formular-Setups, Chat-Widgets oder Cookie-Bannern stecken und nach einem Tool-Wechsel nie entfernt wurden. Sie laden still im Hintergrund mit, ohne dass jemand es bemerkt.
In Webflow gilt dieselbe Grundregel wie überall: Im <head> sollten nur Skripte landen, die zwingend vor dem Seitenaufbau ausgeführt werden müssen – etwa Consent Management Plattformen. Alle anderen Skripte ohne defer oder async hier zu platzieren, blockiert das Rendering.
Ein konkretes Beispiel für HubSpot in Webflow, eingebunden im Custom Code <head>-Bereich unter Project Settings:
<script defer src="//js.hs-scripts.com/XXXXXXX.js"></script>
Das XXXXXXX wird durch die eigene HubSpot-Portal-ID ersetzt. Dadurch blockiert das Skript den initialen HTML-Aufbau weniger stark. Ob sich LCP, TBT oder INP verbessern, sollte anschließend gemessen werden. Wichtig: Bei Tools mit eigenen Einbindungsempfehlungen sollte geprüft werden, ob defer mit Formularen, Tracking-Funktionen oder Consent-Logik sauber zusammenspielt.
Google Tag Manager als zentraler Steuerungspunkt
In vielen Projekten ist GTM der sinnvollste zentrale Steuerungspunkt für Tracking- und Marketing-Skripte – vorausgesetzt, der Container bleibt gepflegt und Consent-Signale sind sauber integriert. Der Vorteil von GTM: Über Tags und Trigger lässt sich steuern, wann ein Skript geladen wird – nicht nur ob. Die wichtigsten Trigger-Typen im Überblick:
| Trigger |
Zeitpunkt |
Geeignet für |
| Page View |
Sofort beim Seitenaufruf |
CMP, frühe Pageview-Messung |
| DOM Ready |
Wenn HTML vollständig geparst |
Skripte, die DOM-Elemente benötigen |
| Window Loaded |
Wenn alle Ressourcen geladen |
HubSpot, Intercom, Hotjar |
| Scroll Depth |
Wenn Nutzer X % gescrollt hat |
Heatmap-Tools, Chat-Widgets |
| Click |
Bei einem bestimmten Klick |
Conversion-Tracking, spezifische Events |
Die wichtigste Erkenntnis: HubSpot, Intercom und Hotjar müssen nicht beim ersten Paint geladen sein. Mit dem Trigger Window Loaded warten sie, bis die eigentliche Seite vollständig aufgebaut ist. Das kann TBT reduzieren und frühe Interaktionen entlasten. Ob sich auch INP verbessert, hängt davon ab, wann und wie stark das jeweilige Skript den Main Thread belastet.
Für Chat-Widgets wie Intercom kann ein verzögerter Trigger besonders wirkungsvoll sein: Das Widget lädt zum Beispiel erst nach Scroll, nach einigen Sekunden oder nach einem Klick auf einen Chat-Button. Auf Seiten, auf denen der Chat nur selten genutzt wird, reduziert das unnötige Last beim ersten Seitenaufruf.
Eine Orientierung nach Skript-Typ hilft dabei, die richtige Strategie zu wählen:
| Skript-Typ |
Empfohlene Strategie |
Hinweis |
| Consent Management |
Früh laden |
Muss vor Tracking-Skripten greifen |
| Analytics |
Nach Consent / über GTM |
Nicht jedes Analytics-Skript braucht sofortigen Page View |
| Chat-Widget |
Verzögert laden |
Z. B. nach Scroll, Klick oder Window Loaded |
| Heatmap / Recording |
Nach Consent und verzögert |
Nur einsetzen, wenn aktiv ausgewertet wird |
| Marketing-Pixel |
Nach Consent / kampagnenbezogen |
Regelmäßig prüfen, ob Kampagnen noch aktiv sind |
Consent Mode & DSGVO: Was beim Laden von Skripten beachtet werden muss
Ein Aspekt, der bei der Skript-Optimierung häufig übersehen wird: Viele Third-Party-Skripte dürfen aus datenschutzrechtlichen Gründen erst nach einer aktiven Einwilligung des Nutzers geladen werden. Das betrifft insbesondere Tracking- und Marketing-Skripte wie den LinkedIn Insight Tag, HubSpot oder Hotjar.
Technisch bedeutet das: Die Skripte dürfen nicht beim Seitenaufruf geladen werden, sondern erst nachdem der Nutzer dem entsprechenden Zweck zugestimmt hat. Das lässt sich über die Kombination aus einer Consent Management Platform (CMP) und dem GTM Consent Mode realisieren.
Im GTM Consent Mode wartet ein Tag auf das Signal der CMP, bevor es feuert. Das setzt voraus, dass die CMP korrekt in GTM integriert ist und die entsprechenden Consent-Signale übergibt. Gängige CMPs wie Usercentrics oder Cookie Script bieten dafür native GTM-Integrationen.
Hinweis: Dieser Abschnitt gibt einen technischen Überblick und ersetzt keine rechtliche Beratung. Die konkreten Anforderungen sollten mit einem Datenschutzbeauftragten abgestimmt werden.
Wie du den Impact deiner Optimierung misst
Bevor und nachdem du Skripte optimierst, lohnt sich ein Blick in die Netzwerk-Analyse – um zu verstehen, was sich verändert hat.
WebPageTest liefert das vollständige Wasserfall-Diagramm: Jede Ressource ist als horizontaler Balken dargestellt, der zeigt, wann sie angefordert wird, wie lange das Laden dauert und ob sie andere Ressourcen blockiert. Render-blocking-Skripte sind klar erkennbar, weil alle nachfolgenden Ressourcen erst nach ihnen beginnen.
Chrome DevTools Network-Tab ermöglicht eine schnelle Analyse im Browser direkt: Unter „Initiator" ist zu sehen, welches Skript welche weiteren Requests ausgelöst hat. Unter „Waterfall" wird die zeitliche Abfolge sichtbar. Der Filter auf „Script" zeigt ausschließlich JavaScript-Dateien und deren Ladedauer.
Besonders aussagekräftig sind LCP, INP und TBT. LCP zeigt, wann der Hauptinhalt sichtbar wird. INP zeigt, wie schnell die Seite auf Nutzerinteraktionen reagiert. TBT ist vor allem im Lab-Test hilfreich, um blockierende JavaScript-Arbeit sichtbar zu machen – und damit direkt den Einfluss von Skripten auf den Main Thread zu quantifizieren. Wer tiefer einsteigen möchte: Google PageSpeed Insights zeigt LCP, INP und CLS direkt auf Basis echter Nutzerdaten.
Wann reicht GTM – und wann braucht es mehr?
GTM hilft dabei, viele Skript-Probleme zu kontrollieren – vorausgesetzt, die Tags sind sauber konfiguriert und die Trigger sind bewusst gewählt. In vielen Projekten reicht das aus, um messbare Performance-Probleme zu reduzieren und einzelne Core-Web-Vitals-Werte zu verbessern.
Es gibt jedoch Situationen, in denen GTM allein nicht ausreicht. Wenn Skripte tief im Webflow Custom Code verankert sind, ohne Attribute eingebunden wurden und niemand mehr weiß, wozu sie gehören, ist eine systematische Bestandsaufnahme sinnvoller als punktuelle Korrekturen. Gleiches gilt für Projekte, bei denen der GTM-Container über Jahre gewachsen ist und Tags enthält, die längst nicht mehr aktiv sind.
Als erster Schritt empfiehlt sich eine ehrliche Bestandsaufnahme anhand dieser Checkliste:
- Welche Skripte sind direkt in Webflow unter Project Settings eingebunden?
- Welche Skripte laufen zusätzlich über GTM-Tags?
- Welche Tags feuern sofort beim Page View – und brauchen sie das wirklich?
- Welche Skripte dürfen aus DSGVO-Gründen erst nach Consent geladen werden?
- Welche Tools werden aktuell überhaupt noch aktiv genutzt?
- Gibt es Skripte in alten Formular-, Chat- oder Cookie-Setups, die nach einem Tool-Wechsel nie entfernt wurden?
- Welche Skripte verursachen laut WebPageTest die meisten Requests oder blockieren den Main Thread am längsten?
In Projekten, bei denen diese Fragen keine klaren Antworten liefern, zahlt sich ein strukturierter Audit aus – eine vollständige Analyse aller eingebundenen Skripte, ihrer Notwendigkeit, ihrer Einbindungsmethode und ihres messbaren Einflusses auf die Ladezeit.