Ads are running, traffic is coming to the website, the number of submitted forms in analytics is growing, yet the CRM contains noticeably fewer leads than it should. Managers complain there are few customers, marketers insist there are plenty of enquiries, and nobody can say where the truth lies. This is what one of the most expensive and least noticeable problems in business looks like: leads get lost on the way from the website to the CRM, and the company pays for advertising and gets silence in return.
What makes it especially unpleasant is that this kind of failure does not look like a failure. The website opens, the form submits, and the customer sees “Thank you, we will contact you”. Nothing warns you that the lead actually went nowhere. In this article we look at why leads do not arrive, how to find the ones already lost and how to build a system that keeps it from happening again.
Why lost leads are so hard to notice
A lead that never reached the CRM leaves no trace where it is expected. The manager cannot see a card that does not exist and does not know that someone tried to contact you. A customer who gets no reply usually does not write again and goes to a competitor instead. As a result, only the person who was ignored knows about the loss, and they will not tell you.
The second factor is the habit of judging by what is visible. If the CRM received ten leads in a week, that feels like a normal result, and nobody compares it with how many forms were actually submitted. The problem is usually discovered by accident: a customer calls and asks why nobody called back, an employee notices an oddly low funnel, or a marketer compares the advertising report with sales. By then the losses may have been piling up for weeks.
Causes on the website and form side
The first group of causes is the form itself. It may fail to send data because of an error in the page code: a script crashes after a site update, and the “Submit” button visually presses but nothing happens. The error often shows up only in certain browsers or on mobile devices, so the developer who tested the site on their own computer never sees it. Overly strict field validation has a similar effect: for example, the form rejects a phone number in an unusual format or an email address with a rare domain, and the user never realises the lead was not sent.
Protective mechanisms can block leads. A captcha that fails to load or triggers on real people, anti-spam filters that cut off enquiries too aggressively, browser security rules that forbid loading external scripts, ad-blocking extensions that switch off the data-transfer script along with analytics. Another frequent cause is a site or platform update: after a change of engine version, plugin or programming language, individual forms stop working. The recent critical updates of server components such as PHP, which we covered separately, show that updating is necessary, but that checking that forms still work afterwards is just as necessary.
Causes on the integration side
The second group of causes is the link between the website and the CRM. The integration works through access keys and tokens, which can expire, and once they do, the CRM stops accepting data. If nobody receives an error message, leads are silently rejected. Another common scenario: settings were changed in the CRM, for example a required field was added or an existing one renamed, while the website form keeps sending data in the old format and the request is now rejected as invalid.
Technical limits also lead to losses: many CRMs cap the number of requests per unit of time, and during an advertising campaign the flow can exceed the allowed threshold. Temporary CRM unavailability or a failure on the side of an intermediary (the service that passes data between the website and the CRM) also cause losses if the integration has no retry mechanism. That is why the quality of an integration is defined not by how it works when everything is fine, but by what happens when something goes wrong. We covered the link between messengers and the CRM in detail in the article on integrating WhatsApp and Instagram with a CRM.
Causes on the CRM side
Sometimes the lead arrives but is not visible where it is being looked for. This is the third group of causes, and the most unexpected one. The lead may have been treated as a duplicate: the CRM has duplicate checking enabled, and an enquiry from a customer with an existing phone number or email attached itself to the old card instead of creating a new one. A manager who works only with fresh leads simply did not notice such a “return”.
A lead may land in the wrong section, pipeline or user: the distribution rules sent it to an employee who left long ago or is on holiday, or to an archived pipeline. Display filters play a part too: the manager looks at a list with a filter applied and does not see some of the leads. Automated scenarios, for example robots that close leads by rules, can also move a lead to a “rejected” status without waiting for a human. So the search for a lost lead begins not with the question “why did it not arrive” but with the question “where could it be”.
How to tell leads are being lost: reconciling sources
The most reliable way to detect the problem is to compare several independent data sources. Ideally you have at least three figures for the same period: how many leads website analytics recorded (the form submission event), how many came from advertising accounts and how many were created in the CRM. If advertising systems show noticeably more enquiries than the CRM holds, part of the leads were lost somewhere on the way. For calls, add call tracking data or the PBX log; for messengers, the conversation history.
Backup channels are just as useful: a copy of every lead sent to email or a work chat, a submission log on the website side. If the website keeps its own form log, it can be compared with the CRM record by record. The difference between these sources is exactly the list of lost leads. The “trust only the CRM” approach does not work, because the CRM only knows about the leads that reached it.
Step-by-step diagnostics
Once you suspect a problem, work sequentially from simple to complex and do not change several things at once, otherwise you will not know what actually helped.
- Submit a test lead from different devices and browsers, including a mobile phone and a mode without extensions, and see whether it appears in the CRM. Use different data to avoid triggering the duplicate check.
- Check what the user sees. Does the form show a success message, and is the request actually sent? Browser developer tools show whether the request goes out and what response the server returns.
- Look at the logs. The website log shows whether the lead reached the server and whether an attempt to pass it to the CRM was made. Many CRMs have a log of incoming requests or integrations showing rejected enquiries and the reasons for errors.
- Check the integration’s access: whether the token has expired, whether the key was revoked, whether the user on whose behalf the connection works has changed.
- Compare form fields with CRM fields. Check for new required fields, changed names and data types, or newly added restrictions.
- Check CRM rules: duplicates, lead distribution, robots and automated scenarios, list filters, archived pipelines.
- Make sure forms are not blocked by protection: captcha, anti-spam, browser security policy, and that data-transfer scripts are not cut off by blockers.
- Tie the finding to a date. Determine when the losses began: after a site update, an employee change, a CRM change or the start of an ad campaign. The date almost always points to the cause.
How to find and recover leads that are already lost
Once the cause is fixed, what remains is to recover what was lost. Start with the sources where a copy of the lead could have survived: the website log and form database, notification emails, a notification chat, advertising accounts that store lead data, end-to-end analytics and call tracking systems, the PBX log and messenger history. From these you can compile a list of contacts for the period when the integration was down.
Match this list against the CRM and find those who are not in it. Then decide how to contact people. A reply after several weeks is not always appropriate, but apologising and offering help is often better than not replying at all: many customers appreciate the attention and respond kindly. If you intend to add the recovered contacts to the CRM, remember that this is personal data and must be handled in line with your privacy policy and the consent the person gave when submitting the form; we wrote about this in the article on the personal data law. Finally, record the result: how many leads were lost, over what period and how many were recovered. This helps assess the damage and justify investment in protection.
Ask a question or leave a request
We will diagnose the form and the CRM integration, find the cause of the losses and set up retries, error notifications and data reconciliation.
By submitting the form, you agree to the processing of personal data.
How to prevent losses: protection against recurrence
The main principle of a reliable integration is that a lead must not disappear even if something breaks. In practice this means several things. The website must store every lead itself until it receives confirmation that the CRM accepted it, and retry the submission if there is no confirmation. That way a temporary failure does not turn into a loss. Errors must be reported to people: if the transfer fails, the responsible person gets a notification instead of finding out a week later. A good practice is to duplicate each lead to a backup channel, such as email or a work messenger, so managers still have a path to the customer even when the CRM is unavailable.
Regular checks help too: an automatic test lead on a schedule that travels the whole path to the CRM and raises an alarm if it does not arrive, as well as monitoring for “zero days” when there are unusually few leads. It is useful to compare the number of form submissions with the number of new CRM leads daily or weekly and spot a discrepancy straight away. And after any change on the website or in the CRM - an engine update, field edits, an employee change - the form must be checked again. For choosing and preparing a CRM for your business, read our article on preparing for CRM implementation.
Whose job it is: responsibility and process
The problem often arises because nobody owns the lead’s path as a whole. The developer thinks their job is to build the form, the integrator is responsible for the connection, the marketer for advertising and managers for processing, and while the lead moves between these areas of responsibility, nobody sees where it went. That is why it helps to appoint one person responsible for the lead’s end-to-end path: from the ad click to the CRM card and the first contact.
This person does not have to fix everything personally, but they track reconciliation figures, receive error messages, verify that everything works after changes and stay in touch with contractors. If a contractor supports the website and the CRM, fix in the contract in advance who monitors the integration and how quickly they respond to failures, just as we advised for website technical support. As a bonus, a reconciliation system pays off in analysing advertising efficiency and calculating payback, which we covered in the article on ROI metrics.
Common mistakes
The most widespread mistake is to treat an integration as “done once and for all”. The website, CRM and external services change, and a connection that worked a year ago can silently stop working after an update to any of its parts. The second mistake is relying on the CRM as the single source of truth and not comparing its data with analytics, advertising accounts and the website log.
Integrations are often built without error handling and retries, so any failure becomes an irrecoverable loss of a lead. Error notifications are often not set up, test checks are not run after changes and nobody is made responsible. Another mistake is looking for someone to blame instead of the cause: while the developer, integrator and marketer shift blame onto each other, leads keep getting lost. And finally, many underestimate the cost of the problem: each lost lead is a paid click and a customer who never happened, and the total damage over months turns out to be significant.
Checklists
Diagnostics if leads are already being lost
- A test lead was submitted from different devices and browsers, including mobile
- Checked whether the form request reaches the server and what response it gets
- Studied website logs and the log of incoming requests or integrations in the CRM
- Checked the expiry of the integration’s tokens and access keys
- Compared form fields with CRM fields, accounted for new required fields
- Checked duplicate rules, lead distribution, robots and display filters
- Checked that captcha, anti-spam and blockers do not cut off real leads
- Determined the date the losses began and the change linked to it
- Collected lost leads from logs, email, advertising accounts and the call log