GTMLab
Performance Marketing→Stage 2 · Paid demand · Ads that reach buyers while they decide, and pay back.
Paid mediaGoogle AdsSearch campaigns built for leads, quotes and bookings, not clicks.Meta AdsFacebook and Instagram campaigns wired to your CRM and judged on revenue.Click-to-WhatsApp AdsAds that open a WhatsApp chat, so buyers talk to you in one tap.
Creative & creatorsPerformance CreativeAds built and tested every week, so the winners scale and the losers die fast.Creator-Led AdsWe find the creators, script the videos and run them as ads from their own accounts.
Challenges we solveOur ads keep getting more expensiveOur agency isn’t deliveringOur creative burns out too fastOur ads look like ads, and people scroll past
ProofBluuu>30%Direct website revenue in the first 30 daysSee the case →
AI Search & SEO→Stage 2 · Search demand · Be the answer when buyers search Google or ask AI.
AI searchAI Search Optimization (AEO & GEO)Get named when buyers ask ChatGPT, Gemini and Google’s AI answers.AI Visibility TrackingSee which prompts name you, which name competitors, week by week.AI Visibility CheckSee what five AIs tell customers in your city, in about a minute.
SearchSEORank on Google for the searches your buyers already make.Local Search & MapsFix your listings and reviews across the sources Google Maps and AI read.
Challenges we solveWe’re invisible in ChatGPT and AI answersOur Google ranking doesn’t carry into AICompetitors get named, we don’tOur listings and reviews don’t match
Proof200+Brands grown, with $20M+ in ad spend operatedSee all case studies →
Funnels & CRO→Stage 3 · Conversion · Turn the traffic you pay for into customers.
Pages & funnelsLanding Pages & FunnelsPages and funnels built around how your buyer decides, not around a template.CRO & Offer TestingTest offers, pages and flows until the conversion rate moves.
Challenges we solveWe get traffic but not leadsWe pay OTAs too much for bookingsOur offer doesn’t convert
ProofIkigai63xROASSee the case →
Data & CRM→Stage 4 · Revenue · Connect every ad to the revenue it earns.
Data, CRM & AICRM & WhatsApp SetupThe right CRM, set up around how you sell, with WhatsApp inside.Lead Quality & Sales OpsStop arguing about lead quality. Measure it, and fix how leads are handled.Attribution & Revenue DashboardEvery lead traced to revenue, even when the sale closes in WhatsApp, a booking system or a POS.AI Sales & Support AgentsCustom AI agents for WhatsApp that answer, qualify and book like your team.
Challenges we solveOur CRM is a messSales says our leads are trashWe can’t see which ads bring customersLeads wait hours for a WhatsApp reply
ProofHokiOne6× → >80×ROAS in six monthsSee the case →
About→How we work, who we are, and what we’ve done
How we workWhat performance marketing isWhy running ads alone doesn’t move revenue, and what does.What it’s like working with usOnboarding, the first tests, a week on your account, and when you see results.Reporting and the monthly reviewThe dashboards and decks you get, and how decisions are made.Who we’re forThe businesses we’re built for, and the ones we’re not.
About usAbout GTMLabWho we are, where we work, and why we’re built differently.Your team & agentsThe people and AI agents on your account, by division.CareersJoin a senior team running growth for APAC brands.
ResourcesCase studiesHow we grew revenue for hotels, clinics, developers and B2B teams.TestimonialsClients on camera, in their own words.PlaybooksSoonTeardowns of how leading brands market and sell.BlogIdeas, experiments and results from our operators.
About GTMLab

100+ senior operators. Ex-founders, YC alumni and a Forbes 30 Under 30.

Meet the team →
Pricing
Let’s Talk

Turn ad spend into revenue you can trace.

Forbes 30 Under 30 Team · Y Combinator Alumni · $20M Ad Spend Operated

Let’s Talk
GTMLab

Ads, AI search, landing pages and CRM, run as one engine. Every lead traced to the revenue it closes.

Available for Q4
Jakarta · Hong Kong · New York

Performance Marketing

  • Google Ads
  • Meta Ads
  • Click-to-WhatsApp Ads
  • Performance Creative
  • Creator-Led Ads

AI Search & SEO

  • AI Search Optimization
  • AI Visibility Tracking
  • AI Visibility Check
  • SEO
  • Local Search & Maps

Funnels & CRO

  • Landing Pages & Funnels
  • CRO & Offer Testing

Data & CRM

  • CRM & WhatsApp Setup
  • Lead Quality & Sales Ops
  • Attribution & Revenue Dashboard
  • AI Sales & Support Agents

