When a HubSpot form stops delivering leads, the form itself is rarely broken. The submission is being blocked before it leaves the browser, landing on a contact record you are not looking at, or being filtered by a workflow that was built for a different purpose.
Work through the list below in order. The first four causes account for most of what we see in support tickets, and each one can be confirmed in a couple of minutes without touching the form editor.
If your portal is new, several of these are configuration decisions rather than bugs — the first 30 days checklist covers the contact-creation rules that decide whether a submission ever becomes a lead.
1. Check the submissions tab before anything else
Open the form and look at its own submissions list. If the submission is there, the form works and your problem is downstream: notification routing, list membership, lifecycle stage, or the view you are checking. If it is not there, the request never reached HubSpot and the cause is on the page.
This single check splits the problem in half and saves you from rebuilding a form that was never the issue.
2. The embed script is blocked or loaded twice
HubSpot forms need js.hsforms.net to load. Consent banners that block non-essential scripts until acceptance, aggressive ad blockers, and content security policies that omit the HubSpot domains all stop that file, and the form either never renders or renders without a working submit handler.
Loading the embed script twice is just as damaging. Duplicate instances can bind two handlers to one submit event, and submissions either double up or cancel each other. Check the network tab for a single 200 on the forms script and confirm the console is clean.
3. Required or hidden fields that do not exist as properties
Hidden fields populated by URL parameters or JavaScript fail silently when the internal property name has changed. A rename in the property editor does not always update every place the field was referenced, and a submission carrying an unknown property is rejected rather than partially saved.
Match every field in the form against its internal name in the property settings — not the label. Labels and internal names drift apart constantly in portals where more than one person creates properties.
4. Contact created, but not where you are looking
Filtered views hide new contacts routinely. If your default view excludes contacts without an owner, or filters to a lifecycle stage the form does not set, the record exists and appears missing. Search by email address rather than scanning a list.
Deduplication is the other half of this. A submission from an existing email updates that contact instead of creating a new one, so the count you expected to rise never does.
5. Notification emails going nowhere
Form notifications are configured per form, not per portal. A form cloned from another form inherits the original recipient list, which is how notifications end up going to someone who left the company.
Check the recipients in the form's options tab, then check the recipients' spam and rules folders. Notification email that is technically delivered but auto-filed reads exactly like a broken form.
6. A workflow is overwriting or suppressing the record
Automation that edits lifecycle stage, owner, or a lead-status property can move a fresh submission out of the view your team monitors within seconds. Two workflows editing the same property is the usual culprit, and the last one to run wins.
Open the contact record's history and read the property change log. It shows exactly which workflow touched which field and when.
7. Third-party forms posting through an integration
Non-HubSpot forms wired through Zapier, Make, or a custom API call lose original source attribution and fail differently. When the integration errors, the visitor still sees a success message, because the front end never waited for the CRM.
Native HubSpot forms carry attribution automatically. Where a third-party form is unavoidable, log the API response somewhere you will actually read.
8. Non-HubSpot pages missing the tracking code
An embedded form on a page without the HubSpot tracking script still submits, but arrives with no page context and no source data. Attribution reporting then shows a cluster of direct traffic conversions with no campaign behind them.
Verify the tracking code on every template, including thank-you pages and gated content — a single missing template can hide a whole channel.
9. Redirect and thank-you page misconfiguration
A submit that redirects before the request completes drops submissions on slow connections. This happens most often with custom JavaScript handlers that navigate on click rather than on the form's own callback.
Use HubSpot's redirect option or its onFormSubmitted callback. Never navigate away on the click event.
10. Spam filtering and blocked domains
HubSpot filters submissions it judges to be bot traffic, and portals with strict blocked-domain rules can filter real prospects using free email providers or a competitor's domain.
Review the portal's blocked domain list and the spam submissions view before concluding that a form lost data.
11. Progressive fields showing the wrong questions
Progressive (queued) fields swap known questions for new ones on repeat visits. The result is a form that looks different for returning visitors and a submission that appears to be missing fields it never displayed.
Test in a private window with no cookies before assuming fields disappeared.
12. GDPR and consent settings quietly blocking capture
With consent options enabled, an unchecked legitimate-interest or subscription box can prevent the contact from joining the lists and workflows your process depends on, even though the submission recorded fine.
Confirm which consent settings the form uses and whether any downstream automation requires a subscription type the visitor never granted.
| Symptom | Most likely cause | First check |
|---|---|---|
| Form does not render | Blocked or missing embed script | Network tab for js.hsforms.net |
| Submit does nothing | Duplicate script or custom click handler | Browser console errors |
| Submission recorded, no contact | Dedup update or filtered view | Search contacts by email |
| No notification email | Per-form recipient list | Form options tab |
| Contact appears then vanishes | Workflow editing owner or stage | Contact property history |
| Missing source data | Tracking code absent on template | Page source on that template |
