GoDesignDigital

Automation

Connecting a form to your CRM: what actually breaks

It is quoted as a five-minute integration and it is where enquiries most often disappear. Field mapping, duplicates, silent failure and who to tell when it breaks.

Muhammad Usman8 min read
An integration canvas on screen connecting a website form to a CRM, with branches to WhatsApp and email notifications and an error-handling path highlighted

In our archive of 30,096 public project briefs, 690 ask for lead generation and 176 of those also mention a CRM. In almost every one of those, the join between the two — the website form writing into the CRM — is described in a single clause, as though it were a checkbox.

It is also, in our experience, the single most common place a business loses enquiries without knowing it. Here is one client discovering the problem the hard way:

Why the failure is silent

A form has two halves that are almost always built separately: what the visitor sees, and what happens to the data. The visitor's half shows a thank-you message when the button is pressed, because on most sites that is a front-end behaviour. It runs whether the data reached the CRM, reached nothing, or reached somebody else's CRM.

So there is no error anywhere a human looks. No red banner, no bounced email, no support ticket. The business receives fewer enquiries, attributes it to a quiet quarter, and the actual cause sits in a broken connector from a plugin update four months ago.

Field mapping is where the data quality is decided

Most integrations are built by matching whatever the form has to whatever the CRM has, and stopping there. Three decisions get skipped, and each one costs later:

  • **What happens to a field the CRM does not have.** It is silently dropped by default. If the form asks for budget and the CRM has nowhere to put it, the sales team never sees an answer the customer took the trouble to give.
  • **What happens to a required CRM field the form does not collect.** Some CRMs reject the whole record. One missing required field can mean an entire day of enquiries never landed.
  • **What format each side expects.** Phone numbers are the usual casualty. A UAE mobile written five different ways by five visitors becomes five formats in the database, and none of them match when somebody searches.

Decide the duplicate rule before you build

The same person will submit twice. They will use a different email the second time, or the same email with a different phone, or fill the form again six months later on a different device. What the system does at that moment has to be a decision, not a default.

RuleGood forCosts you
Match on emailSimple, mostly rightMisses the same person on a second address
Match on phoneBetter in this marketFormatting differences create false uniques
Match on eitherCatches the mostOccasionally merges two real people at one company
Never mergeNothing is lostThe team works the same lead three times

There is no universally right answer, which is exactly why it should be chosen deliberately. In this market, matching on normalised phone plus email catches the most without merging colleagues who share a company switchboard.

Build the error path first

Every connector fails eventually. An API key expires, a required field is added on the CRM side, a rate limit is hit during a campaign, a plugin updates. The question is not whether it breaks but what happens in the hour after it does.

  1. 1Retry the submission a few times with a delay, since most failures are transient.
  2. 2If it still fails, store the raw submission somewhere durable. A queue, a spreadsheet, a database table — anywhere it can be replayed from.
  3. 3Notify a named human immediately, on a channel they actually watch. Not an unmonitored alerts inbox.
  4. 4Send the enquiry to that person by email as a fallback, so the lead is workable even while the integration is down.
  5. 5Record the failure so somebody can see it happened twice this month rather than treating each one as a surprise.

Steps two and four are the ones that get skipped, and they are the difference between an outage that costs an afternoon and one that costs a fortnight of enquiries.

Capture attribution at the moment of submission

Every record should arrive carrying the page it was submitted from, the campaign or referrer that brought the visitor, and the timestamp. Written at submission, into fields on the record itself.

Reconstructing this later is not possible. Six months on, when somebody asks which pages produce enquiries, the honest answer without this is a guess — and that guess usually gets used to decide where the next year's budget goes.

Common questions

Usually a broken connector nobody noticed, because the failure is silent. The visitor sees a thank-you message since that is a front-end behaviour that runs whatever happened to the data, so no error appears anywhere a human looks and the shortfall gets blamed on a quiet quarter.

Submit the form yourself from a device that is not logged in, then confirm the record appears in the CRM with every field populated. The thank-you screen proves nothing. Repeat this after every site deployment and every plugin update, which is when these connections most often break.

Decide the rule before building rather than accepting a default. Matching on normalised phone plus email catches the most in this market without merging colleagues who share a company switchboard. Every option has a cost: email-only misses second addresses, phone-only creates false uniques through formatting, and never merging means the team works one lead three times.

By default, nothing visible. Build the error path first: retry, store the raw submission somewhere it can be replayed from, notify a named person on a channel they watch, and email them the enquiry as a fallback so the lead is workable while the integration is down.

The page it was submitted from, the campaign or referrer, and the timestamp, written into fields on the record at the moment of submission. It cannot be reconstructed later, and without it the answer to which pages produce enquiries is a guess that ends up deciding next year's budget.

Usman, Founder and CTO of GoDesign FZE

Usman

Founder & CTO · GoDesign FZE · Dubai

Usman leads strategy and engineering at GoDesign FZE, a Dubai-based digital agency with 900+ projects across 14 countries. He specialises in CRM implementation, AI automation, and building systems that help businesses grow without adding headcount.

Want this priced against your actual volume?

Send us your numbers and we will tell you what the three bills come to.

Book a Free Demo