GoHighLevel form not submitting, or not creating a contact

Short answer
Start with Sites > Forms > Submissions to see whether the submission arrived. If it did but the contact looks wrong, it's usually deduplication (a matching email or phone updates an existing contact) or sticky contact updating the last person on a shared device. If it didn't arrive, the embed code may be out of date (it doesn't update when you edit the form) or the form may have deactivated itself. Forms HighLevel didn't build need external tracking.
How to fix it
- Check submissions. Sites > Forms > Submissions shows every submission HighLevel received.
- Check deduplication. Settings > Business Profile > Contact Deduplication Preferences. With Allow Duplicate Contact off, a matching email or phone updates the existing contact instead of creating one. Include an email or phone field so there's something to match on.
- Replace the embed code. Sites > Forms > your form > Integrate > Copy Embed Code. Embed codes don't change when you edit the form, so paste a fresh copy into a code or HTML block after any edit.
- Check it hasn't switched itself off. Popup and slide-in layouts can deactivate after a lead is collected or after a set number of views. Never Deactivate keeps it showing.
- Turn off sticky contact on shared devices. Form Builder > Form Settings > Sticky Contact. On a kiosk or a staff computer it can update the previous person's contact.
- Forms HighLevel didn't build. Install external tracking under Settings > External Tracking. It needs a real HTML form with named fields and an email field; forms inside iframes aren't supported.
- Workflows from a form. The Form Submitted trigger covers HighLevel forms, and fires on every submission.
Common questions
- Why did the submission update someone else's contact?
- Usually sticky contact on a shared device, or the email or phone matched an existing contact under your deduplication settings.
- Can I stop spam submissions?
- HighLevel mentions CAPTCHA and email or phone validation as options for its forms.
More website and form fixes
GoHighLevel chat widget not showing on your website
Usually the code was never added, the site wasn't republished, a cache is serving the old page, or the WordPress plugin isn't enabled.
GoHighLevel custom domain not connecting, or SSL pending
Almost always DNS: records at the wrong provider, extra A or AAAA records, Cloudflare's proxy on, or a CAA record blocking the certificate.
Related fixes
GoHighLevel duplicate contacts: how to stop and merge them
Turn off Allow Duplicate Contact and set what to match on. Then merge the ones you already have; merging can't be undone.
Read the fixGoHighLevel workflow not triggering: a checklist
Usually it's still in Draft, the trigger filters don't match, or re-entry is off. The execution logs tell you which.
Read the fixFacebook lead forms not syncing to GoHighLevel
Usually the person who connected isn't a page admin, LeadConnector lacks Meta's leads access, or the form isn't mapped.
Read the fix
Want GoHighLevel set up and running for you?
Book a free 15-minute call. Tell us what you sell and where your leads come from, new account or the one you have, and we'll tell you what we'd set up, how long it takes and what it costs.