Anticode Open builder

How to send website leads to a CRM without filling it with junk

Connect the form to the CRM so each real enquiry creates or updates a contact, with its fields landing in the right properties and its source recorded. The decisions that matter come first: which forms should create contacts at all, what counts as a deal, and how to keep spam and duplicates out.

Updated · By the Anticode team

Decide what each form should create

A starting point for routing each kind of submission
SubmissionCreate in the CRMWhy
Contact enquiry about your servicesA contact, and a deal or task once someone qualifies itIt's a potential sale, but not every message is one
Quote or booking requestA contact and a dealThere's a specific job with a value and a date
Newsletter sign-upUsually nothing, or a contact flagged as subscriber onlyA sign-up isn't a lead; keep it in your email tool
Job application, supplier pitch, complaintNothingRoute these elsewhere so the pipeline stays clean
SpamNothingFilter it before it reaches the CRM

Creating deals automatically from every enquiry sounds efficient, but it fills the pipeline with messages that were never sales. A common pattern is to create the contact automatically and let a person create the deal after the first reply.

Map the fields

  1. List the form's fields exactly as they're named in the form, for example name, email, phone, message, service.
  2. Match each to a CRM property. Email to email, phone to phone. A single name field usually needs splitting into first and last name; decide how your integration does it and check names with more than two words.
  3. Decide where the message goes. CRMs rarely have a good contact property for free text. A note or activity attached to the contact keeps it readable.
  4. Record the source. Set a property such as lead source to "Website form", and if you can, which page or campaign. Without it you can't tell later which channel earns its keep.
  5. Leave out what you don't need. Every property you fill is personal data you'll have to keep accurate and eventually delete.

Duplicates: use email as the key

The same person often writes twice, or books after enquiring. Most CRMs match contacts on email address. HubSpot's contacts API guide describes email as the primary unique identifier for avoiding duplicate contacts, which is why integrations that create contacts need an email field. Decide what should happen when a submission matches an existing contact: update the phone number, add a note, or leave the record alone. Forms without an email address, such as a phone-only callback request, need a person to match them up.

Connect it

There are three common routes, in order of effort:

Native connector
Your form tool talks to the CRM directly. Quickest to set up; you get whatever mapping it offers.
Automation service
A webhook sends each submission to a tool like Zapier, Make or n8n, which maps fields, filters and creates records. More control, another service to maintain.
Your own code
A webhook to a small endpoint you write. Full control, and you own the upkeep. The webhook explainer covers signing and testing.

Lawful basis and consent

Storing an enquirer's details to reply and follow up on their request is usually justified as steps towards a contract or legitimate interests; the ICO's guide to lawful basis explains the options. Sending them marketing later is a separate question and normally needs consent. Don't mark website enquiries as marketing contacts by default. This is practical guidance, not legal advice.

Mistakes to avoid

  • Creating a deal for every submission, then spending Mondays deleting them.
  • No lead source, so every contact looks like it came from nowhere.
  • Spam flowing straight into the CRM and into automated follow-up emails.
  • Overwriting a customer's existing details with whatever they typed into a form.
  • Testing with a fake contact and forgetting to delete it.

Check it works

Send two tests with the same email address and different messages. You should end up with one contact, two notes or activities, the right lead source and no deal unless you designed one. Then send a test without an email, if any form allows it, and see what happens. Delete the test contact afterwards.

CRMs and Anticode

Anticode's HubSpot connector receives submissions that include an email address and creates a contact from them; a submission without an email creates nothing. The connector test only checks the token works, so it never adds a fake contact. Mailchimp and Kit receive newsletter sign-ups only, which keeps subscribers out of HubSpot. Airtable and Notion can act as a light CRM, and any webhook can feed an automation service for other CRMs. Each submission is sent once, without retries, and is always kept and sealed in your project.

Limits: the HubSpot connector creates contacts, not deals or notes, and there's no field-mapping screen. For anything more, send a webhook to an automation service. Connectors apply to every site on your account. See form submissions to Slack for a team alert alongside the CRM.

Questions people ask

Should every form submission go into the CRM?

No. Enquiries and quote requests, yes. Newsletter sign-ups, job applications and spam belong elsewhere or nowhere.

How do I stop duplicate contacts?

Make email required on forms that create contacts, and set your integration to match on email. Decide in advance which fields an existing contact's record may be updated with.

Can I see which page a lead came from?

If your form or integration records it. A hidden field with the page name, or a separate form per campaign, gives you a lead source property to report on.

Sources

  1. HubSpot developers: Contacts API guide, checked
  2. ICO: A guide to lawful basis, checked