When this Bali premium experience brand came to GTMLab, they had a category-leading product and a strong organic following — but most of their bookings flowed through online travel agencies, where commissions quietly ate the margin on every sale. Their own website, the one channel where they'd keep the full margin, was underused, and the paid program meant to grow it had never worked. The mandate was clear: grow direct website revenue and shift the business off its OTA dependence. In the first 30 days, we rebuilt how the business reads itself before touching the spend, then built the paid engine on top of it. Direct website revenue is up over 30% against a clean no-ads baseline — and every paid number is now traceable to a decision worth defending.
This is the story of a paid engine built in the right order: measurement before spend, retargeting before prospecting, and the channel where the margin lives defended ahead of raw volume.
Meet the brand.
The client is a premium experience brand based in Bali — high-end, all-inclusive day-trip products of the kind that turn first-time guests into repeat customers and reviewers. The brand is category-leading on every public review platform, with strong organic and direct demand. The direct website channel is already their biggest, and it carries their full margin.
They had everything except a paid engine that worked. Meta had never converted. Google ran unstructured. And a booking flow that closed across multiple WhatsApp lines, alongside the major OTAs, meant no one could read what paid was actually doing. They needed a partner to rebuild the measurement, build the channels from the ground up, and prove the lift against their own baseline — not another agency to hand the ad accounts to.

