GTMLab
Our focus

Paid ads growth — and nothing else.

We don't do brand. We don't do generalist work. Five disciplines stacked together to make one outcome: a paid engine that compounds every month.

The 5 services we shipPerformance MarketingThe growth engine itself. Paid acquisition across every channel.Performance CreativeAds that win the auction. AI-tuned creative production at scale.Funnel Strategy & CROConversions, end to end. Landing pages, funnel rebuild, A/B testing.Data & AnalyticsEvery dollar traced. Dashboards, attribution, AI signal monitoring.GTM & Growth LabStrategy that ships Monday. Channel tests, positioning, expansion.
All 5 in motion
Full-stack engagementJAQS
We built JAQS's sales team its first real lead engine — in under 30 days.
Over 8xfirst month ROI on engagement investment
Millionsworth of pipeline value generated in <30 days
Our WorkCase StudiesClientsProofTestimonialsCreativesFunnels (coming soon)
Featured case study
FeaturedJAQS
We built JAQS's sales team its first real lead engine — in under 30 days.
Over 8xfirst month ROI on engagement investment
Millionsworth of pipeline value generated in <30 days
IndustriesHealthcareWellnessEcommerceHospitalityTourismTech StartupsProperty
ResourcesBlogTeardown Library (coming soon)Events (coming soon)Talks (coming soon)
WorkshopsGTM Mapping0→1 / pre-revenue founders. Map your full GTM.Growth DecodePMF + paid spend. Decode competitors, rebuild engine.Bali Tour 2026 (ended)20 workshops · 2 weeks · May 2026 wrap-up.Australia Tour 2026 (planning)Sydney · Melbourne · Jun–Jul 2026.
From the blog →
GTM & Strategy11 min
How GTMLab built Ashley Hotel Group's direct booking engine across 6 properties.
GTM & Strategy9 min
AI Alone Is Useless — Why I Built GTMLab.
Performance Marketing11 min
Building a growth system, not a campaign treadmill.
Performance Creative12 min
How to audit your creative without hiring an agency (yet).
Join the bench
CareersJoin our team
100 specialists. Operator-grade pedigree. Currently hiring 5 senior roles.
5Open roles
6+Countries
100+On bench
Our story
AboutAbout GTMLab
Operator-led, senior-only, built by tech-founders.
2024Founded
~100Senior marketers
200+Teams shipped for
Book a call →

Still paying for guesswork?

Free 30-min teardown · no obligation · 200+ teams shipped

Book a call →
GTMLab

Paid ads growth — and nothing else. Five disciplines, one engine, every dollar traced.

Available for Q3
Jakarta · GMT+7 · global delivery

Services

  • Performance Marketing
  • Performance Creative
  • Funnel Strategy & CRO
  • Data & Analytics
  • GTM & Growth Lab

Our Work

  • Case Studies
  • Clients
  • Proof
  • Testimonials
  • Industries

Resources

  • Blog
  • Growth Letter (soon)
  • Teardown Library (soon)
  • Events
  • Talks

Company

  • About
  • Careers
  • Contact
© 2026 GTMLAB.AI · 200+ growth teams · $20M+ ad spend operated
Cross-Border HealthcarePerformance Marketing + Lead GenMalaysia ← Indonesia · 90-day build
Case Studies→Client

Zero to one — we built a leading Southeast Asian hospital group its first cross-border patient engine.

−70%Cost per lead, launch to optimized stage — the system got cheaper every month as it learned who to reach
~5×Sustained weekly lead volume, on the same budget — the engine compounded, the spend didn’t
90 daysFrom zero to one — a full cross-border patient-acquisition system, stood up from scratch
“

Thousands of Indonesian patients were already searching for specialist care abroad. The group had the hospitals. It had no system to reach them across brands at once. We built one — and cost per lead fell 70% as it learned.

Client
Industry
Leading Southeast Asian hospital group · cross-border patient acquisition
Markets
Hospitals in Malaysia · patients in Indonesia
Engagement
90-day build (reported window)
Scope
Meta paid media · 3 hospital brands
IndustryLeading Southeast Asian hospital group — Malaysian hospitals, Indonesian patients
AudienceIndonesian patients seeking specialist treatment abroad
StageLarge multi-brand healthcare group
Engagement90-day build (reported window)
Use cases
Predictable Revenue Market EntryFunnel Architecture
Services
Performance MarketingFunnel & CRO
Let’s talk growth →

