Cross-Domain-Tracking für Funnels, Iframes und Checkouts: So verlierst du keinen Lead
Warum Leads aus Heyflow, Perspective, Typeform, ClickFunnels, Calendly oder Digistore24 ihre Quelle verlieren und wie du die Session über Domains, Iframes und Checkouts weitergibst.
Inhalt
- Warum Leads beim Domainwechsel ihre Quelle verlieren
- Das Prinzip: Kennung aktiv übergeben
- Mehrere eigene Domains verbinden
- Funnel-Builder mit eigenem Code: Heyflow und Perspective
- Tools ohne eigenen Code: Typeform und Calendly
- Checkout-Seiten: Digistore24 und CopeCart
- Eigene Widgets und Sonderfälle
- So prüfst du dein Setup
- Typische Fehler
- So hilft dir LeadMetrics
Die Meta-Anzeige läuft, die Landingpage konvertiert, und trotzdem stehen im CRM Leads ohne Quelle, Verkäufe aus dem Checkout erscheinen als „direkt“ und Terminbuchungen tauchen in keinem Report auf. Der Grund ist fast immer derselbe: Irgendwo auf dem Weg wechselt der Besucher die Domain, und das Tracking verliert ihn.
Dieser Guide richtet sich an Performance-Marketer, Agenturen und Coaches mit Funnel-Setups. Danach weißt du, warum Funnel-Builder, Iframes und Checkout-Seiten das Tracking brechen, welche Wege es gibt, die Session weiterzugeben, und wie du Heyflow, Perspective, Typeform, ClickFunnels, Calendly sowie Digistore24 und CopeCart konkret anbindest.
Warum Leads beim Domainwechsel ihre Quelle verlieren
Fast jedes Website-Tracking ist Client-Side Tracking: Ein Script im Browser liest UTM-Parameter und Klick-IDs beim ersten Seitenaufruf und merkt sie sich in First-Party-Cookies. Das funktioniert, solange der Besucher auf derselben Domain bleibt. Ein typischer Lead-Funnel sieht aber so aus:
- Klick auf die Anzeige, Landingpage auf
deine-firma.de - Formular als eingebettetes Iframe von
heyflow.siteodertypeform.com - Terminbuchung über ein Kalender-Widget
- Kauf auf der Checkout-Seite von Digistore24 oder CopeCart
An jedem dieser Übergänge gibt es drei technische Grenzen:
- Cookies gelten pro Domain. Ein Cookie von
deine-firma.deist aufheyflow.sitenicht lesbar. Für das Tracking auf der zweiten Domain ist der Besucher ein Unbekannter ohne Quelle. - Ein Iframe ist ein eigenes Dokument. Das Script auf deiner Seite kann die Felder in einem fremden Iframe weder lesen noch befüllen.
- Third-Party-Cookies sind weitgehend blockiert. Ein Script im Iframe hat seinen eigenen Cookie-Speicher für die fremde Domain, und den blockieren Browser zunehmend. Safari etwa blockiert Cookies für seitenübergreifende Ressourcen seit März 2020 standardmäßig (WebKit).
Das Ergebnis: Der Lead kommt zwar per Webhook an, aber ohne Verbindung zu dem Besuch, in dem der Anzeigenklick steckt.
Das Prinzip: Kennung aktiv übergeben
Jede Lösung für Cross-Domain-Tracking folgt demselben Prinzip. Weil die Zieldomain die Cookies nicht lesen kann, wird eine Kennung aktiv mitgegeben. Google Analytics 4 macht das zum Beispiel mit dem Linker-Parameter _gl, der an Links zwischen den konfigurierten Domains angehängt wird. Voraussetzung ist, dass auf allen Domains dasselbe Google-Tag mit derselben Mess-ID läuft (Google Analytics Hilfe).
Für Lead-Funnels gibt es vier Wege, die Session weiterzugeben:
| Situation | Weg |
|---|---|
| Besucher wechselt per Link zwischen deinen eigenen Domains | Session-Kennung als URL-Parameter am Link |
| Funnel-Tool erlaubt eigenen Code und leitet alle Felder weiter | Script im Funnel, Session-ID im versteckten Feld |
| Formular- oder Buchungstool ohne eigenen Code, aber mit Weiterleitung | Weiterleitung auf deine Danke-Seite mit E-Mail-Adresse in der URL |
| Link in einen Checkout | Session-Kennung im Checkout-Link |
Als Netz unter allem dient der Abgleich über Kontaktdaten: Kennt die Session bereits die E-Mail-Adresse oder Telefonnummer des Besuchers, findet ein später eintreffender Lead seine Session auch ohne Session-ID.
Mehrere eigene Domains verbinden
Liegt die Landingpage auf angebot.de und das Bewerbungsformular auf karriere-firma.de, brauchst du klassisches Cross-Domain-Tracking. In LeadMetrics heißt die Einstellung Multi Domain Tracking. Ist sie aktiv, hängt das Script an Links zu anderen Domains automatisch die Session-Kennung an. Das Script auf der Zieldomain übernimmt diese Session, statt eine neue zu starten.
Darauf kommt es an:
- Dasselbe Snippet überall: Auf allen Domains muss exakt dasselbe Tracking-Snippet desselben Projekts laufen. Kopiere es, statt es mit anderen Einstellungen neu zu erzeugen.
- Nur echte Links: Übergeben wird an
<a href>-Links. Iframe-Quellen, per JavaScript gebaute URLs und Formular-Actions werden nicht umgeschrieben. - Auch Subdomains bedenken: Wechseln Besucher per Link zwischen
www.undfunnel., lohnt sich die Einstellung ebenfalls.
Funnel-Builder mit eigenem Code: Heyflow und Perspective
Funnel-Builder wie Heyflow und Perspective erlauben eigenen Code im Funnel und leiten alle Formularfelder per Webhook weiter. Das ist der zuverlässigste Fall:
Script in den Funnel einbauen
Füge das Tracking-Script in den Head-Code des Funnels ein. Bei Perspective auf jeder Seite des Funnels.Verstecktes Feld anlegen
Lege ein verstecktes Feld mit dem Namenlm_session_idan und setze als Inhalt genau{{LM_SESS}}, ohne weitere Zeichen. Das Script ersetzt den Platzhalter durch die aktuelle Session-ID.Webhook verbinden
Hinterlege die Webhook-URL aus LeadMetrics im Funnel-Tool. Jeder Lead kommt mit seiner Session-ID an und wird exakt seinem Besuch zugeordnet.
Läuft der Funnel nicht als eigene Seite, sondern als Iframe auf deiner Landingpage, startet er ohne weitere Übergabe eine eigene Session. Der Lead wird dann zwar zugeordnet, aber einem Besuch, dessen Quelle deine Landingpage ist und nicht die Anzeige. Hier muss die Session zusätzlich in die Iframe-URL übergeben werden. Einfacher ist es, aus der Anzeige direkt auf den Funnel zu verlinken. Bietet das Tool eine eigene Domain an, kann der Funnel auch auf einer Subdomain deiner Website laufen. Dann teilt er sich die Cookies mit deiner Seite.
ClickFunnels und Meetovo erlauben ebenfalls eigenen Code, senden per Webhook aber nur feste Felder. Ein verstecktes Session-Feld kommt dort nicht an. Baue das Script trotzdem ein: Es erkennt die E-Mail-Adresse im Formular, und der Lead wird über den Abgleich der Kontaktdaten zugeordnet.
Tools ohne eigenen Code: Typeform und Calendly
Typeform-Formulare und Calendly-Buchungen laufen meist als Iframe, in dem du kein eigenes Script ausführen kannst. Die Lösung ist eine Weiterleitung nach dem Absenden auf eine Danke-Seite auf deiner Domain, die das Tracking-Script enthält. In der URL übergibt das Tool die E-Mail-Adresse, etwa ?email=. Das Script liest sie aus, die Session kennt jetzt die Person, und der Lead, der parallel per Webhook oder Zapier ankommt, findet seine Session.
- Typeform: Unter „Redirect on completion“ die Danke-Seite eintragen und die Antwort aus dem E-Mail-Feld als Parameter einfügen, zum Beispiel
https://deine-firma.de/danke?email={{field:email}}. - Calendly: In den Einstellungen des Termintyps unter „Confirmation Page“ auf eine externe Seite weiterleiten und „Pass event details to your redirected page“ aktivieren. Die Buchung selbst kommt über Zapier zu LeadMetrics.
Zwei Details entscheiden, ob es klappt: Telefonnummern müssen URL-kodiert sein (%2B49… statt +49…), sonst geht das Pluszeichen verloren. Und die Danke-Seite muss dasselbe Tracking-Snippet enthalten wie die Landingpage.
Checkout-Seiten: Digistore24 und CopeCart
Bei Infoprodukten und Coachings endet der Funnel oft im Checkout eines Zahlungsanbieters. Hier wird die Session über den Checkout-Link übergeben. Setze den Platzhalter __LM_SESS__ in den Link, und das Script ersetzt ihn vor dem Klick durch die Session-ID:
| Checkout | Parameter am Link |
|---|---|
| Digistore24 | ?cid=__LM_SESS__ |
| CopeCart | ?metadata=__LM_SESS__ |
| Stripe Checkout / Payment Link | ?client_reference_id=__LM_SESS__ |
Der Verkauf kommt dann per Webhook mit dieser Kennung zurück und landet bei der Anzeige, über die der Käufer kam. Wichtig: Ersetzt wird nur in normalen Links auf deiner Seite. Ein Button, der seine URL per JavaScript zusammenbaut, bekommt keine Session-ID.
Eigene Widgets und Sonderfälle
Hast du einen eigenen Konfigurator, ein individuelles Buchungs-Widget oder eine Seite, auf der die Formular-Erkennung das E-Mail-Feld nicht sieht, kannst du die Person selbst identifizieren. Ein Aufruf wie lmetrics.attribute({ email, phone }) hängt E-Mail-Adresse und Telefonnummer an die aktuelle Session. Kommt der Lead später aus dem CRM oder per Webhook, wird er darüber zugeordnet.
So prüfst du dein Setup
Mit Testparametern starten
Rufe die Landingpage mit den Tracking-Parametern einer echten Anzeige auf, zum Beispiel aus der Anzeigenvorschau.Feld oder Link prüfen
Im Funnel muss das versteckte Feld eine lange Kennung enthalten statt des Platzhalters{{LM_SESS}}. Im Checkout-Link muss__LM_SESS__ersetzt sein.Testlead mit eindeutiger E-Mail
Schicke das Formular mit einer eindeutigen Test-Adresse ab. Bei Weiterleitungen: Landest du auf deiner Danke-Seite, und steht die E-Mail-Adresse in der URL?Zuordnung kontrollieren
Der Testlead muss mit Kanal, Kampagne und Anzeige erscheinen. Fehlt die Quelle, ist an einer Stelle die Übergabe gerissen.
Typische Fehler
- Script nur auf der Landingpage: Funnel-Seiten, Danke-Seiten und zweite Domains brauchen dasselbe Snippet.
- Platzhalter mit Zusatz:
{{LM_SESS}}wird nur ersetzt, wenn er der komplette Feldinhalt ist. - Unterschiedliche Snippets: Auf zwei Domains laufen Scripts verschiedener Projekte oder mit anderen Einstellungen, und die Session kann nicht übergehen.
- Weiterleitungen ohne Parameter: Ein Redirect oder Link-Kürzer schneidet die Session-Kennung ab.
- Eigene Domain als Quelle: Der Funnel-Builder erscheint als Verweisquelle und überschreibt die Anzeige.
Wie Klick-Parameter überhaupt sauber ankommen, steht im Guide zu UTMs und Klick-IDs. Wie aus dem zugeordneten Lead die Zuordnung bis zum Umsatz wird, erklärt der Guide zur Lead-Attribution.
So hilft dir LeadMetrics
- Alle Übergabewege an Bord:
{{LM_SESS}}für versteckte Felder,__LM_SESS__für Checkout-Links, Weiterleitungen mit?email=,lmetrics.attribute()und Multi Domain Tracking für deine eigenen Domains. - Formular-Erkennung: E-Mail und Telefonnummer aus Formularfeldern werden verschlüsselt übertragen und an der Session gespeichert, auch in Single-Page-Apps.
- Robuste Zuordnung: Leads werden über Session-ID, E-Mail-Adresse oder Telefonnummer bis zu 90 Tage rückwirkend zugeordnet, nicht zugeordnete Leads stündlich erneut abgeglichen.
- Fertige Anbindungen: Heyflow, Perspective, OnePage, Meetovo, Typeform und ClickFunnels per Webhook, Calendly über Zapier, Verkäufe aus Digistore24, CopeCart und Stripe. Mehr dazu auf der Seite zum Lead-Tracking.
Bereit für besseres Tracking?
Häufige Fragen
Begriffe in diesem Guide
Alle BegriffeCross-Domain-Tracking
Cross-Domain-Tracking erfasst einen Besucher über mehrere Domains als eine Session, etwa Website, Funnel und Checkout. Mit Einrichtung in 5 Schritten.
First-Party-Cookies
First-Party-Cookies werden von der Domain gesetzt, die du gerade besuchst. Sie speichern z. B. Logins, Warenkörbe oder Tracking-IDs für dieselbe Website.
Third-Party-Cookies
Third-Party-Cookies werden von einer fremden Domain gesetzt, etwa einem Werbenetzwerk, und ermöglichen es, Nutzer über viele Websites hinweg zu verfolgen.
Client-Side Tracking
Client-Side Tracking erfasst Nutzeraktionen per JavaScript direkt im Browser und sendet sie von dort an Analyse- und Werbeplattformen.
UTM-Parameter
UTM-Parameter sind Zusätze an einer URL (z. B. utm_source, utm_campaign), mit denen Analyse-Tools erkennen, aus welcher Quelle und Kampagne ein Besucher kommt.
Landingpage · Zielseite einer Anzeige
Eine Landingpage ist eine Seite, die für eine Kampagne oder ein Angebot gebaut wird und Besucher zu einer Aktion führen soll, etwa ein Formular absenden oder einen Termin buchen.
Conversion Tracking
Conversion Tracking erfasst, welche Nutzer nach einem Anzeigenklick eine gewünschte Aktion ausführen – etwa ein Formular absenden oder kaufen.
CRM · Customer Relationship Management
Ein CRM (Customer Relationship Management) ist ein System, in dem du Kontakte, Leads, Deals und die Kommunikation mit Interessenten und Kunden verwaltest.
Passende Artikel
- Client-Side vs. Server-Side Tracking: Unterschiede, Vor- und Nachteile für LeadgenerierungClient-Side vs. Server-Side Tracking: Wie beide funktionieren, was sie bei Werbeblockern, Cookies, Datenschutz und Datenqualität unterscheidet und warum Lead-Gen-Setups beides kombinieren.
- Instant Forms oder Landingpage: Was bringt die besseren Leads?Instant Forms bei Meta liefern günstige Leads, Landingpages oft die besseren. Wann sich welcher Weg lohnt, wie du Instant Forms qualifizierter machst und wie du beide fair vergleichst.
- Vom CRM-Lead zur echten Conversion: Schluss mit Blindflug im Performance-MarketingWie CRM/AdSync den echten Wert deiner Kampagnen sichtbar macht – und warum das der Gamechanger für datengetriebenes Wachstum ist.
- Tracking ohne CAPI, Pixel-Wirrwarr und EntwickleraufwandWarum moderne Marketer auf Direct Track, One-Code-Tracking und automatisches Form Tracking setzen
Weitere Guides
Alle GuidesMeta Event Match Quality verbessern: Welche Daten du mitsenden solltest
So verbesserst du die Event Match Quality in Meta: welche Kundendaten zählen, wie du sie normalisierst und hashst und wie fbc, fbp und event_id helfen.
Guide lesenKampagnen-Tracking mit UTMs und Klick-IDs richtig aufsetzen
So richtest du sauberes Kampagnen-Tracking ein: UTM-Namenskonvention, dynamische Parameter in Meta und Google Ads, Klick-IDs, typische Fehler und Tests.
Guide lesenKunden-Reporting für Agenturen: Marketing-Reports für Leadgenerierung automatisieren
Welche KPIs in einen Kundenbericht für Lead-Kampagnen gehören, wie ein Monatsreport aufgebaut ist und wie du Datensammlung und Versand automatisierst. Mit Vorlage und Checkliste.
Guide lesen