A category-leading product with a paid program that had never worked.
Bali premium-experience demand splits between social discovery and comparison shopping across the major OTAs — with most bookings closing over WhatsApp. That structure hides paid performance from platform attribution, which is exactly where the program had broken down.
- Meta had never worked. Previous paid efforts spent without converting. No retargeting engine, no creative system, no proof the channel could perform at all.
- Google ran unstructured. A single-account setup with no geo segmentation, weak keyword hygiene, and no bidding logic matched to each campaign's job.
- The read was broken. Bookings closed across multiple WhatsApp lines and never flowed back to the platforms. Every ROAS figure, high or low, was lying.
- The website leaked. A scattered funnel converted at less than 1% end-to-end, with no structured path from landing to booking.
- Direct revenue was exposed to OTAs. The full-margin channel was losing share to OTA marketplaces — a margin cut and an average-order haircut at once.
Where Bluuu was at takeover
We came from GTMLabs because we are looking for predictability, instead of relying on freelance that are unreliable. We expect to see results in a quarter, and GTMLab delivered in less time than that. Highly recommend GTMLabs for those looking to grow and scale.CEO
Our approach — fix the read, then build the engine.
We started with measurement, not ads. Before touching the spend, we rebuilt how the website tracks itself, routed every WhatsApp conversation into one tracked flow, tagged every paid touchpoint, and connected the full inquiry-to-booking journey end to end. You can't scale what you can't see.
Only once that foundation was clean did we build the channels — Meta from zero, Google restructured by market and by job to be done — with SEO running in parallel, targeting keywords that compounds over time.
1 Fix the read before the spend.
We did not touch the spend for the first stretch — and that was the whole point. The signal was the unlock. A dashboard built on broken attribution is worse than no dashboard, because it gives you the confidence to make wrong decisions. Bookings were closing across multiple WhatsApp lines and never flowing back to the platforms, which meant every ROAS figure, high or low, was lying. Fix that first, or everything you build on top of it inherits the lie.
Most agencies would start by reorganising the ad accounts on day one — it shows motion, and motion looks like progress. We made a different call: no spend decisions until the read was clean. The 4X increase year-over-year growth rate number we can stand behind today only exists because the measurement came first.
- Rebuilt website measurement and routed every WhatsApp line into one tracked flow - so a booking could finally be traced back to the touchpoint that earned it.
- Tagged every paid touchpoint - closing the gap between spend and outcome that had made every prior ROAS figure meaningless.
- Wired the inquiry-to-booking journey end to end - turning the WhatsApp-and-OTA flow into a funnel that could actually be read.
- Surfaced a crawlability issue during the audit — flagged and handed to the parallel SEO workstream.
2 Meta, built from zero — retargeting as the engine.
Meta had never worked for this brand, so we didn't optimize it — we built it. Account, audiences, events, and a creative production line, all from scratch. And we built the retargeting layer first. The instinct in a new account is to pour budget into cold prospecting, but in a category where buyers compare the brand against the major OTA marketplaces before they commit, the warm audience is where the conversions live.
The result proved it: roughly three in four Meta-attributed purchases came through retargeting. A channel that had never worked became the highest-intent conversion layer in the account within 30 days — not by spending more, but by building the engine in the right order, then feeding it.
- Full Meta account build — audiences, events, and a creative production line, none of which existed before.
- Established the retargeting pool that became the engine — 78% of Meta-attributed purchases came through it.
- Shipped the creative slate across prospecting and retargeting — with the bottom-funnel layer carrying the conversions at sustained efficiency.
3 Google, restructured by market and by job.
Google was already spending, but as a single undifferentiated account — no geo structure, no keyword hygiene, no bidding logic matched to each campaign's job. Premium-experience demand is not one market: an Australian comparison-shopper, a US researcher, and a high-intent domestic buyer are looking for different things and convert on different terms. Running them under one structure asks the system to average across all of them.
We rebuilt to capture intent by market and by job — geo-segmented campaigns, tight negative-keyword discipline, and bidding matched to what each campaign was actually for. The brand campaign became the most efficient line in the account.
- Geo-segmented campaigns across the brand's core markets — AU, US, UK, plus high-intent domestic — each market addressed on its own terms.
- Tight negative-keyword discipline — to stop budget leaking to mismatched intent.
- Bidding matched to each campaign's job — the brand line became the most efficient in the account at a 33% CTR.
- SEO foundation in parallel — technical audit, content drafted, and a three-tier page architecture proposed.
Who we targeted — and what wins them.
This is the high-level cut. The working breakdown is roughly 10× more nuanced — each segment splits into sub-cells (intent, lead-time, price tier, branch, geo, etc.) with a separate landing page, ad-set structure, and funnel custom-built per cell. The table below is the map, not the territory.
| Persona | Profile | What wins them |
|---|---|---|
| Value-Seeking Adventurer18–35 · solo, couples, backpackers | Maximising the itinerary, price-sensitive, books late, heavy on visual social discovery. Picky and vocal when expectations slip. | Best-value framing, all-inclusive clarity, visible social proof, social-led discovery and deal urgency. |
| Quality-Focused Family30–55 · families, high-end hotel guests | Safety-first, comfort-driven, detail-oriented. Will pay premium when the value reads, doesn't barter, trusts the concierge. | Trust signals, premium extras, all-inclusive packages, hotel-partner and concierge channels. |
| Emerging Segmentsurfaced in the Month 1 data | A third audience surfaced through the Month 1 data, now being built into Month 2 targeting. | In development — defined in the Month 2 plan. |
The shift, before → after.
The shift, before → after.
| Funnel layer | Before | After |
|---|---|---|
| Landing | Generic OTA-shopper layout — same page for every search intent | Tier-specific guest layouts — different copy for value-seekers vs families, different proof for each |
| Comparison | No retargeting overlay during the OTA-check window | Meta + Google retargeting live while the buyer is comparison-shopping the alternatives |
| Decision | Multiple unstructured WhatsApp lines, no traceable inquiry-to-booking journey | Unified booking funnel — every WhatsApp line routed, every inquiry traced end-to-end |
| Booking | No friction-window prompts — abandoned cart was silent | 24-hour size-hold + email/SMS recovery — the abandoned cart gets a second chance the same day |
One month in, the channel where the margin lives is up 23.5%.
Month 1 was the foundation. The numbers below are the outcomes we can defend — every one a relative read against the operator's own baseline, isolated from season, and measured on the channel that carries the full margin.
What rebuilding a paid engine from zero taught us about marketing premium experiences.
Four principles earned in the first 30 days — real budget, real consequences.
Fix the read before you fix the spend.
We rebuilt how the website measures itself before changing any of the spend. Until WhatsApp bookings flowed back through a clean attribution layer, every ROAS number lied. The year-over-year growth only exists because the measurement came first. A dashboard built on broken attribution doesn't just fail to help — it actively gives you the confidence to make the wrong call.
Retargeting is the engine, not the afterthought.
A big portion of Meta-attributed purchases came from warm audiences — people already comparing the brand against the alternatives. The instinct to pour budget into cold prospecting is usually the wrong one in this category. Build the retargeting layer first, then feed it. The channel that had never worked became the highest-intent conversion layer in the account precisely because it was built in that order.
Measure against your own baseline, not raw growth.
This brand's spring window grows every year on its own. The honest question isn't "did revenue go up?" — it's "how much of the growth did we actually cause?" The prior year, that window grew on its own; under management, it grew several times faster. The gap between those two is the part we can honestly claim — the rest is season. Saying so out loud is exactly what makes the number defensible to a founder who knows their seasonality better than any agency does.
Defend the channel where the margin lives.
Direct website bookings carry the full margin; every OTA booking is a cut and a lower average order at once. Growing direct revenue matters more than growing total volume, because it protects the economics, and most importantly, long-run defensibility. Volume is vanity when a third of it leaks margin to a marketplace that you have no control of.
One month in, the direct bookings increased by over 30% — and every paid number is finally traceable to a decision worth defending. traceable to a decision worth defending. One month in, the direct bookings increased by over 30% — and every paid number is finally traceable to a decision worth defending.
The read is clean. The Meta engine is live and retargeting-led. Google is restructured by market and by job. Month 1 was the foundation; the engines built are designed to compound in Month 2. This is how GTMLab partnerships work: we fix the read, we build the engine, we earn the velocity, and we hand back a machine the client owns.
Book a strategy call →