How to connect Webflow and HubSpot without breaking your forms
.avif)
How to connect Webflow and HubSpot
There are only two connection points. First, the HubSpot tracking code goes in your Webflow site-wide custom code head. Second, every form on the site has to reach HubSpot, either as an embedded HubSpot form, a native Webflow form passed through an integration, or a custom submit to the HubSpot Forms API. Everything else - lifecycle stages, workflows, attribution, chat - runs on top of those two.
Here is the order that avoids rework.
Install the tracking code first
Paste the HubSpot tracking script into Webflow site settings, custom code, head. Publish, then load a page and confirm the hit appears in HubSpot. Do this before you touch forms, because HubSpot uses the tracking cookie to tie a submission to the visitor's earlier sessions. Forms built before the script is live will still create contacts, but without the page history behind them.
Pick one form method and use it everywhere
Mixing methods is the main reason reporting goes sideways. Decide once, document it, and hold the line on new pages.
Map fields before the first live submission
List every field you collect, the HubSpot property it writes to, and the property type. Create missing properties in HubSpot first. A field that has no matching property is silently dropped, and you only find out when sales asks why company size is empty on 400 contacts.
Test the whole path, not the form
Submit a real test from an incognito window on a published page. Check that the contact appears, the properties are filled, the source is right, the workflow fired and the notification reached the inbox it is supposed to reach. Then repeat it on mobile.
Three ways to send Webflow forms into HubSpot
Each one trades something. Choose on who owns the form, not on which is quickest to wire up.
- Embedded HubSpot form. HubSpot owns the markup. You get progressive profiling, smart fields and queued submissions for free, and marketing can change fields without a developer. The cost is styling work, an extra script on the page and less control over validation and the thank-you state.
- Native Webflow form with an integration. Webflow owns the markup, so the form matches your design system and loads with the page. The cost is that every new field needs mapping on both sides, and a failed handoff can look like a successful submit to the visitor.
- Custom submit to the HubSpot Forms API. Your code owns the request. This is the right answer for multi-step flows, gated calculators, product signup and anything that has to write to several systems at once. The cost is real engineering, error handling and a test suite that someone has to maintain.
A practical default for most B2B marketing sites is native Webflow forms for standard conversion points, embedded HubSpot forms where marketing needs to change fields weekly, and the API only for flows that genuinely need it. If you want a second opinion on which belongs where, our Webflow development team scopes this as part of a build.
What usually breaks
The tracking cookie is blocked by your consent banner
If your banner holds all scripts until consent, HubSpot sees nothing for visitors who never click accept, and submissions arrive with no page history. This is correct behavior, not a bug, but finance and sales need to know the numbers are partial. Decide which cookie category HubSpot sits in and write it down.
Duplicate contacts from two sources of truth
A form that writes to HubSpot and also syncs through a second tool will create two records with different email casing or a missing field. Pick one write path per form. If you also push to a CRM, send HubSpot first and let the CRM sync downstream, the same rule that keeps a Webflow Salesforce integration clean.
UTM and referral data never arrive
Hidden fields do not fill themselves. Capture UTM parameters, the referrer and the page path into hidden inputs, and store them in a first-party cookie so they survive a visitor who lands on a blog post today and converts next week. Confirm the same parameters are landing in your analytics, because the two reports get compared in every pipeline review. Our guide to Webflow Google Analytics integration covers the measurement side.
Form styling breaks on mobile
Embedded HubSpot forms carry their own CSS. On a Webflow page with a strict design system, the result is a field set that looks borrowed. Target the HubSpot form wrapper class, set your own type scale and spacing, and check the error states, not just the empty state.
Script weight slows the conversion page
Tracking, chat, embedded forms and a tag manager on the same page add up, and the page that pays for it is the one with the form on it. Google and Deloitte's Milliseconds Make Millions study (2020) found a 0.1-second mobile speed gain brought 21.6% more users to the form submission step. Load chat on interaction, keep the embed off pages that do not need it, and work through the rest with our Webflow speed optimization guide.
Nobody owns the integration after launch
The field that broke was added by a marketer six weeks after go-live. Agree now who tests forms after a Webflow publish, how often, and who gets the alert when a submission fails.
What a clean setup gets you
When forms, tracking and fields are settled, marketing stops filing tickets for page changes. Pypestream now ships landing pages in 24 hours, compared to the previous 3-week timeframe. M13 moved 438 pages in 21 days off Contentful, and work that took 3 weeks now takes 24 hours or less. Those are build and workflow results from Ammo client projects, and the integration layer is what keeps them from leaking data.
If you want to know what your current setup is costing in missed and mis-attributed leads, start with the free GTM audit. It models the gap using the Forrester TEI study commissioned by Webflow, which reported 332% three-year ROI and $2.12M net present value for Forrester's composite organization, with benefits risk-adjusted down 15% and modeled ROI capped at 332%.
Frequently asked questions
Do I need HubSpot forms, or can I keep Webflow forms
You can keep Webflow forms. Native Webflow forms match your design, load with the page and submit to HubSpot through an integration or the Forms API. Use embedded HubSpot forms when marketing needs progressive profiling or smart fields and does not want to wait on a developer.
Why are my Webflow form submissions missing in HubSpot
The three usual causes are a field with no matching HubSpot property, a consent banner blocking the tracking script, and a form that submits successfully in Webflow but fails on the handoff. Test one submission end to end from a published page in an incognito window and check the HubSpot form submission log before changing anything.
Will the HubSpot tracking code slow my site down
It adds weight, and on a form page that matters. Keep HubSpot chat off pages that do not need it, load non-critical scripts on interaction, and measure the conversion page on mobile rather than the homepage on desktop.
How do I keep UTM data attached to a contact
Write the UTM parameters, the referrer and the landing page path into hidden form fields, and persist them in a first-party cookie so the data survives between the first visit and the eventual conversion. Create the matching HubSpot properties before the first live submission.
What does it cost to have this built properly
Ammo's Growth Support plan for companies under 100 employees is "Starting at $4,800 / quarter", and Growth Partner for companies with 100 or more employees is "Starting at $5,200 / month". Landing pages start around $10K. Plans are month-to-month and pricing is subject to change.
Should I migrate my site off HubSpot CMS to Webflow
That is a separate decision from the integration. Many teams keep HubSpot as the CRM and marketing automation layer while the site runs on Webflow, which is the setup this guide describes. If you are weighing a platform move, scope it against your current content volume and publishing cadence first.
Table of contents
Got questions for us? We got you!
Let’s Build What’s Next
Whether you're building your first product or evolving a mature platform, we’d love to help you craft what’s next.
.webp)
.webp)

.webp)