Website-Formulare an HubSpot anbinden
Website-Formulare an HubSpot anbinden: Native Formulare sind schnell, aber im Design begrenzt, Tracking-Code übersieht den Submit. Welcher Weg wann passt.
1. Was die HubSpot Forms API ist und was sie nicht ersetzt
Direktantwort: Mit der HubSpot Forms API landen Anfragen aus deinen eigenen Formularen im CRM, ohne dass du auf dein Design verzichtest. Die Schnittstelle nimmt die Daten eines beliebigen HTML-Formulars entgegen und schickt sie als Kontakt samt Kontext an HubSpot, inklusive Tracking- und Consent-Feldern. Formular-Design und CRM ersetzt sie nicht. Gedacht ist sie als Brücke zwischen einem selbst gebauten Formular und der HubSpot-Datenbank.
Das weicht von der üblichen Vorstellung ab. Wer „HubSpot-Formulare“ hört, denkt an das eingebettete Formular aus dem Formular-Editor: fertiges Layout, automatisches Tracking, ein Script-Snippet zum Einfügen. Die Forms API ist das Gegenteil. Die API bringt weder Layout noch Editor mit, dafür hast du die volle Kontrolle über Markup, Validierung und Design. Wer beides mischt oder verwechselt, baut doppelte Logik oder verliert Tracking-Daten, ohne es zu merken. Als technisches Fundament gehört die Entscheidung deshalb in dieselbe HubSpot-CRM-Architektur, die auch Scoring, Segmentierung und Reporting trägt.
Nicht jedes Formular braucht die Forms API. Hast du eine einzelne Landingpage mit einem Kontaktformular und kein eigenes Design-System, bist du mit dem nativen Editor schneller live und hast weniger laufenden Wartungsaufwand. Die Forms API rechnet sich, sobald mehr als ein Formular, mehr als eine Sprache oder ein eigenes Design-System im Spiel ist. Dann verteilt sich der einmalige Integrationsaufwand auf jedes weitere Formular, das denselben Code wiederverwendet.
2. Native HubSpot-Formulare, Tracking-Code oder Forms API: drei Wege im Vergleich
Direktantwort: Welchen Weg du wählst, entscheidet, ob im CRM deine Leads ankommen oder nur die Besuche. Native HubSpot-Formulare sind am schnellsten, aber im Design begrenzt. Fremde Formulare mit Tracking-Code übernehmen nur den Cookie, nicht die Submission. Nur die Forms API verbindet eigenes Design, serverseitige Kontrolle und vollständiges Tracking. Für einen Rollout über mehrere Formulare und Sprachen empfehlen wir deshalb sie.
Wische nach links oder rechts, um alle Spalten zu sehen.
| Weg | Design-Kontrolle | Tracking | Aufwand | Passt für |
|---|---|---|---|---|
| Natives HubSpot-Formular | gering, Layout aus dem Formular-Editor | automatisch, vollständig | Minuten | Einzelne Landingpages ohne eigenes Design-System |
| Fremdes Formular + Tracking-Code | vollständig | nur Seitenaufruf, keine Zuordnung der Submission | gering, aber lückenhaft | Vermeiden, sobald du Leads zählen musst |
| Fremdes Formular + Forms API | vollständig | vollständig, inkl. UTM und Consent | mittel, einmalig | Mehrsprachige Sites, Design-System, mehrere Lead-Magnet-Formulare |
Der mittlere Weg ist der häufigste Irrtum. Der HubSpot-Tracking-Code setzt zwar den Besucher-Cookie (hubspotutk) und protokolliert Seitenaufrufe. Von einem Formular-Submit, der nicht über den HubSpot-Formular-Editor läuft, weiss er aber nichts. Das Ergebnis: Du siehst den Besuch in HubSpot, aber nicht den Lead. Genau diese Lücke schliesst die Forms API.
In der Praxis sind die drei Wege selten sauber getrennt. Häufiger findest du einen historisch gewachsenen Mix. Die Karriereseite läuft noch über ein altes Kontaktformular mit Tracking-Code, die neue Kampagnen-Landingpage schon über die Forms API. Und irgendwo dazwischen steckt ein natives Formular aus einer früheren Migration. Das beweist keine schlechte Arbeit. Es ist der Normalfall, wenn ein Formularnetz über Jahre gewachsen ist. Jeder Rollout beginnt deshalb nicht mit der Integration, sondern mit einer Bestandsaufnahme, welcher Weg wo läuft (siehe Abschnitt 8, Schritt 1).
3. So fliessen die Daten vom Formular bis ins Reporting
Direktantwort: Lässt du eine Station aus, leidet entweder die Datenqualität oder die Zustellung. Der Datenfluss hat sechs Stationen, und jede hat eine klare Aufgabe. Er beginnt beim Formular und der serverseitigen Validierung und läuft über die Forms API in die Prüfung von Consent und Double Opt-in. Danach folgen Zustellung und Nurturing, am Ende stehen Reporting und Attribution.
- Website-Formular. Eigenes Markup und eigenes Design, dazu eine Basisvalidierung im Browser (Pflichtfelder, E-Mail-Format).
- Serverseitige Validierung. Vor dem API-Call prüfst du die Pflichtfelder noch einmal und schützt dich mit Honeypot oder Rate-Limit gegen Spam. Ausserdem stellst du fest, welche Sprachversion der Seite der Besucher nutzt.
- HubSpot Forms API. Ein POST-Request mit den Feldwerten, dem Kontext-Objekt (Seiten-URI, Seitenname,
hutk) und dem Consent-Objekt. - Consent- und Double-Opt-in-Prüfung. Du dokumentierst die Rechtsgrundlage. Gilt eine Double-Opt-in-Pflicht, löst du zuerst die Bestätigungs-E-Mail aus, statt den Kontakt sofort in den Workflow zu geben.
- Lead-Magnet-Zustellung und Nurturing-Workflow. Nach dem bestätigten Opt-in geht der Lead-Magnet automatisch raus. Danach übernimmt die Nurturing-Sequenz, die zu Sprache und Formularquelle passt. Das ist die eigentliche Übergabe an die Pipeline-Generation.
- Reporting und Attribution. Die UTM- und Seitendaten aus Schritt 3 fliessen unverändert ins Reporting. Vorausgesetzt, niemand hat sie unterwegs überschrieben (siehe Abschnitt 5).
Zwei Stationen fallen in der Praxis am häufigsten weg. Die serverseitige Validierung, weil sie unsichtbar ist. Und die Consent-Prüfung, weil sie den Go-live verzögert. Beides merkst du erst, wenn die ersten Spam-Submissions oder die ersten Beschwerden über unverlangte E-Mails eintreffen.
4. Welche Contact Properties du beim Mapping wirklich brauchst
Direktantwort: Ein Formularfeld ohne passende Property sammelt Daten, die nie ankommen. Jedes Feld braucht deshalb eine existierende, korrekt typisierte Property in HubSpot. Zum Kern gehören firstname, lastname und email. Dazu kommen company und numemployees, bei mehrsprachigen Sites ausserdem hs_language. Für die Anrede führt HubSpot kein Standardfeld, dafür legst du ein eigenes an.
Wische nach links oder rechts, um alle Spalten zu sehen.
| Formularfeld | HubSpot-Property | Hinweis |
|---|---|---|
| Vorname | firstname | Standard-Property, kein Mapping-Risiko |
| Nachname | lastname | Standard-Property |
| Anrede | Custom Property, z. B. anrede | Kein Standardfeld. Vor dem Rollout anlegen, sonst geht der Wert verloren |
email | Pflichtfeld, Grossschreibung und Tippfehler serverseitig normalisieren | |
| Unternehmen | company | Freitext. Für die Segmentierung mit Enrichment kombinieren, nicht nur mit dem Formularwert arbeiten |
| Mitarbeiterzahl | numemployees | HubSpot erwartet einen Bucket-Wert, keinen Freitext |
| Sprache der Seite | hs_language | Aus der URL oder dem Seiten-Locale setzen, nie aus dem Browser-Header. Sonst weicht die Formularsprache von der Website-Sprache ab |
Der häufigste Fehler an dieser Stelle ist kein falsches Feld, sondern ein fehlendes. Ein Custom Field wie anrede existiert im Formular, aber nicht im Property-Schema von HubSpot. Die API akzeptiert den Call trotzdem. Der Wert verschwindet lautlos, ohne Fehlermeldung.
5. So gibst du UTM- und Attributionsfelder richtig mit
Direktantwort: Kommen die UTM-Werte nicht mit, sieht jede Kampagne im Reporting später aus wie „Direct Traffic“. Die Forms API übernimmt UTM-Parameter nämlich nicht automatisch aus der URL. Du liest sie aus dem Query-String und sendest sie ausdrücklich als Properties mit, und zwar utm_campaign, utm_source und utm_medium. Dazu kommen utm_term und utm_content.
- UTM-Werte beim ersten Seitenaufruf sichern. Lies sie nicht erst beim Formular-Submit aus. Bis dahin ist der Query-String oft schon verloren, etwa nachdem der Besucher auf der Website weitergeklickt hat.
- Den ersten Kontakt schützen. Kommt ein Besucher über eine Kampagne und kehrt später organisch zurück, darf die ursprüngliche Quelle nicht überschrieben werden. Sperr die First-Touch-Felder deshalb gegen Überschreiben.
- Den Seitenkontext mitsenden. Füll im Kontext-Objekt der API auch
pageUriundpageName, nicht nur die UTMs. Stehen mehrere Formulare auf einer Seite, erkennst du daran, welches Formular abgeschickt wurde. hutk-Cookie korrekt lesen. Fehlt der HubSpot-Tracking-Cookie im Kontext-Objekt, verliert die Submission die Verbindung zur bisherigen Sitzung. HubSpot legt den Kontakt dann neu an, statt ihn fortzuschreiben.
6. Worauf du bei Consent und Double Opt-in achten musst
Direktantwort: Eine Einwilligung zählt nur, wenn du sie belegen kannst. Die Forms API verlangt dafür ein eigenes Consent-Objekt mit Rechtsgrundlage und Einwilligungstext. Das ist keine Kür, sondern Teil des API-Calls. Für E-Mail-Marketing in der Schweiz und der EU ist ein dokumentierter Double-Opt-in-Schritt die sicherere Grundlage als ein Häkchen im Formular, weil er die Einwilligung technisch nachweisbar macht.
In der Praxis heisst das: Der erste API-Call legt den Kontakt an und markiert ihn als „unbestätigt“. Erst der Klick auf den Bestätigungslink in der DOI-E-Mail setzt den Marketing-Consent-Status und startet den Nurturing-Workflow. Überspringst du diesen Zwischenschritt, verschickt das System Nurturing-E-Mails an Kontakte, die formal nie zugestimmt haben. Dieses Compliance-Risiko zeigt sich nicht beim Go-live, sondern erst bei einer Beschwerde.
Bei mehrsprachigen Sites kommt eine zweite Ebene dazu. Der Einwilligungstext muss in jeder Sprachversion inhaltlich identisch und rechtlich geprüft sein. Eine Übersetzung „nach Gefühl“ reicht nicht, weil Rechtsgrundlage und Wortlaut zusammen dokumentiert werden. Verwalte den Einwilligungstext deshalb zentral und übersetze ihn pro Sprache, statt ihn neu zu formulieren. Dann bleibt er auch konsistent, wenn eine weitere Sprachversion dazukommt.
7. Elf Punkte, die du vor dem Go-live prüfen solltest
Direktantwort: Die meisten Fehler im Livebetrieb entstehen nicht aus einem komplexen Bug, sondern aus zwei oder drei übersprungenen Punkten. Deshalb lohnt sich vor dem Rollout eines Formulars über die Forms API eine feste Checkliste. Geh sie für jedes Formular und jede Sprache einzeln durch.
- Jedes Formularfeld hat eine existierende, korrekt typisierte HubSpot-Property.
hs_languagewird pro Sprachversion richtig gesetzt, nicht global.- UTM-Parameter werden beim ersten Seitenaufruf gesichert, nicht erst beim Submit gelesen.
- Der
hutk-Cookie wird korrekt ausgelesen und mitgesendet. pageUriundpageNamesind im Kontext-Objekt gesetzt.- Das Consent-Objekt enthält die Rechtsgrundlage und den exakten Einwilligungstext.
- Double-Opt-in-E-Mail und Bestätigungslink funktionieren in jeder Sprachversion.
- Die serverseitige Validierung blockt leere Pflichtfelder und offensichtlichen Spam.
- Rate-Limiting oder ein Honeypot-Feld ist gegen Bot-Submissions aktiv.
- Ein Test-Submit je Formular und Sprache erscheint korrekt im CRM, mit allen Properties.
- Das Verhalten bei Duplikaten ist geprüft: Ein zweiter Submit derselben E-Mail-Adresse aktualisiert den Kontakt, statt einen zweiten anzulegen.
8. So läuft ein Rollout-Projekt in der Praxis ab
Direktantwort: Die teuersten Fehler eines Formularprojekts entstehen, bevor jemand Code schreibt. Führ das Projekt deshalb in zehn Schritten, von der Bestandsaufnahme bis zur Übergabe an den laufenden Betrieb. Das Mapping der Felder und das Consent-Konzept stehen dabei bewusst vor der eigentlichen Entwicklung.
- Formular-Audit: Erfass alle bestehenden Formulare, Sprachen und Zielseiten.
- Erstell eine Property-Mapping-Tabelle und gleich sie mit dem CRM-Schema ab.
- Leg fehlende Custom Properties in HubSpot an, bevor du den ersten Call baust.
- Leg das Konzept für Consent und Double Opt-in je Rechtsraum fest.
- Definier das UTM- und Tracking-Konzept (First-Touch-Schutz,
hutk-Handling). - Bau die API-Integration: serverseitige Validierung, Forms-API-Call, Fehlerbehandlung.
- Setz die Workflows für Lead-Magnet-Zustellung und Nurturing je Sprache auf.
- Teste nach der Pre-flight-Checkliste aus Abschnitt 7.
- Roll gestaffelt aus: Nimm ein Formular produktiv, beobachte es und skaliere erst dann.
- Setz das Reporting-Dashboard auf und übergib es an das Team, das die Formulare laufend pflegt.
Warum diese Reihenfolge? Ein Property-Mapping, das erst während der Entwicklung entsteht, wird selten vollständig. Es wächst mit jedem Formular, das später dazukommt, und irgendwann stimmt keine Übersicht mehr mit der Realität überein. Legst du das Mapping vor Schritt 6 fest, wird die Entwicklung selbst zum unkritischsten Teil des Projekts. Der API-Call ist technisch einfach, sobald klar ist, welches Feld wohin geht.
9. Welche Fehler in der Praxis am häufigsten vorkommen
Direktantwort: Die gefährlichsten Fehler melden sich nicht von selbst. Die meisten fallen in drei Klassen: verlorene Attribution, stille Datenverluste beim Mapping und Lücken beim Consent. Vermeiden kannst du alle drei, aber nur, wenn du sie vor dem Rollout angehst und nicht erst danach.
- Verlorene Attribution: Die UTM-Parameter werden erst beim Submit gelesen statt beim ersten Seitenaufruf. Nach der internen Navigation sind sie weg, und das Reporting zeigt „Direct“.
- Stiller Datenverlust: Ein Formularfeld zeigt auf eine Property, die nicht existiert. Der API-Call läuft fehlerfrei durch, der Wert landet nirgends.
- Compliance-Lücke: Der Nurturing-Workflow startet direkt nach dem ersten Submit und nicht erst nach dem bestätigten Double Opt-in.
- Sprachvermischung:
hs_languagewird aus dem Browser gesetzt statt aus der Seiten-URL. Dann landet ein französischsprachiger Besucher auf der deutschen Unterseite in der falschen Sequenz. - Duplikate statt Updates: Ohne sauberes Deduplizierungsverhalten legt jeder erneute Submit einen neuen Kontakt an, statt den bestehenden zu aktualisieren.
Allen fünf ist eines gemeinsam: Keiner dieser Fehler führt zu einem sichtbaren Absturz. Der API-Call meldet Erfolg, das Formular zeigt die Bestätigungsseite, der Besucher merkt nichts. Sichtbar wird der Fehler erst Wochen später. Im Reporting, wenn sich der ROI einer Kampagne nicht mehr nachvollziehen lässt. Oder im Support, wenn sich ein Kontakt über unverlangte Post beschwert. Genau wegen dieser Verzögerung ist die Pre-flight-Checkliste aus Abschnitt 7 wichtiger als jede spätere Fehlersuche.
10. Was deine sichere Rückfallebene ist, wenn ein Rollout scheitert
Direktantwort: Lass eine fehlerhafte API-Integration nicht live, während du nach der Ursache suchst. Schalte das betroffene Formular vorübergehend auf ein natives HubSpot-Formular um. Dessen Verhalten ist bekannt und stabil. Es kostet dich Design-Kontrolle, aber keine Datenqualität, und du kannst den eigentlichen Fehler in Ruhe beheben.
Plan diesen Rollback vorab ein, statt ihn erst im Störfall zu improvisieren. Liegt ein zweites, natives Formular für dieselbe Zielseite vorbereitet im System, aktivierst du es in Minuten.
11. So prüfst du den Erfolg nach dem Go-live
Direktantwort: Ob die Integration funktioniert, siehst du nicht am Formular, sondern im Reporting. Zwei Fragen zählen. Stimmen Quelle, Kampagne und Sprache jedes neuen Kontakts mit der Erwartung überein? Und bestätigt der Anteil der Double-Opt-ins, dass die Consent-Strecke funktioniert? Prüf beides in der ersten Woche nach dem Go-live täglich, danach wöchentlich.
Am meisten bringt hier ein einfacher Test: Verfolge die ersten zehn echten Submissions von Hand im CRM, Property für Property und Sprache für Sprache. Diese zehn Datensätze zeigen fast immer, ob du einen Mapping-Fehler übersehen hast, bevor er sich auf Hunderte Kontakte summiert.
Danach lohnt sich ein zweiter Check, von dem seltener die Rede ist: die Verteilung der Formularquellen über die Zeit. Steigen die Submissions ohne UTM-Werte plötzlich an, steckt fast immer ein neuer Kanal dahinter, den das Tracking-Konzept nicht vorgesehen hat. Das kann eine neue Anzeigenplattform sein oder ein Newsletter-Link ohne Kampagnen-Parameter. Dieser Check gehört ins laufende Reporting und nicht nur in die erste Woche nach dem Go-live.
12. Was ein mehrsprachiges Formularnetz in der Praxis zeigt
Direktantwort: Bei mehreren Sprachen landen Leads schnell in der falschen Sequenz, egal wie gut das Formular gestaltet ist. Das zeigt exemplarisch ein Schweizer HR-Dienstleister mit mehrsprachiger Website und mehreren Lead-Magnet-Formularen. Jede Sprachversion braucht dort einen eigenen Einwilligungstext, eine eigene Nurturing-Sequenz und ein eigenes hs_language-Mapping. Genau deshalb ist die Forms API der richtige Weg und nicht der Tracking-Code.
Die Lehre daraus ist organisatorisch, nicht technisch. Property-Mapping und Consent-Konzept gehören auf den Tisch, bevor jemand die erste Zeile Integrationscode schreibt. Drehst du diese Reihenfolge um, entsteht Code, der technisch funktioniert, aber auf einem falschen Datenmodell steht. Den Fehler siehst du dann erst im Reporting, Monate später.
Das Muster zeigt noch etwas. Mehrsprachige Formularnetze wachsen fast nie in einem Zug, sondern Sprachversion für Sprachversion, oft über Jahre. Ein Property-Schema, das nur für die erste Sprache gedacht war, wird mit jeder weiteren Sprache enger. Behandle deshalb hs_language, Einwilligungstext und Nurturing-Sequenz von Anfang an pro Sprache als eigene, dokumentierte Einheit. Nicht als Kopie der ersten Sprache mit übersetztem Text. So verhinderst du genau die Enge, die sich sonst erst bei der dritten oder vierten Sprache zeigt.
Für dich heisst das: Fang mit dem Formularaudit an, nicht mit dem Code. Audit, Property-Mapping, API-Blueprint und Consent-Konzept lassen sich in einem ersten Gespräch grob abstecken. Buch dir dazu ein kostenloses Erstgespräch: 60 Minuten · kein Pitch · ehrliche Einschätzung, ob es passt.
Häufig gestellte Fragen
Ersetzt die HubSpot Forms API den nativen Formular-Editor?
Übernimmt die Forms API UTM-Parameter automatisch?
Reicht ein einfaches Consent-Häkchen im Formular?
Was passiert, wenn ein Formularfeld auf eine nicht existierende Property zeigt?
Wie setze ich bei mehrsprachigen Formularen die richtige Sprache im CRM?
Ressourcen-Download
Download freischalten.
Gib deine E-Mail-Adresse ein. Danach startet der Download von „Website-Formulare an HubSpot anbinden“.
PDF, sofort nach der Abgabe · Kein Newsletter, kein Anruf
Wir verarbeiten deine E-Mail-Adresse in HubSpot, um dir diese Ressource bereitzustellen. Details stehen in der Datenschutzerklärung.