When the Real Drop-Off Isn't a Drop-Off
The Funnel Wasn't Broken. It Was Looping.
Client type: Boutique hospitality property, booking engine hosted on a separate domain from the marketing site
Engagement: Analytics diagnostic via agency partnership
The ask
The client wanted a simple number: of the people who click "Book Now," how many actually finish a reservation? Straightforward question. The setup underneath it wasn't.
The booking engine lived on its own domain, completely separate from the marketing site. That meant no clean, native way to follow a visitor from click to confirmation. Any real answer required building cross-domain tracking from scratch.
What we built
We found a GA4 container already live on the site, quietly serving a third-party platform integration nobody on the team knew was there. Rather than touch it, we added a scoped GA4 configuration limited to the booking-engine domain only, so we wouldn't double-count against the existing setup. Then we linked the two domains together and confirmed the connection was actually working by checking for the linker parameter GA4 attaches to cross-domain clicks.
We built a trigger to track clicks on the primary booking button. It sounds like a five-minute job. It wasn't. The default click trigger doesn't wait for tags to fire before the page navigates away, which meant clicks were getting lost in the handoff. We had to switch to a link-specific trigger with a wait-for-tags delay to catch them reliably.
Then a consent management platform on the site started silently blocking our new tag for anyone who hadn't opted in. That one cost real time to track down, because nothing about it looked like a tracking problem. It looked like the tag just wasn't firing, for no visible reason. Once we found it, we confirmed clicks were being captured correctly by watching the raw event data directly, not just trusting the reports.
What the numbers said
Over a 28-day window: about 4,500 site visits, 7.6% clicked the primary booking button, and roughly 3% of those clickers reached the confirmation page. Google traffic converted best on clicks (10%), direct traffic close behind, and referrals from other sites on the property's network were underperforming badly, in the 1-1.5% range.
That's a real funnel with real numbers. But it's not the interesting part.
The part a funnel report can't show you
A straight funnel tells you where people drop off. It doesn't tell you where they get stuck. So we built a path exploration starting from the search page instead, tracing the actual routes people took click by click.
That's when we found it. Nearly 2,000 visitors reached the room selection screen. Almost 30% of them got kicked back to search. Not once. Repeatedly. The same group cycled through search, selection, and back to search again, shedding a chunk of people each time but sending the majority through another lap: roughly 2,000, then 564, then 426, then 267, then 243, then 147, in successive rounds.
That loop, not any single drop-off point, was the real story behind the low completion rate. It was invisible in the funnel view. It only showed up once we stopped looking at where people left and started looking at where they went.

Finding the reason
We reproduced it manually. Search a date range shorter than the property's minimum stay requirement, and the system lets you pick dates, shows you rooms, lets you select rates, and only then tells you the stay doesn't qualify. The error offers no way to adjust the search on the spot, just a button that sends you back to square one.
That's a strong candidate for what was driving the loop. Not confirmed as the only cause, but a real, fixable, specific one, sitting right in the middle of the funnel where the data said the trouble was.
A second problem, found along the way
While mapping referral sources, we tested the property's TripAdvisor booking connection directly. Every date range we tried, months out included, came back with an error saying the hotel wasn't available on TripAdvisor. The wording pointed to a broken channel connection, not a legitimately sold-out property. GA4 showed zero referral traffic from TripAdvisor anywhere in the data, which lined up: guests weren't failing to book through that channel, they were never getting the chance.
What we handed back
An executive summary with the funnel data, the path exploration loop, and screenshots of both errors in context. A how-to guide so the client's own team could read and maintain the saved GA4 explorations going forward, not just receive a one-time report. And a recommendation, in plain terms: surface the minimum-stay requirement at the date picker, before a guest has already invested time picking a room, and treat the TripAdvisor connection as a separate, likely urgent fix.
Why it matters
The client didn't have a traffic problem or a demand problem. They had a specific, structural friction point that a standard funnel report would never have surfaced, because standard funnel reports only show you the exits people take. This one was buried in the path people kept retaking, convinced the next attempt would work.
That's usually where the real answer is. Not in the number that drops, but in the loop that doesn't.