The group had everything except the one thing that scales: a system.Premium hospitals, a real audience of Indonesian patients seeking specialist care abroad— and no engine to reach and convert them across three brands at once.

In about 90 days we built that engine on Meta — from zero: a campaign architecture mapping each hospital to the cities most likely to produce its patients, an audience model that split intent into separate streams, and a bilingual creative-and-capture layer that qualified every lead before a human stepped in. The system got cheaper every month — cost per lead fell 70%, weekly volume held roughly 5× on the same budget, and the group kept the machine.

Meet the group.

The client is a leading Southeast Asian hospital group operating several hospital brands, with its Malaysian hospitals at the center of this engagement — each with its own positioning, catchment, and ideal patient, from a flagship general hospital to an ultra-premium brand for high-income patients. Their target market sat across the strait: Indonesians who travel abroad for specialist treatment they can’t easily get at home, weighing a real health concern with real financial and emotional stakes.

That demand was already in the market. What the group lacked was a way to meet it at scale — to put the right hospital in front of the right patient, in their own language, at the moment they were searching. Paid media for a multi-brand group is a different problem from a single-location business: three hospitals meant three positionings, three catchments, and three very different patients, all competing for the same budget if you run them as one.

A strong product. No system to reach the right patients at scale.

Paid media brings cold, high-stakes patients who are weighing a health decision — not casual browsers. The structure the group was inside wasn’t built for that job. Four constraints defined the starting line.

  1. One blanket campaign couldn’t serve many hospitals. Each brand had distinct positioning, geography, and patient profile. A single Indonesia-wide approach either duplicated spend across brands or wasted it on the wrong audience for the wrong hospital.
  2. The audience was high-intent and high-stakes — not casual. These patients are weighing a health concern that carries real emotional and financial weight. The wrong message at the wrong moment loses them, and one funnel could never speak to three different levels of intent at once.
  3. Broad targeting leaked budget. With no exclusion system, the same low-intent people were served ads repeatedly while fresh prospects went untouched — spend burning on audiences that were never going to convert.
  4. No clean capture, so leads stalled. Inquiries had no structured intake. Leads went cold before the coordination team could act on them, and nothing pre-qualified them before a human had to step in.

Where the group stood

Campaign architecture
Critical
Audience segmentation
Critical
Budget leak / exclusion
Critical
Lead capture
Amber
Creative language
Amber
“
The patients were already there, already searching, already willing to travel for care. This was never a demand problem — it was a system problem. Our whole job was to build the engine the demand had been waiting for.
Growth Director, GTMLab

Three systems, built to reinforce each other.

We built three things in parallel and bound them with a weekly testing loop. An architecture that mapped each hospital to the cities most likely to produce its patients. An audience model that split intent into separate streams and kept removing the people already won. And a creative-and-capture layer that spoke the patient’s language and qualified them before any agent intervened. Each decision had to earn its place week over week — the way capital is defended a dollar at a time.

Phase
Wk 1–2
Wk 3–5
Wk 6–8
Wk 9–10
Architecture: hospital × city mapRelevance is local
Build
Audience streams + exclusion engineKeep removing who you’ve won
Stand-up → Compound
Bilingual creative + WhatsApp intakeLanguage is a conversion variable
Test → Scale
Weekly testing loopEvery angle earns its place
Run → Graduate winners
Milestones
Wk 2Bahasa-first creative beat English decisively — became the primary language across the account
Wk 4Exclusion engine live — every batch of new leads fed back to keep spend on fresh prospects
Wk 6Automated bidding beat manual caps; Jakarta high-income beat broad geography
Wk 8Top specialty out-producing the weakest by 15× on comparable budgets
Wk 10Cost per lead 70% below launch; weekly volume up ~5× on the same budget structure

1 Map each hospital to the cities that actually produce its patients.

Strategic reasoning

Relevance is local. A blanket Indonesia-wide blast treats three hospitals as one product and pays to reach people the wrong hospital can’t serve. So we ran separate campaigns per brand, each weighted to the cities most likely to produce its patients — by proximity, flight routes, and existing patient patterns. A patient in Surabaya sees what’s reachable from East Java; a patient in Medan sees what’s reachable from North Sumatra.

  • Separate parallel campaigns for each hospital brand, not one shared account
  • Each brand weighted to its highest-yield Indonesian cities by geography and travel routes
  • Spend concentrated where proximity and intent overlapped, not spread evenly
  • The architecture became the foundation every audience and creative decision sat on

2 Split intent into streams — and keep removing the people you’ve already won.

Strategic reasoning

