Skip to content
Case Study

Healthcare · multi-site medical group

They ranked first and still couldn’t get anyone booked.

Top three in every market. A booking widget that rendered a blank white box on half the devices that reached it.

Top 3rankings in every market served
54%of devices saw a blank widget
8 mosthe failure went unnoticed
+156%online bookings after the fix

Read this first

An anonymized engagement.

The sector, the numbers and the sequence of events are real and come from the client’s own systems — identifying details have been changed enough that you could not find them, and they signed off on the rest.

The complaint

On paper, this multi-site medical group was an SEO success story somebody else had already written. Top three for every priority term in every market they served. Strong review profile. Traffic growing month over month. They came to me anyway, with a complaint their agency couldn’t explain: online bookings were flat, and the front desks were still doing everything by phone.

The agency’s position, reasonably enough, was that their job was rankings and the rankings were excellent. Which was true. It just wasn’t the point. When traffic grows for a year and the revenue it’s supposed to produce doesn’t move, one of two things is happening: the traffic is the wrong traffic, or something between the click and the money is broken. Both are checkable. Neither shows up in a rankings report.

Testing the thing the rankings feed

Rankings are plumbing. They deliver a visitor to a page, and everything after that is the part the patient actually experiences. So instead of re-auditing the rankings, I booked appointments — or tried to — on real devices. A desktop, two iPhones, three Android phones of different ages, both major browsers.

On desktop: flawless. On iOS Safari and several Android builds: the third-party booking widget threw a silent script error and rendered a blank white box. No error message, no fallback, no phone number. Just white space where the appointment should have been.

What each device actually saw
What each device actually sawMatched against the group’s device mix, roughly 54% of sessions reaching the booking page never saw a booking form at all.

The site was ranking #1 and pouring patients into a blank box — and it had been doing it for eight months. Nobody had caught it for the most human reason imaginable: the widget worked perfectly on the desktop machines of every person who worked on the site.

The fix, and how boring it was

  1. Replace the failing embed with the booking vendor’s supported integration — the one their own documentation had recommended for two years.
  2. Add a native fallback — a plain request form and a click-to-call number that render even if every script on the page fails, because someday one will.
  3. Put synthetic monitoring on the booking flow, on real mobile devices, so a blank box can never again survive for eight months unnoticed.
Bookings once the widget rendered
Bookings once the widget renderedOnline bookings rose 156% without a single ranking improving, because none needed to.

The demand had been arriving daily for most of a year and bouncing off a white rectangle. The front desks felt the fix within the first week: fewer phone bookings, not because demand fell, but because patients could finally do the thing the website had been promising them all along.

Why nobody caught it for eight months

It’s worth sitting with the organizational part, because the technology was the easy bit. The SEO agency’s scope ended at rankings, and rankings were great. The booking vendor’s scope ended at their own uptime dashboard, which was green — the service was up; the embed was the problem. The practice’s IT contractor maintained the network, not the website. Three competent parties, all technically doing their jobs, and the single most important flow in the business belonged to none of them.

That gap — between everyone’s scope of work and the patient’s actual experience — is where most of the expensive problems I find live. Nobody was negligent. There was simply no one whose job it was to try booking an appointment on an iPhone, so for eight months, nobody did.

What I would tell you to check

  1. Complete your own conversion flow this week — on your phone, not your office computer. Then borrow a phone that isn’t your brand and do it again.
  2. Compare conversion rate by device in your analytics. A big gap between desktop and mobile is rarely “mobile users browse differently.” Sometimes the page is broken.
  3. Ask who would find out, and how fast, if your booking or checkout silently failed today. If the answer involves a customer complaining, that’s your monitoring strategy.
  4. When traffic grows and revenue doesn’t, audit what happens after the click before buying more clicks.

Want this pointed at your site?

The audit finds exactly this kind of thing — the leak everyone walked past because nothing looked broken. Twenty-seven checkpoints, your data, plain English.

Start the Audit