Help centre / Forms and lead routing

HubSpot form submissions not creating or updating contacts

Why HubSpot form submissions update the wrong contact, land in spam or create nothing, and how to fix each cause.

By Abdur Rahim Mostafa, HubSpot consultant · Updated 26 October 2026 · 5 min read

When a HubSpot form submission doesn't produce a new contact, HubSpot has usually matched it to a contact that already exists. It looks for the same email address first. If nothing matches and the form's "Automatically create new contacts from unknown email addresses" setting is off, HubSpot falls back to the browser cookie, so a new email typed into a browser HubSpot already knows can update the old contact and overwrite its details. That's why test submissions from your own laptop so often seem to vanish.

Start with the form. Open its submissions and find the one you expected. If it's listed, open it and see which record it was linked to. If it isn't listed, look at the form's Spam tab, because HubSpot keeps blocked submissions apart from the normal ones until someone releases them.

Why form submissions don't create contacts

The submission updated an existing contact

One email address means one contact. A person who submits three times creates one contact, and all three submissions appear on that contact's timeline and in the form's numbers, so a form can show more submissions than new contacts. The cookie fallback does the real damage, since a second person's details can land on someone else's record. Shared devices and staff testing their own forms are the usual sources. And when a known contact submits with their secondary email, HubSpot makes that address the contact's email.

To check, go to Marketing > Forms, hover over the form, click Actions and choose View submissions. Open the submission and use View object records to go to the linked contact. Then look at the property history of that contact's Email and name fields for changes on the day of the submission.

HubSpot blocked it as spam

Each form has a Spam tab with a Blocked submissions table, and the Spam type column gives the reason. Two reasons often catch real leads and internal tests.

  • Unregistered Site Domain. The form is embedded on a website that isn't in your tracking settings, so HubSpot filters the submissions to spam. Add the domain under Additional site domains on the Advanced Tracking tab of your tracking code settings.
  • Excluded source. The visitor's IP address or referrer is excluded from your site analytics, which is often your own office. With "Mark form submissions from excluded IP/referrers as spam" turned on, as it is by default, HubSpot doesn't create contacts from these.

Other spam types include blocklisted email addresses, a URL or HTML in the name fields, and submissions filtered by reCAPTCHA. Releasing a real submission moves it into your normal submissions, where it can create or update a record and enroll the contact in workflows. As of October 2026, HubSpot deletes blocked submissions you haven't released after 90 days.

The Email field is missing, empty or a custom field

By default a submission creates a contact only when the default Email property is on the form and filled in. A custom "work email" field doesn't count, and the submission shows a "No contact record" error. If you need forms that work without an email, turn on Allow submissions without email addresses to create contacts on the Submissions Settings tab of your form settings. It applies to every HubSpot form in the account and only to future submissions, and contacts without the default Email can't receive marketing email.

If the form blocks free email providers or specific domains, a visitor with a blocked address can't submit until they enter a different one, so those leads never reach HubSpot.

The form is sent by code or another app

Forms posted through HubSpot's Forms API or a third-party integration fail without anyone noticing unless the response is logged. A rejected submission comes back as a 400 error with an error type such as INVALID_EMAIL, BLOCKED_EMAIL, REQUIRED_FIELD, FIELD_NOT_IN_FORM_DEFINITION or FORM_HAS_RECAPTCHA_ENABLED. When CAPTCHA is on for a form, HubSpot doesn't accept submissions to it from the API or from other form integrations. If the form on your site isn't a HubSpot form at all, see non-HubSpot forms not being captured.

The contact exists, but you can't see it

Someone whose permissions only let them view their own or their team's contacts can't see unassigned records unless the Unassigned checkbox is ticked in their permissions, and new form contacts are often unassigned. Filters on a saved view hide records too. If the contact was deleted, the submission still counts in the form's totals with no record behind it. A rarer case is the limit of 1,000 submissions per contact. Past that, new submissions are still captured in the forms tool, but they aren't linked to the contact and don't trigger workflows.

How to find and fix the missing contact

  1. Submit a test in a private browser window, on a network that isn't excluded from your analytics, with an email address that isn't in HubSpot yet.
  2. Open the form's submissions, find the test and use View object records to check the linked contact.
  3. If the test isn't listed, open the Spam tab and read the Spam type. Add the missing site domain or review your IP exclusions, then release any real submissions.
  4. If a different contact was updated, decide whether the form should create a contact for every new email address. In the updated form editor that's "Automatically create new contacts from unknown email addresses" in the form's settings. On legacy forms it's "Always create contact for new email address" on the Options tab. Turning it on also stops fields pre-filling for returning visitors.
  5. Repair any overwritten contact from its property history. Restore only works for changes made in the CRM, by an import or by a workflow, so values a form wrote have to be put back by hand.
  6. For API or integration forms, ask whoever built it to log HubSpot's response, and check whether CAPTCHA is on.

How to stop it happening again

Test every new form in a private window on each domain it will run on, and add new domains and subdomains to your tracking settings before launch. Keep the default Email field on every form and make it required. Look at each form's Spam tab once a week. If a workflow starts from this form, check that your test contact enrolled too. Workflows that don't trigger have their own list of causes.

If submissions keep going missing and you'd like someone to trace them with you, I can audit and fix it.

Questions

Why does my form show more submissions than new contacts?

Repeat submissions from the same email address update one contact. Each one still counts in the form's numbers and appears on the contact's timeline.

Can a HubSpot form create a contact without an email address?

Yes, with the account-wide setting described above. It only affects future submissions, and non-HubSpot forms still need an email address.

Why did a form submission overwrite another person's contact?

With the unknown email setting off, HubSpot uses the browser cookie when the submitted email doesn't match a contact. If someone else used that browser before, the new details can land on their record.

Did this fix it?

Written by Abdur Rahim Mostafa. I'm an independent HubSpot consultant with 12 years of HubSpot work. I fix and build HubSpot portals, integrations and automation for teams in the US, UK and Australia. See my case studies or find me on LinkedIn.

Can't find your fix?

Book a free 30-minute call and show me what's happening in your portal. If it needs work, you get a written scope and one fixed price.

Book a free 30-minute call