One funnel can’t speak to three levels of intent. So each hospital ran three audience streams — health awareness, treatment intent, and an upper-class stream for the ultra-premium brand — each with its own creative and path. The compounding move was exclusion: every new batch of leads was fed back as an audience to remove, so budget stayed on fresh prospects instead of re-serving people already converted. That single discipline drove most of the efficiency gain.

  • Three parallel intent streams per hospital — awareness, treatment intent, and upper-class
  • A continuous exclusion engine: converted leads removed from targeting in rolling batches
  • Budget kept on unconverted prospects, preventing the fatigue that quietly inflates cost per lead
  • A core driver of the 70% cost-per-lead drop and the 75% drop in cost per thousand impressions

3 Speak the patient’s language — and qualify before a human steps in.

Strategic reasoning

Language isn’t a translation step; it’s a conversion variable. We tested English against Bahasa Indonesia, and Bahasa won decisively — it became the primary creative language, with messaging written per specialty rather than a generic healthcare tone. On the capture side, a bilingual intake form on the WhatsApp coordination layer captured name, hospital, doctor, and appointment type before any agent intervened — cutting time-to-first-contact and pre-qualifying every lead.

  • English vs Bahasa tested head-to-head; Bahasa won and became the account’s primary language
  • Specialty-specific messaging for cardiology, oncology, neurology, and screening
  • An automated WhatsApp intake captured and pre-qualified every lead before a human stepped in
  • Winning angles graduated into the always-on set weekly; weak ones were dropped

One group, three patient mindsets, three different fears.

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) with a separate landing page, ad-set structure, and funnel custom-built per cell. The table below is the map, not the territory.

Patient groupFrictionIntervention
Health awarenessTop of funnel · not yet in treatment mode“Why travel abroad at all? Why this country, why this group?”Wellness and prevention messaging that educates on why Malaysia and this group specifically — warming health-conscious people for later retargeting rather than pushing a procedure too early.
Treatment intentActively seeking a specialist or procedure“Can they actually treat my condition? Can I trust them with it?”Bahasa-first, specialty-specific creative speaking directly to the condition — cardiology, oncology, neurology, screening — with reassurance on capability, routed into the WhatsApp intake.
Upper classUltra-premium brand · high-income“Is this the standard of care I expect? Will my insurance work?”Premium-positioned angle with a higher bar for trust signals and insurance-friendly messaging, built for a high-income segment with distinct media habits.

From scattered spend to a system that compounds.

Execution detail is generalized to protect the engagement playbook — the principle is shown, the verbatim build stays internal.

DimensionBeforeAfter
Campaign structureOne blanket Indonesia-wide campaignHospital-specific campaigns, mapped city by city to highest-yield catchments
Audience modelBroad targeting, no exclusionsThree intent streams per brand + a continuous exclusion engine
Creative languageEnglish-default, generic healthcare toneBahasa-first, specialty-specific messaging per condition
Lead captureUnstructured inquiries that stalledAutomated WhatsApp intake that pre-qualifies before a human steps in
EfficiencyHigh, drifting cost per leadCost per lead −70%, cost per thousand impressions −75%

From cold impression to pre-qualified inquiry.

The system mapped to the full journey from a first impression to a coordination-ready inquiry — with the intake engineered to pre-qualify the lead before a human ever stepped in. The last stage, the booked appointment, is where the next build goes (see the honesty note below).

Stage · what happens · channels
Aware
First brand impression
Meta Ads
Health-awareness stream
›
Consider
Researches care abroad
Specialty creative
Bahasa-first
›
Intent
Seeks a specialist
Treatment-intent stream
WhatsApp click
›
Capture
Pre-qualified inquiry
WhatsApp intake
Coordination team
›
Booked
Appointment (next build)
Attribution gap
FocusMedium
FocusHigh
FocusCritical
FocusCritical
FocusHigh

A repeatable path from impression to booked patient.

Performance improved every month as the architecture matured, creative was refined, and exclusions cut wasted spend. The shift wasn’t just more leads — it was a cheaper, repeatable system the group now owns.

−70%Cost per lead, launch → optimized
−75%Cost per 1,000 impressions
~5×Weekly lead volume, flat budget
15×Top specialty vs weakest
3-in-1Hospital brands, one engine
100%Leads pre-qualified at capture

The honest gap: we drove cost per lead down 70%, but we still can’t trace a single lead end-to-end to a booked patient — full-journey attribution from inquiry to appointment is the next piece of infrastructure to build, and until it ships the true cost-per-patient stays an estimate.

