The Form Nobody Filled In
The booking page had 400 sessions a month and zero contact form submissions. The clinic owner assumed his prices were too high. They weren't.
The scenario
Clearwater Physiotherapy is a small owner-operated clinic: two physiotherapists, a front-desk administrator, and Tom — who is both the principal physio and the person responsible for keeping the business running. Tom invested in a proper website about eight months ago, something he'd been putting off for years. The new site listed session types, team bios, frequently asked questions, and a booking page where prospective patients could review pricing and submit a contact form to request an appointment.
The booking page was doing what a booking page is supposed to do, at least by the traffic numbers. GA4 showed between 380 and 430 sessions per month to that page — a healthy volume for a local clinic drawing from a single neighbourhood catchment. Tom occasionally got new patient calls, and some of those callers mentioned having found the website first. Things felt like they were working, more or less.
But Tom had never seen a single form submission. Not in eight months. He'd check the GA4 Conversions report — the one that's supposed to show you how many people completed a meaningful action — and it showed zero key events for the form. He'd assumed conversions took time to build. Then three months passed, then five, then eight. The traffic was real and consistent. The form completions were not.
The confident wrong conclusion
Tom had listed his prices openly on the booking page — something he'd done intentionally, believing transparency builds trust. Initial assessment: $95. Follow-up sessions: $85. He knew from conversations with colleagues that some local clinics charged less; he also knew his space and equipment justified a premium. But when he tried to explain the silence from the contact form, pricing was the only answer he could find. Four hundred people a month were reaching the booking page, reading the prices, and choosing not to submit. That had to be the explanation.
He drafted two versions of a new pricing approach: one that removed the prices from the booking page entirely, leaving only a "contact us for rates" line, and one that introduced a discounted first-session offer. He was three days from making the change when his web developer checked in for an unrelated update and Tom mentioned the situation. The developer offered to take a look at the analytics setup before Tom touched the pricing.
The two compounding failures
The developer's first move was to test the form directly: fill it in, press submit, and see what arrived in Tom's inbox. The form appeared to work — the fields cleared after submission, the page showed no error message. But nothing arrived in Tom's inbox. The developer opened the browser console and found a silent failure: the form's submission function was posting to an endpoint tied to an email service integration that had been deprecated and decommissioned eight months earlier — right when the site launched. Every time someone submitted the contact form, the JavaScript fired (so the form appeared to clear and succeed), but the POST request returned a silent error and the data went nowhere. Not to Tom's inbox, not to a CRM, not to anywhere. Every prospective patient who had filled in that form had walked away believing their request had been sent. None of them had ever been contacted, because Tom had never received anything.
That was the first problem. The second was in GA4. The form_submit event was firing every time someone submitted the form — GA4 was collecting it correctly. But Tom had never marked form_submit as a Key Event in GA4 Admin. In GA4, collecting an event and counting it as a conversion are two separate steps. The event was there in the event log, logged and accurate. But because it hadn't been designated as a Key Event, it never appeared in the Conversions report — which is the report Tom was looking at every month to confirm nobody was submitting. The Conversions report wasn't lying. It was just only showing events that Tom had explicitly flagged as conversions. He'd been reading silence where there was actually signal.
When the developer checked the raw Events report in GA4 — not the Conversions report — form_submit events were there by the hundreds. People had been submitting the form consistently for eight months. None of those requests had ever reached Tom. The broken webhook had swallowed all of them.
The corrected interpretation
Tom's prices were fine. His booking page was converting. The problem wasn't pricing, or the design, or the copy, or the trust signals. The problem was a silent technical failure that had severed the connection between prospective patients and the clinic from day one — and a GA4 configuration gap that had masked the evidence that the form was being used at all.
The developer updated the form's submission endpoint to connect to Tom's current email service, confirmed submissions were arriving in the inbox, and then marked form_submit as a Key Event in GA4 Admin so future conversions would appear in the correct report. Within the first week after the fix, 11 contact form submissions arrived — patients who had presumably tried the form, heard nothing, and come back again. Tom's prices stayed exactly where they were.
What to do next
If your contact or booking page gets traffic but shows no conversions, check the plumbing before you touch the product:
- Always test your contact form end-to-end by submitting a real entry and confirming it arrives in your inbox or CRM — a form that appears to submit visually may be failing silently behind the scenes, with no error shown to the user and no data stored anywhere.
- Set up your form submission event (commonly
form_submit, or whatever your platform names it) as a Key Event in GA4 Admin > Data display > Key events — GA4 collects all events, but only designated Key Events appear in Conversions reports; without this step, you can have hundreds of form completions that are invisible to you. - A high-traffic booking or contact page that shows zero conversions for an extended period is a technical red flag first, a pricing or messaging problem second — assume something is broken before assuming prospective customers are rejecting your offer.
- Watch for silent failures after any deployment, integration change, or email provider switch — webhooks and form endpoints tied to third-party services break without warning when those services are updated or deprecated, and the form will appear to work even when the data is going nowhere.
- Use GA4's DebugView (accessible via the Admin panel) to confirm that specific events are firing and being received by GA4 in real time — this lets you verify tracking is working without waiting for aggregated data to appear in standard reports.
For a fuller guide to spotting when something technical has broken your analytics or lead flow, see How to Spot Technical Problems Using GA4.
Get the numbers read for you
WebSignalytics connects to your Google Analytics and emails a plain-language report every Monday — what changed, why it matters, and what to do next. No dashboards, no second-guessing what a metric means.
Start your free trialClearwater Physiotherapy and Tom are illustrative — a composite created to demonstrate a real and common pattern.
← Back to all case studies