Nearly every lead a business pays for crosses a join. A form on the website hands a name and a number to something else: a CRM, an inbox, a booking tool, a spreadsheet. Growth Bully, a Malta performance marketing agency, inherits accounts with that join already built, and it is the single most common place we find money quietly leaving the building. Not because the integration was built badly, but because nobody was ever made responsible for it afterwards.
The failure is specific. An integration that breaks does not throw an error at the person who could fix it. The form still submits, the visitor still sees a thank-you page, the ads keep spending. The only symptom is a quiet month, and a quiet month gets blamed on the market. What follows is how to hold that join so a quiet month means a quiet market. The pre-launch version of these tests lives in the launch checks that decide if leads arrive; this is the production version.
Where does a lead actually go after the form?
Write the route down before you touch any software. Most businesses cannot name the full path, and that is the problem rather than a symptom of it. The answer should read as a short chain of named systems with a person attached to each one, because every unnamed link is a place a lead can stop unnoticed.
- The form itself, and whatever plugin or service renders it.
- The transport, meaning the webhook, native connector or automation tool that carries the submission.
- The destination record, usually a CRM contact or a deal.
- The notification, which is what actually gets a human to react.
- The independent copy, a second destination that does not depend on the transport working.
That last link is the cheapest insurance here. If the only record of a lead lives at the end of the chain, a break anywhere destroys the lead rather than delaying it. A plain email of the raw submission, sent by the form itself, costs nothing and turns a broken integration into an inconvenience.
What should the handoff carry besides a name and an email?
Enough for a salesperson to open the record and know what to say, and enough for you to tell later which campaign paid for it. Most integrations carry the contact fields and drop everything else, which is how businesses end up with a CRM full of leads and no idea which advert produced any of them.
- The source fields. Whatever your ads pass through the URL, captured into hidden form fields and written to the record. Without this the CRM cannot answer which channel is working, and the answer gets taken from the ad platform instead, which counts differently. The reasons for that gap are covered in why your analytics and your ad platform disagree.
- The page the form sat on. A quote request from a service page and one from a blog post are not the same lead and should not be worked the same way.
- A timestamp you trust. Both systems will have an opinion about when the lead arrived. Decide which one is authoritative now, not during an argument about response times.
- The free-text field, in full. Truncating what someone typed to fit a field length throws away the only part of the record that was written by the buyer.
- A stable identifier. One value the integration generates per submission, so you can trace a single lead across systems rather than guessing from the name.
How does a working integration fail silently?
By continuing to return success while delivering nothing useful. The transport is usually fine. What breaks is the agreement between the two ends: a field gets renamed, a required value starts arriving empty, a credential expires, a rule quietly rejects the record. Each of those looks like nothing happened, which is exactly why they survive for weeks.
The patterns worth knowing by name are short. A renamed or deleted CRM field, so the value lands nowhere. An expired token, so the connection stops authenticating. A validation rule that rejects records missing a field the form never collected. A new form field that was never mapped. And an automation tool paused for billing, which fails most quietly of all because the tool itself is working perfectly. None of these are detectable from the website; all of them are detectable from the destination.
What should happen when the CRM is unavailable?
The submission should still be captured, and the delivery should be retried. Decide this deliberately, because the default behaviour of most simple setups is to attempt delivery once, fail, and discard. An outage of twenty minutes then costs you every lead that arrived inside it, and the budget that bought them has already been spent.
Ask three questions of whoever built the join. Does a failed delivery get retried, and how many times? Is the raw submission stored before delivery is attempted? And does a failure notify a person, rather than only a log nobody opens? If the last answer is no, the system cannot tell you it has stopped working.
Why do duplicate leads appear, and does it matter?
They appear because retries, double submissions and multiple forms all reach the same destination, and because the same person enquires twice. It matters less for the database than for the person on the end of the phone, who will call someone twice about the same request and sound disorganised doing it.
Pick one matching rule and apply it everywhere: email address for business enquiries, phone number for consumer ones. Then decide what a match does. Updating the existing record and adding a note beats creating a second contact, because a merged history is what tells the salesperson this is a second enquiry. To score those repeat touches rather than tidy them, see lead scoring a small team can run.
Who should own the keys and the connections?
The business, in accounts in the business name, with at least two people holding administrative access. This sounds like governance and behaves like revenue protection: integrations built under a contractor's personal account stop working when the relationship does, and the break is discovered weeks later by a sales team wondering where the leads went.
Keep one written record of every connection: which system talks to which, which account authenticates it, who holds the credential, and what it would take to rebuild it. The same argument applies to the advertising side of the stack, set out in who owns your ad accounts.
How do you know leads are still arriving?
By checking the destination on a schedule, not by waiting for someone to complain. A weekly pass takes a few minutes and catches failures that cost whole months. Submit a test lead through the live form, confirm it reaches the CRM with its source fields intact, and compare records created against what the ad platforms report.
A gap between those two counts is the signal. It will never be zero, because the platforms and the CRM count different things, but it should be stable. A gap that widens week on week is a broken join, and finding it in week one instead of week six is the entire return on the exercise. Set a tolerance you consider normal, write it down, and treat anything outside it as a defect rather than a curiosity.
If you want someone to run that check across your forms, tracking and CRM and tell you exactly where leads are stopping, ask us for a pipeline review. You can also read how the wider system is meant to fit together in what a working sales system actually contains, or see the delivery side of it on our lead generation service.