Four principles that earned their place.

01

Language is a conversion variable, not a translation step.

Bahasa Indonesia creative beat English decisively and became the primary language for the whole account — with copy written for local medical-travel considerations, not a globally generic tone. Audiences convert on communication that reflects their own context. Test language as a variable; don’t assume the default.

02

Exclusion matters as much as targeting.

Feeding every batch of converted leads back as an exclusion audience kept budget on fresh prospects and prevented fatigue — a core driver of the 70% cost-per-lead drop and the 75% drop in CPM. Most accounts obsess over who to target and ignore who to stop paying to reach.

03

Purchasing power predicts genuine intent.

High-income geography delivered stronger lead quality and conversion than broad or outer-island targeting, and at the specialty level the top segment out-produced the weakest by 15× on comparable budgets. Where you spend matters as much as how much — concentration beats breadth.

04

A multi-brand group needs many engines, not one blanket campaign.

Three hospitals meant three positionings, three catchments, three patients. Run as one, they outbid each other and waste spend; run as a mapped architecture, each brand reaches the cities that actually produce its patients — and one system scaled weekly volume ~5× without a matching rise in budget.

Ninety days in, the group no longer has a demand problem or a system problem — it owns a cross-border patient engine that gets cheaper as it scales.

The next milestone is full-journey attribution: tracing each pre-qualified inquiry through to a booked appointment, so cost-per-patient is measured, not estimated. That’s how the partnership works — we take ownership of the system that fills the funnel, the group owns the care that closes it, and we hand back a machine that compounds. The demand was always there. Now there’s an engine built to meet it.

Book a strategy call →
The pod

Who built it.

A six-person performance pod — strategy and account leadership, the data and exclusion-engine layer, Meta buying across three hospital brands, the capture engineering, and bilingual creative — sized to stand the system up and compound it inside a 90-day build.

Kevin
Growth Director

On Client: Strategic lead. Framed it as a system build, not a campaign — set the architecture-first, exclusion-driven approach and the weekly testing discipline that made each decision earn its place.

Phebe
Performance Strategist

On Client: Account direction and stakeholder alignment with the group’s coordination team — weekly performance syncs, lead-quality feedback loop, and the roadmap for full-journey attribution.

Albert
Growth Marketer

On Client: Built the continuous exclusion engine and the cost-per-lead tracking that proved the −70% trend — owned the read on which audiences and specialties were actually earning.

Jeremy
Google Ads Buyer

On Client: Ran the campaigns across three hospital brands and three intent streams — the city-mapped architecture, the bidding tests, and the consolidation toward the segments that converted.

Bagus
AI & Engineering

On Client: Built the capture layer — the automated bilingual WhatsApp intake that pre-qualified every lead and the plumbing feeding converted leads back into the exclusion engine.

Dikmas
Art Director

On Client: Owned the creative — the English-vs-Bahasa test that reset the account’s language, and the specialty-specific angles for cardiology, oncology, neurology, and screening.

More wins, with the numbers behind them.

See every case →
↗Leading Indonesian Event & Media Group

A first-time food expo with no audience and no proof. We filled the hall and booked the floor — a debut that delivered.

20,000+Ticket buyers acquired from zero first-party data
ThousandsB2B meetings booked across hundreds exhibitors
100%Buyer satisfaction (post-event & on-site interviews)
Read case →
DistributionIndonesiaScaleup
↗Rejaton
Predictable Pipeline · CAC Reduction

We turned Rejaton’s cheap-lead noise into a 55× pipeline engine — built per buyer, timed to the budget season.

90xPeak-month pipeline-ROAS
55×Quotation value ÷ spend, 6-month blend
22.2%Qualified-lead rate
Performance MarketingData & Analytics
Read case →
WellnessAPACStartup
↗Ikigai

We turned IKIGAI — Hong Kong’s premium yoga studios — from referral reliance into a full-funnel acquisition system: more volume, more qualified members.

10X+ROAS on the 14-Day intro offer
60X+ROAS on the teacher-training program
15%+Landing-page-to-purchase conversion lift
Performance MarketingPerformance Creative
Read case →
Let’s get started

See what’s hiding in your ad account.

Three specific spend leaks, named
One move you can ship next week
Your real CAC, traced honestly

“Most agency audits are templated — they ship the same 12 slides to every account. Ours don’t. Every teardown is custom-cut to your funnel, your spend, your category.”

Albert Lie
Co-Founder
★★★★★
Trusted by 200+ growth teams