Das Tracking-Snippet ist ein kleines Async-Skript — wenige Kilobyte, aus einem edge-gecachten First-Party-Pfad ausgeliefert — das die Organisation hinter jeder Session identifiziert. Richtig installiert, merkst du es nie. Falsch installiert, debuggst du eine Woche, warum Firmen fehlen, bis du herausfindest, dass der Loader in einem lazy-geladenen Partial hing. Diese Anleitung bringt dich an dieser Woche vorbei.
Drei Prinzipien, bevor du etwas einfügst
- Der Loader gehört in den seitenweiten HTML-Head. Nicht in den Footer, nicht in ein spezifisches Seiten-Template, nicht in eine Komponente, die nur auf Marketing-Seiten rendert. In den Head, auf jeder Seite.
- Der Loader ist per Default async. Füge keine Defer/Async-Overrides hinzu, die den Ausführungszeitpunkt ändern; die Attribute im Snippet sind die getesteten.
- Einmal installieren, genau. Zwei Kopien des Loaders auf derselben Seite verdoppeln nicht die Daten — sie verdoppeln Requests und verwirren das Debugging.
WordPress
Sauber auf WordPress ohne Theme-Edits: Ein Header-Scripts-Plugin (die bekannten tun es alle), Loader in „Skripte im Head" einfügen, speichern, Page-Cache leeren. Ohne Plugin: eine kleine mu-plugin-Datei, die sich mit Priorität 5 in wp_head einhängt, so landet der Loader vor Analytics-Tags. Nicht in einen Beitrag oder eine Seite einfügen — WordPress entfernt das Script-Tag beim Speichern.
WordPress-Spezifik: Wenn du einen Full-Page-Cache betreibst (LiteSpeed, WP Rocket, W3 Total Cache), Cache nach der Installation leeren. Gecachtes HTML von vorher enthält den Loader nicht.
Shopify
Shopify hält das Theme-HTML in theme.liquid. Im Shopify-Admin: Online-Store → Themes → Aktionen → Code bearbeiten → theme.liquid, den Loader direkt vor das schliessende </head>-Tag einfügen. Speichern. Das war’s — keine App nötig, kein Checkout-Skript (Checkout ist für Firmenerkennung ohnehin nicht relevant).
Theme zuerst duplizieren
Vor dem Bearbeiten von theme.liquid: Aktionen → Duplizieren. Wenn etwas schiefgeht, kannst du mit einem Klick zurück. Fünf Sekunden Gewohnheit, die jedes Shopify-Team gerettet hat, dem sie je vorgeschlagen wurde.
Webflow
Webflow → Site Settings → Custom Code → Head Code. Loader einfügen. Speichern. Site veröffentlichen. Der Head-Code gilt global — genau das, was du willst. Nicht in einen Page-Level-Embed einfügen — sonst trackst du nur diese eine Seite.
Google Tag Manager
GTM funktioniert, mit zwei Einschränkungen. Erstens: Ein Custom-HTML-Tag mit Trigger „All Pages", damit der Loader auf jedem Pageview läuft. Zweitens: Tag-Priorität hoch genug setzen, damit er vor anderen Analytics-Tags feuert, die den Initial-Payload verlangsamen könnten. GTM-User stapeln oft vier oder fünf Tags im Head; der Loader ist klein, aber Reihenfolge zählt, wenn du First-Request-Identifikation willst.
Consent-Mode-Hinweis: Wenn dein GTM hinter einem Consent-Banner steht, das Analytics-Tags erst nach Opt-in feuert, stell die Firmenerkennung nicht hinter dasselbe Gate — sie nutzt keine Cookies und speichert nichts im Endgerät, braucht also nicht dieselbe Consent-Oberfläche. Tag sofort feuern lassen, neben deinen strikt notwendigen Tags.
Pures HTML / eigene Stacks
Für handgemachte Seiten oder Frameworks, die wir nicht genannt haben: Loader in das <head>-Element des Basis-Templates einfügen — die Datei, die auf jeder Seite rendert. Rebuild und Deploy. Für Static-Site-Generatoren gehört der Loader in das seitenweite Layout (in Next.js ein <Script> im App-Level-Layout mit strategy="afterInteractive"; in Astro die <BaseHead>-Komponente; in 11ty das Basis-Template-Partial). Wenn du es als Komponenten-Skript einbindest, reporten nur Seiten, die diese Komponente enthalten.
Single-Page-Applications — der eine Fallstrick
In einer SPA wird der initiale Pageview beim ersten Laden vom Loader erfasst. Nachfolgende clientseitige Navigationen sind aus Browser-Sicht keine automatischen Pageviews. Unser Loader hört per Default auf die History-API, sodass Back/Forward und pushState-Navigationen als neue Pageviews registriert werden — ohne Code von dir. Wenn deine SPA einen Nicht-Standard-Router nutzt, der die History-API umgeht (selten, aber vorkommend), rufe die kleine dokumentierte pageview-Funktion beim Routenwechsel — drei Zeilen, in den Docs referenziert.
Installation in zwei Minuten verifizieren
Verifikation ist nicht optional. Mach sie, bevor du den Tab schliesst, in dem du installiert hast; einen kaputten Einbau fünf Minuten danach zu erwischen ist trivial, fünf Tage danach nicht.
- Deine Seite in einem privaten Fenster öffnen (damit dich kein Cache verwirrt).
- DevTools → Network, nach „l5e" oder dem Loader-Pfad filtern.
- Seite neu laden. Du solltest einen Request auf den Loader sehen, dann ein kleines Identify-Beacon. Beide Status 200. Der Loader-Response sollte cache-control mit s-maxage und stale-while-revalidate enthalten.
- Auf eine zweite Seite navigieren. Ein weiteres Identify-Beacon, kein neuer Download des Loaders (er kommt als 304).
- Zurück ins lead.box-Dashboard, Live-Besucher-Feed öffnen, Testbesuch bestätigen. Wenn er da ist, ist die Installation fertig.
Häufige Fehler — die Tabelle für zuerst
| Symptom | Wahrscheinliche Ursache | Behebung |
|---|---|---|
| Gar keine Live-Besuche | Loader fehlt im Head oder im falschen Template | Loader in seitenweiten Head-Template verschieben |
| Live-Besuche nur aus einem Bereich | Loader in einem Page-Level-Embed, nicht global | In globalen Head / Theme-Header verschieben |
| Loader lädt, aber kein Identify-Beacon | Consent-Banner blockt Third-Party-Skripte zu strikt | Banner so konfigurieren, dass „strikt notwendig" durchgeht |
| Doppelte Beacons pro Pageview | Loader zweimal installiert (Theme + Plugin/Tag) | Eine Kopie entfernen |
| Langsamer First Paint nach Install | Loader vor kritischem CSS platziert | Async-Attribut prüfen; nach dem Preload des kritischen CSS platzieren |
| SPA reportet nur die erste Seite | Custom-Router umgeht History-API | Dokumentierte pageview() beim Routenwechsel aufrufen |
| Altes HTML ohne Loader ausgeliefert | Full-Page-Cache nach Install nicht geleert | Cache leeren; im Inkognito verifizieren |
Performance-Hinweis — edge-gecachter Loader
Der Loader wird aus einem First-Party-Pfad ausgeliefert, hinter unserem Edge-Cache mit s-maxage=300 und stale-while-revalidate. Praktisch heisst das: Der Loader wird alle fünf Minuten pro Edge-PoP einmal geholt, danach aus dem Cache an jeden Besucher ausgeliefert. Byte-Gewicht und Blocking-Anteil sind klein genug, dass zusätzliches Lade-Logik-Layering nicht empfohlen ist.
Wann du dich melden solltest
Wenn du die Verifikations-Schritte gegangen bist und etwas noch nicht stimmt, hören wir lieber am Zehn-Minuten- als am Zehn-Tage-Punkt von dir. Bring drei Dinge: die Site-URL, einen Screenshot des DevTools-Network-Tabs, gefiltert nach dem Loader-Pfad, und den Namen der Plattform, auf der du installiert hast. Das reicht, um fast jedes Install-Problem in der ersten Antwort zu diagnostizieren.
Veröffentlicht von
lead.box Team
Weitere Artikel
Seh dir lead.box auf deinem eigenen Traffic an
Kostenlos starten — ohne Karte, ohne Sales-Call. Oder buch dir eine 20-minütige Führung, wenn du es geführt haben willst.