Our Work

  • Case Studies
  • Clients
  • Proof
  • Testimonials
  • Creatives

Industries

  • Healthcare
  • Wellness
  • Ecommerce
  • Hospitality
  • Tourism
  • Tech Startups
  • Bali Property
  • Events & Conferences

Resources

  • Blog
  • GTM Mapping
  • Growth Decode
  • Growth Workshops

Company

  • About
  • How we work
  • Pricing
  • Careers
  • Contact
© 2026 GTMLAB.AI · 200+ brands · $20M+ ad spend operated
Travel · Premium ExperiencesBaliMeta · Google · Web & Attribution
Case Studies→From OTA-Dependent to a Direct Channel That Earns Full Margin: Revenue Up 30%, CAC Down 35%

From OTA-Dependent to a Direct Channel That Earns Full Margin: Revenue Up 30%, CAC Down 35%

>30%Direct website revenue in <30 days
>20ROAS
>35%CAC Reduction
“
Honestly, GTMLab gave us something we'd never had — a real way to get bookings ourselves instead of leaning on the OTAs. Within a quarter, direct revenue was up over 30%, our cost to get a customer dropped, bookings kept climbing, and we were getting more profit on every sale. If you're serious about growing, this is the team to call.
CEO
Industry
Travel / Premium Experiences
HQ
Bali, Indonesia
Engagement
Month 1 --> Ongoing
Scope
Meta · Google · Web & Attribution
IndustryTravel · Premium Experiences
Country / regionIndonesia — Bali
Reading Duration8 Minutes
StageScaleup
EngagementMonth 1 --> Ongoing
Use cases
CAC ReductionPredictable Revenue creative engine scaleFunnel Conversion Lift
Services
Data & Analytics
Channels
Meta AdsGoogle AdsWEB/AtributionsSEO
Let’s talk growth →

Part of the Luxury Boat Tours series · one client, three lenses

This is the Overview. Luxury Boat Tours comes apart into three deep-dives — same client, three disciplines, readable in any order: Performance Marketing, Funnel & CRO, and Data & Analytics.

When this luxury boat tours 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.

A leading luxury boat tours in a major tourist hub had everything except one thing: a paid engine that worked. Category leader on every review platform, strong organic demand, a direct website that was already their biggest and highest-margin channel — all of it real. But Meta had never converted, Google ran unstructured, and bookings scattered across WhatsApp lines and the major OTAs, so no one could read what paid was actually doing. They didn't want an agency to hand the accounts to. They wanted a partner to rebuild the measurement, build the channels from scratch, and prove the lift against their own baseline.

case study

A category-leading product with a paid program that had never worked.

In their case, demand splits two ways: discovery and awareness through social, then comparison shopping across the major OTAs and Google — and a lot of direct bookings close over WhatsApp. That structure hides paid performance from platform attribution, which is exactly where the system had broken down.

  1. Meta had never worked. Previous paid efforts spent without converting. No retargeting engine, no creative system, no proof the channel could perform at all.
  2. Google ran unstructured. A single-account setup with no geo segmentation, weak keyword hygiene, and no bidding logic matched to each campaign's job.
  3. 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.
  4. The website leaked. A scattered funnel converted at less than 1% end-to-end, with no structured path from landing to booking.
  5. 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.

You can't scale what you can't see.

Most agencies rush to get ads live and hope the numbers explain themselves later. We did the opposite — 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, and SEO running in parallel on keywords that compound over time.

phase-timeline

1. Fix the read before the spend.

Strategic reasoning

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 reorganizing 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. And the payoff showed up where it counts — this year's growth landed in a month that's normally flat, and instead of stagnating, the channel grew 25%.

  • 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.

Strategic reasoning

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 — Over 75% of Meta-attributed purchases came through retargeting, sealing the revenue leakage
  • 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.

The thoughts behind it

Google was already running, but as one undifferentiated account that treated every customer the same. The problem: one strategy can't serve buyers who all want different things. A price-comparing traveler in Australia, a researcher in the US, and a ready-to-book local all want different things and decide on different terms — and clustering them together just makes the system average across everyone and makes it inefficient to optimize. So we rebuilt it around who the customer is and what they're after, and tuned each campaign to match.

  • 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.

PersonaProfileWhat wins them
Value-Seeking Adventurer18–35 · solo, couples, backpackersItinerary-maximizer who books late and shops on price, discovers through visual social, and gets vocal the moment 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 guestsSafety-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 dataA 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.

