TikTok Ads for helicopter tours in Bali: $22,281 ad spend, 11,721 leads at $1.90, ~$154,800 revenue, 595% ROMI
Updated:
$22,281
Ad spend
11,721
Leads
$154,800
Revenue
595%
ROMI
The task
The client runs helicopter tours in Bali: scenic flights over the island, transfers, charters for hotels and agents. Average order is about $470. The main paid channel is Meta Ads, running since 2024 with a steady flow of leads.
What hurt:
- One channel, one risk. All paid traffic came from Meta. Any ad account issue or auction spike hit sales directly.
- The Bali audience is tourists, and they are on TikTok. People decide what to do on the island once they are there, scrolling the feed. We needed a channel that catches a person in the moment and takes them straight into a conversation.
- The sales team lives in messengers. A lead is only worth something if it turns into a chat with a manager within the hour.
Task: build TikTok into a second sales channel with the same economics as Meta: leads into a conversation under $2 and ROMI above 300%.
What we did
- “TikTok Direct conversation” as the objective, not website leads. Since April 2025 most of the budget runs in campaigns where the result is a started chat on TikTok. The person stays on the platform and the manager gets a warm conversation instead of a phone number.
- Lead forms as a second track from December 2025. A separate campaign with instant forms and ad sets per language: Russian, English, Arabic, Korean, plus a “travellers in Bali” segment. A form lead is more expensive but comes with contact details and intent.
- WhatsApp click test. From April to September 2025 we sent traffic straight to WhatsApp. A click cost $0.13, but conversions in this setup were not tracked, and we folded it into Direct.
- Two ad accounts: a standard Indonesian one and an Australian one. The Australian account was opened in January 2026 for a hypothesis: an Australian in Bali stays on their home carrier’s roaming, so they can be reached through Bali geo plus Australian carrier targeting. We tried Bali geo plus a tiny uninhabited patch of Australia, Australia plus Bali geo at the same time, lead forms in 15 languages and a separate Direct campaign for Australians on the island.
- The Australian account was switched off in August 2026. $2,010 spent, 192 leads, 3 payments worth $1,146. None of the hypotheses produced a steady flow of Australians. The only cheap segment was the Indonesian form, 48 leads for $33, but those were locals, not tourists.
- Search and website only as tests. Search and website campaigns got $447 and did not beat Direct economics.
Results
| Campaign type | Ad spend | Result | Cost |
|---|---|---|---|
| TikTok Direct conversations | $13,648 | 10,503 conversations | $1.30 |
| Lead forms | $7,232 | 1,179 leads | $6.13 |
| WhatsApp clicks | $954 | 7,130 clicks | $0.13 |
| Search and website | $447 | 39 conversions | — |
| Total | $22,281 | 11,721 leads | $1.90 |
- 22.6M impressions, 90,200 clicks. The main account runs at $650–1,650 a month and has delivered 600–970 conversations a month since June 2025.
- Best ad set is the very first Direct one: 4,511 conversations at about $1.10 each.
Money (spend → payments → revenue):
| Ad spend | Payments | Revenue | ROMI | |
|---|---|---|---|---|
| 2026 (January–September), CRM actuals | $11,281 | 176 | $82,410 | 630% |
| 2025 (April–December), modelled | $11,001 | ~165 | ~$72,400 | ~558% |
| Total | $22,281 | ~341 | ~$154,800 | 595% |
- 2026 actuals come from the client’s CRM: leads with a TikTok source and the deal value on each. 4,672 leads → 176 payments (3.8%). Average order $468, median $386.
- 2025 is modelled from the ad account’s 2025 conversions (6,520 conversations and 130 forms) and 2026 revenue per conversion of the same type. WhatsApp clicks are excluded from the model: a lower-bound estimate.

Insights
- Direct and lead forms return the same revenue per dollar, in different ways. A conversation costs $1.30 and converts to a payment at 2.6%. A form costs $6.13 and converts at 7.8%. In 2026 both tracks brought about $41,000 each. Choosing between them is about manager workload, not money.
- TikTok did the “second channel” job. 595% ROMI at $1.90 per lead is the same level as Meta for this client. The channel has run for a year and a half without dips.
- The roaming hypothesis did not work. Carrier targeting and geo tricks produced no flow of Australians: $2,010 to test, account closed. The cheap way to test an idea is a separate low-budget account, not experiments in the main one.
- The first ad set is still the best. The simplest combo, “Direct + scenic flight”, has not been beaten in a year and a half: 4,511 conversations at $1.10.