Your booking form conversion looks fine on paper until you realize the date picker step has a quiet drop-off that no error log will ever surface. Users tap a date, nothing happens, and they leave — not because they don't want to book, but because the calendar UI silently rejected their input.
What's actually happening when clicks don't register
The most common culprit is disabled dates. Every calendar picker grays out past dates, some block holidays or unavailable slots, and a few block a rolling window of same-day or next-day bookings. When users tap one of those grayed cells on mobile, most pickers do nothing — no tooltip, no shake animation, no "please choose a later date" message. From the user's perspective, the picker is broken.
A second failure mode: the Confirm or Done button is hidden below the fold inside the calendar modal. The user picks a date, looks for a way to proceed, doesn't see one, and taps around the calendar trying to advance. All of those taps register as dead clicks on cells they didn't intend to select.
Third: responsive date pickers that auto-switch between a desktop popover and a mobile modal based on a pointer: fine media query can mismatch on tablets and certain Android browsers. The desktop variant renders but the touch targets are too small. Users tap, miss, and assume the component is broken.
Firefox also has a documented history of datepicker popups failing to reopen after being dismissed — not a deal-breaker for most sites, but if your paid campaigns are driving Firefox traffic, it's worth checking.
How a heatmap surfaces the pattern in minutes
Most booking drop-off gets blamed on intent ("they weren't ready to buy") when it's actually a UI failure. The tell is a click cluster.
Open your heatmaps, filter by the booking form page segment, and look at the click distribution on the date picker component. If you see a dense cluster on the left side of the calendar (where past dates live) or on a specific week range (disabled inventory), that's your answer. Users aren't confused about your offer — they're stuck in a broken interaction.
The practical check: in CloseTrace, set the page segment filter to your /book or /schedule URL, then look at the click heatmap with the calendar open. A cluster on grayed cells that's denser than the cluster on selectable dates is the diagnostic signal. It means users are actively trying to pick dates that aren't available, getting no feedback, and giving up.
From there, pull a session replay filtered to the same page and sort by time-on-page. Long sessions with no booking completion are your best candidates. Watch a handful — you'll see the exact interaction pattern within two or three replays.
Fixes worth running in priority order
1. Add visible feedback on disabled date taps. A tooltip or inline message like "Next available: [date]" reduces confusion significantly. This is a one-line change in most date picker libraries.
2. Check modal scroll on small viewports. If your Confirm button sits below 600px, test on a real 375px device (not just browser devtools). Overflow hidden on the modal wrapper is the usual culprit.
3. Audit the disabled date logic. Booking systems sometimes disable more dates than intended — a misconfigured timezone offset that shifts availability windows, or a bug that treats inventory as unavailable when it's simply unloaded. The heatmap shows you that there's a cluster; your booking API logs tell you why those dates are blocked.
4. Test on Firefox. If your booking traffic includes a meaningful Firefox share, verify the picker reopens correctly after being dismissed. This is a bug in some jQuery UI and older Bootstrap datepicker implementations, not all modern ones.
The limitation worth naming: heatmaps show you where clicks happen, not whether a user intended to click there. A cluster on disabled dates is strong evidence, but you still need a replay or two to confirm the pattern isn't something else (like a mis-positioned overlay). See also how to find rage clicks on your landing page for the broader diagnostic framework.
Mobile is where this hurts most
Desktop users can often mouse around and figure out that a date is unavailable. Mobile users tap once, get nothing, and bounce. If your booking form gets more than half its traffic from phones — which is typical for healthcare, home services, and local businesses — the calendar picker UX deserves the same attention you'd give a broken payment field.
For clinic and healthcare booking flows specifically, the stakes are higher: a patient who can't figure out how to pick an appointment date usually doesn't try again. That pattern shows up clearly in healthcare patient funnels.
Pull the heatmap for your booking page, filter to the last 30 days, and check for click clusters on the calendar. If you see one on disabled or past dates, that's a fixable drop-off — not a demand problem.