Uptime monitoring cannot see this. The landing page loads, the form renders, the submit endpoint returns 200. The break is between "submitted" and "received", and it can run for weeks. Agencies usually discover it when a client asks why leads dried up last month.
Where Leads Actually Disappear
| Failure | What the visitor sees | How you find out today |
|---|---|---|
| Site email delivery stops (SMTP credentials expired, host blocks mail, plugin disabled) | Thank-you message | Nothing arrives; usually noticed weeks later |
| Notification email lands in spam or is filtered | Thank-you message | The lead is "lost" but technically delivered |
| CRM or webhook integration returns an error | Thank-you message, if the form ignores the failure | Only visible in integration logs |
| Anti-spam rules reject real submissions (aggressive honeypot, reCAPTCHA scoring, country or IP rules) | Error, or a silent no-op | Support tickets, if the visitor bothers |
| A required field is hidden by a design or plugin change | Validation error they cannot resolve | Drop in conversions with no error anywhere |
| Form script blocked by a consent tool or ad blocker | Form never renders, or submit does nothing | Conversion drop on a subset of visitors |
| Embedded form (HubSpot, Typeform, Mailchimp) fails to load | Empty space where the form was | Nothing; the page still looks fine |
| Thank-you redirect breaks | Confusing page, or back to the form | Conversion tracking stops, lead may still arrive |
| Plugin or theme update changes the form markup | Anything from a layout break to a dead button | The next campaign underperforms |
Two of these deserve special attention because they are invisible on the site itself: silent email failure and a failing CRM webhook. In both cases every part of the page behaves perfectly.
How to Check Each One
Email delivery. Stop relying on the site's own mail. Send form notifications through a transactional email service, keep a log of sent notifications, and store every submission in the database as well, so an email failure loses a notification rather than a lead. Then verify the whole path with a real test submission, not by trusting the plugin's "test email" button.
Spam filtering and scoring. Check the form plugin's spam folder weekly for real entries. If you use invisible scoring, look at how many submissions are being rejected rather than whether the feature is on — a tuned threshold quietly rejecting 20% of real people looks exactly like low demand.
CRM and webhook integrations. Look at the destination, not the source. Check for failed deliveries in the CRM or automation tool's log, and make the form surface an error instead of showing the thank-you page when the integration call fails.
Rendering and interaction. Load the page as a new visitor, with consent banners in their default state, and confirm the form appears and submits. Embedded third-party forms need this most, because they depend on a script from another domain that your deploys do not control.
Attribution. Confirm the thank-you page still loads at the URL your analytics and ad platforms count as a conversion. A broken redirect can hide a working form and make a good campaign look dead.
Test With a Real Lead, Safely
The only check that proves the whole path works is submitting the form the way a visitor would. Do it in a way that does not pollute your data:
- Use a dedicated test email address and a recognisable name such as "Monitoring Test", so test leads are easy to filter.
- Add a hidden field or UTM value marking automated submissions, and exclude those in the CRM and in analytics goals.
- Keep test submissions out of autoresponders and sales sequences, so nobody follows up on a robot.
- Confirm the result at the destination: the notification email received, or the record created in the CRM — not just the thank-you message on screen.
- Run the same test after every plugin, theme, and form-builder update, since those are the changes that break forms.
How Often, and What to Alert On
Once a day catches most failures within a useful window for lead-gen forms; every few hours is better during a campaign, when a day of lost leads has a price tag attached. Checkout forms need tighter intervals than lead forms, but the principle is the same.
Alert when the journey fails at any step: the form does not render, validation blocks a valid entry, the submit call errors, the thank-you state does not appear, or the expected record or notification never lands. And route those alerts to whoever can fix the form — for an agency, that is you, before the client notices.
Why This Matters More for Agencies
A client can forgive downtime, because they see it too. A month of missing leads reads as "your site does not work" or, worse, "marketing does not work". It is the failure most likely to cost a retainer, and it is entirely preventable with one scheduled check per form.
Monitoring a lead form is not the same as monitoring a website. It means running the form on a schedule, in a real browser, and confirming that something arrived at the other end — which is exactly what form monitoring is for.