Funnel layerBeforeAfter
LandingGeneric OTA-shopper layout — same page for every search intentTier-specific guest layouts — different copy for value-seekers vs families, different proof for each
ComparisonNo retargeting overlay during the OTA-check windowMeta + Google retargeting live while the buyer is comparison-shopping the alternatives
Decision Multiple unstructured WhatsApp lines, no traceable inquiry-to-booking journeyUnified booking funnel — every WhatsApp line routed, every inquiry traced end-to-end
BookingNo friction-window prompts — abandoned cart was silent24-hour size-hold + email/SMS recovery — the abandoned cart gets a second chance the same day

Guest booking journey · Aware → Book

journey-funnel

One month in, the channel that carries the greatest margin is up >30%.

Month 1 built the foundation. The numbers below are the ones 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.

>30%Direct website booking in 30 days
>35%CAC Reduction
>20XROAS
>25%Click to Purchase Rate Uptick
200+ BookingsAdditional Monthly Booking from Meta retargeting
2XHigh-intent clicks in Google, with the same budget

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.

  1. 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.
  2. 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.
  3. 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.
  4. 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.


The rest of the Luxury Boat Tours engagement.

Luxury Boat Tours was one engagement told three ways. Keep going — here's the rest of the set:

  1. Performance Marketing — a spray-and-pray social account became an intent-led engine. 78% from retargeting
  2. Funnel & CRO — a leaking booking path rebuilt into a measured funnel. +25% conversion
  3. Data & Analytics — scattered numbers tied into one tracked loop. 100% traced end to end

Stop guessing. Start growing. 30 minutes with a senior operator. If we can help, we audit your account next and come back with a written plan inside a week. , and a playbook for the next edition

Book a strategy call →
The Team

The pod behind the build.

A measurement rebuild, a Meta engine built from zero, and a Google account restructured by market and by job — in 30 days. This is the team that built it, and what each of them owned.

Kevin
Growth Director

On this engagement: On this engagement: Set the sequencing call — fix the read before the spend — and the "defend the channel where the margin lives" thesis that framed the work. Ran the exec syncs with the founders.

Albert
Account Director

On this engagement: On this engagement: Owned the relationship and the weekly performance sync, the budget and scaling decisions, and sign-off on creative and offer direction with the founders.

Bagus
AI & Engineering

On this engagement: On this engagement: Rebuilt website measurement, routed every WhatsApp line into one tracked flow, tagged every paid touchpoint, and delivered the clean before/after read. Ran the technical SEO audit.

Rizky
Head of Performance Marketing

On this engagement: On this engagement: Restructured Google into geo-segmented campaigns, enforced tight negative-keyword discipline, and matched bidding to each line's job; brought the brand campaign to a 33% CTR as the most efficient line in the account.

Dikmas
Art Director

On this engagement: On this engagement: Built the creative production line and the slate across prospecting and retargeting, with the bottom-funnel layer carrying the conversions.

More wins, with the numbers behind them.

See every case →

Bluuu

Luxury Yacht Operator

30%+ Direct Revenue in 30 Days: How a Global, Award-Winning Luxury Yacht Operator Cut OTA Dependence

>30%Direct website revenue in the first 30 days
27%Year Over Year (vs. +6.7% prior year)

Palma Islands

Real Estate Developer

From Referral-Only Sales to 3–5 Qualified Leads Per Day

−70%Cost per qualified lead
3–5Qualified leads per day

Ashley Group

Hospitality

40×+ ROAS Sustained Over a Year: How a Luxury Hotel Chain Built Direct Bookings and Reduced OTA Dependency

>40× ROASSustained beyond 12 months
4×More direct-booking revenue

Let’s engineer your lead generation engine.

More qualified leads, lower CAC, and a clear view of which ads bring in revenue.

Ways to work with us
Monthly plansOne-off buildsGrowth partnership

How we start

  1. 1Discovery callWe learn how you sell, where leads go cold and what could work better.
  2. 2Read-only auditIf we’re a fit, we get read-only access to your ads, analytics and CRM, and diagnose what’s really going wrong.
  3. 3Your proposalWe walk you through the diagnosis and the engine we’d build to fix it.

For lead generation businesses already running paid ads. Replies within 24 hours.

Explore a partnership
Selected clients
LazadaCinepolisIHH HealthcareGleneaglesMount ElizabethSiloamELSA SpeakCekatAIAshley GroupBluuuCentral WellnessDoré by LeTaoGoDrinksIkigaiMediflyPalma Islands