We worked with Luxury Boat Tours— a global, award-winning marine-tour operator running yacht cruises and guided snorkeling day-trips, with a category-leading product: a 4.9-star rating across 10,000+ reviews. The experience sold itself — but the growth engine didn't. Demand leaned heavily on the booking aggregators (the OTAs), an unhealthy dependence that quietly rented out margin the operator should have owned, while paid spend, especially on social, had burned budget with nothing to show for it and no one could read what any of it was doing.
This page is the Funnel & CRO lens — and it's where the OTA dependence got reversed. The booking path was rebuilt from one landing page into a journey per offer, so the operator's own direct channel finally beats the aggregators on the things a marketplace listing can't match. The channels that drive traffic into it live in Performance Marketing; the tracking that made the leak visible lives in Data & Analytics.
Meet the operator.
Luxury Boat Tours runs premium island day-trips — yacht cruises, manta snorkeling, cliff-view excursions, all-inclusive — with a category-leading 4.9-star rating across 10,000+ reviews, a wall of global awards, and strong organic and direct demand. The product is excellent and the brand is loved; the gap was never the experience — it was a growth engine that leaned too hard on the booking aggregators.
The gap was the path to booking. Interest arrived, but the route from a landing page to a confirmed booking was scattered — bookings closed over separate messaging numbers, a loose website flow had no structured steps, and the full-margin direct channel was quietly losing share to the booking aggregators.
The challenge — demand arrived, the path lost it.
The operator never had a traffic problem. It had a path problem: every step between "interested" and "booked" either leaked or couldn't be measured.
- No structured path from landing to booking. A scattered website flow gave a visitor no clear, stepped route to a confirmed booking — interest arrived and dispersed.
- Booking lived across separate messaging numbers. Conversations closed over several disconnected channels, so the funnel had no single, readable spine from inquiry to confirmation.
- The leak was concentrated, and invisible. Most people who started a booking never reached the checkout step — but without measurement, no one could see where the drop happened.
- The aggregators were the easier path. When the direct route felt harder than booking through a marketplace, demand defaulted to the aggregators — a margin and a price haircut at once.
- No before to measure an after against. With nothing structured or tracked, even a real improvement couldn't be proven — so the first job was building something measurable.
Our approach — a funnel for every offer.
Before the rebuild, the funnel ran one landing page for every buyer, the same offer and the same ask for everyone, bookings scattered across separate messaging numbers, and Meta ROAS at roughly 8× before our rebuild. After, it delivered a +25% conversion uplift: a journey per offer — shared, premium shared, private — with message → landing page → offer matched to the segment, WhatsApp conversation and nurture tailored per buyer, and Meta ROAS at >20× blended on the rebuilt account.
The table below is the high-level cut. The working build is roughly 10× more nuanced — each offer splits by source market, group size, and lead-time, with its own page, message, and conversation script.
| The offer | The buyer | The tailored journey |
|---|---|---|
| Shared touraccessible day-trip | Budget-minded explorers and groups | The bucket-list experience at an accessible price → shared-tour page → best-value seat → quick-availability WhatsApp → review-led nurture |
| Premium shared toursmaller group | Comfort-seekers who want fewer people on board | Same sights, fewer people, more comfort → premium page → premium seat → tier-up WhatsApp → what's-included nurture |
| Private charterfully bespoke | Couples, families, and special occasions | Your own boat, your own day → charter page → bespoke quote → concierge-style WhatsApp → itinerary-options nurture |
1. Rebuild the path — from one landing page to a journey per offer.
Strategic reasoning
Before, every visitor met the same landing page and the same ask — a backpacker comparing a shared seat and a couple planning a private charter were funnelled into one route. But a budget shared-seat buyer and a premium private buyer are in completely different moments. We replaced the one-size path with a journey per offer: shared tours, premium shared tours, and private charters each get their own creative message, landing page, offer, WhatsApp conversation, and nurture material — so the route fits the buyer instead of averaging them. We also consolidated the scattered messaging numbers into one tracked flow, so for the first time the funnel had a readable spine to measure.
2. Match every offer to its moment — then test.
Strategic reasoning
With a funnel per offer, the message can finally fit the moment — the bucket-list pitch for the first-timer, the comfort upgrade for the tier-up, the bespoke day for the private buyer. And because there are now several funnels instead of one, we can actually test: page against page, offer against offer, conversation script against conversation script — and move budget to what converts. The discipline that matters most is restraint about where to test. The leak sat at one step — getting from a started booking to checkout — so that's where the testing concentrates, not the parts that were already working.
- A dedicated landing page per offer — message, proof, and ask matched to the intent.
- The offer matched to the moment — accessible, premium, or bespoke — never one ask for everyone.
- The WhatsApp conversation and nurture material tailored per segment, not a single script.
- Structured testing across offers and pages; budget follows the winners.
- Tests concentrated on the blocking step, where the funnel actually leaked.
- Booking direct made the easier, more reassuring choice than the aggregator alternative.
Why direct now wins against the aggregators.
The booking aggregators were the easy default — and every booking they took was margin the operator rented instead of owned, at a lower value on top. The funnel rebuild is what turns that around. Four things a marketplace listing can't match now sit on the direct path:
Together they make booking direct the more trusted, better-fitted choice — so demand stops defaulting to the aggregators and the full margin stays with the operator.
The shift, before → after.
| Dimension | Before | After |
|---|---|---|
| Funnels | One — everyone to the same landing page | One per offer — shared, premium shared, private — each with its own journey |
| Offer fit | The same ask for every visitor | Offer matched to the moment — accessible, premium, or bespoke |
| Booking path | Scattered, closed across separate messaging numbers | One structured, tracked route from interest to confirmed booking |
| The leak | Invisible — no one could see where the drop happened | Surfaced, named, and worked at the blocking step |
| Testing | Nothing to compare — one funnel, no variants | Page-vs-page, offer-vs-offer; budget follows the winners |
| End-to-end conversion | Baseline — one undifferentiated path | +25% uplift, measured structurally with the migration window excluded |
| Meta ROAS | Roughly 8× blended on the unmanaged account | >20× blended on the rebuilt account |
| Direct vs aggregator | Direct route harder than the marketplace; share leaking out | Direct made the obvious choice — the full-margin channel defended |
Results — the funnel, working.
Measured where the margin lives, with the migration window excluded so the conversion gain is structural rather than noise.
Honesty note: Month 1 built the structure, not the finished story. The biggest leak still sits at the step before checkout, and that's the number Month 2 is built to keep moving. We report the conversion gain as a relative uplift, with the migration window excluded, specifically so it reflects the rebuild rather than a measurement artifact — and we resisted "optimizing" the steps that were already working.
What rebuilding this funnel taught us.
- One path can't serve every buyer. — A shared-seat explorer and a private-charter buyer are in different moments. Give each its own offer, page, conversation, and nurture, and conversion stops leaking on the averages.
- You can't fix a leak you can't see. — The first move wasn't a CRO test — it was making the path measurable. The blocking step was only obvious once the funnel had one readable spine.
- Many funnels make testing possible. — With one funnel there's nothing to compare. With one per offer, CRO becomes real: page vs page, offer vs offer, budget to the winners — and tests concentrated on the step that actually leaks.
- Every aggregator booking is margin you rent. — Defending the direct channel isn't a nice-to-have — it's the economics. Make direct the easier choice and the full margin stays with the operator.
A scattered booking path is now one measured funnel — the leak is a number we can move, and the full-margin direct channel is defended.
End-to-end conversion is up roughly a quarter, the blocking step is visible and improving, and booking direct is the obvious choice again. Month 1 made the funnel legible; Month 2 keeps moving the step that still leaks.
Book a strategy call →