Case Studies · Thailand

Real campaigns. Tracked results.

How I plan, launch and optimise paid media for hotel restaurants, beach clubs, restaurants and spas. Every number comes from a client report, the venue's own booking records or the ad platforms, and each case says which.

8 brands Meta · Google · TikTok Hotel restaurants · Beach clubs · Restaurants · Spas Every number sourced
Case 01 / 08
World Gourmet Festival 2026 · Anantara Siam Bangkok

$41,070 in online festival sales during a $6,610 Meta campaign: a 6.2× blended return

$6,610
Campaign Spend
$41,070
Online Sales
6.2×
Blended ROAS
208
Guests Booked Online

01 The Challenge

The World Gourmet Festival brought top international chefs to Anantara Siam Bangkok for six days and 13 ticketed food experiences, from afternoon tea to a 3-Michelin-star dinner. Guests could book seats online through TableCheck. The festival needed to build demand in Bangkok and across the region, then turn it into web bookings in the ten weeks before opening.

02 What I Did

  • Split the budget into four date-based phases: July awareness in Thailand, Singapore, Hong Kong and Kuala Lumpur; an August booking push; a September push with extra traffic ads; and a festival-week countdown.
  • Retargeted website visitors, social media engagers and the hotel's past restaurant guests, and used lookalike audiences to find new people similar to those guests.
  • Led with chef and food videos and chef-collaboration carousels, and gave Stories and Reels their own full-screen vertical ads so the artwork showed in full.
  • Optimised the main August–September campaign for booking starts on TableCheck, then rebuilt its ads to link straight to the booking page, removing a step for guests.
  • Matched TableCheck web sales to each phase by booking date, so the hotel could see which month brought the most online sales.

03 The Results

While the campaign ran (18 Jul – 4 Oct), 94 bookings for 208 guests were made online through TableCheck, worth $41,070 (THB 1,375,962). That is 6.2 times the $6,610 (THB 221,512) spent on my Meta campaigns. The figure counts every web booking made in that window, from any source, not only those Meta could trace to an ad.

  • August was the strongest month: 44 web bookings worth $24,420, or 13.2 times the $1,850 spent on my ads that month.
  • Ads were seen 4.7 million times and brought 32,415 link clicks and 22,673 landing-page visits, at $0.29 per visit.
  • The chef-collaboration dinner carousel brought the lowest-cost clicks of my festival campaigns: 5,078 link clicks at $0.04 each, with 2.21% of views turning into a click.
  • Six sessions were fully booked across all sales channels, including a 3-Michelin-star guest chef's dinner and all three afternoon teas.
Key learning

August, one to two months before the festival, brought the most online bookings and sales. For premium events, I now plan the main booking push for that window and lead with video: four videos drove 46 of the 74 booking starts Meta credited to ads.

Spend = my six Meta campaigns, 18 Jul–4 Oct 2026 (the hotel's own festival ads are not included). Sales = all TableCheck web bookings in that window, from any source. USD at THB 33.5, rounded down.

Plan a campaign like this↑ All case studies

Case 02 / 08
Iris & Wild Iris · SO/ Bangkok

34 bookings tracked straight from ads in three months for a Bangkok rooftop

$1,790
Avg ad spend per month
34
Ad bookings (SevenRooms)
1.6M
Impressions per month
18
Tracked ad bookings, July

01 The Challenge

Iris & Wild Iris is a two-in-one rooftop on the 29th and 30th floors of SO/ Bangkok, above Lumphini Park. Iris serves Sicilian-inspired dining and sunset drinks; Wild Iris brings cocktails and music after dark. The venue already had strong awareness, and the goal was to turn it into booked tables and show clearly which bookings came from ads.

02 What I Did

  • Sent the Meta and Google booking ads to a tracked SevenRooms booking link, so reservations made through an ad are counted and split by channel.
  • Built Meta in stages: reach ads to find new diners in Bangkok, then booking ads for people who had engaged with the venue on Instagram or visited its website, leaving out past bookers.
  • Gave each event and weekly ritual its own booking campaign (Wine Dinner, Cheese Night, a guest-chef dinner, Aperitivo Hour, Martini Table) with story-led video and carousel ads.
  • Found new diners with Meta lookalike audiences: people similar to those who engaged with the venue's Instagram or visited its website.
  • Managed Google Search on the venue's name and searches like 'rooftop bar Bangkok' and 'Italian restaurant near me', plus Performance Max, Google's automated campaign type.

03 The Results

From June to August, 34 reservations came straight through the ads' tracked SevenRooms link: 19 from Meta and 15 from Google. July was the strongest month, with 18. Both July event nights, a Wine Dinner and a Cheese Night, also sold out (counting bookings from every channel, not only ads). Guests who saw an ad but then called, walked in or booked another way are not in these counts.

  • 34 bookings tracked to ads in SevenRooms, Jun–Aug: 19 from Meta, 15 from Google.
  • July: 18 tracked bookings, up from 7 in June.
  • Wine Dinner, July's strongest booking campaign: Meta's own reporting credits it with 8 reservations (a separate count from SevenRooms).
  • 1–9 September: 11 tracked bookings, already more than all of August (9).
Key learning

Sell the occasion, not just the venue: a named, dated event with a specific dish or wine gives people a reason to book this week, with no discount needed. Bookings follow the event calendar, so I plan each month's campaigns around it.

Jun–Aug 2026; Sep = 1–9 Sep. Bookings = SevenRooms reservations made via the ads' tracking link (Meta + Google). Spend = platform actuals. USD at THB 33.5, rounded down.

Plan a campaign like this↑ All case studies

Case 03 / 08
Thai Thai · Pullman Phuket Karon

620K people in Phuket reached for $990 in a new restaurant's first 47 days

$990
Launch Spend
620K
People Reached
10K
Link Clicks
$0.52
Cost per 1,000 impressions

01 The Challenge

Thai Thai, a contemporary Thai restaurant inside Pullman Phuket Karon, opened on 15 July 2026 with no established online audience. It needed to become known quickly in a busy holiday area, among residents and visitors alike. The launch ads had to build awareness and send people to its new Instagram account and website.

02 What I Did

  • Launched Meta ads the day after opening, aimed at people living in or visiting Karon and wider Phuket, mostly those interested in Thai food, restaurants and travel.
  • Put the brand video behind a reach campaign, so the new restaurant was seen by as many people as possible at a low cost.
  • Sent people to the new Instagram profile with carousels and videos on Thailand's regional food, leaving out existing followers so the budget reached new people.
  • Promoted timely offers, such as a Sunset Pairing, a set menu and a Mother's Day special, to bring people to the restaurant's website.

03 The Results

In the first 47 days after opening, the ads reached more than 620,000 people in Phuket and were seen almost 1.9 million times, for $990 (THB 33,301). That is $0.52 (THB 17.65) per 1,000 impressions. The ads brought more than 10,000 link clicks, and many of them led to more than 6,400 visits to the new Instagram profile, at under $0.06 each.

  • The brand video alone reached 368,792 people at $0.24 per 1,000 impressions, the lowest of any ad.
  • The best carousel drew about six times more clicks per view than the brand video (2.05% vs 0.32%).
  • The Sunset Pairing offer sent more people to the restaurant's website than any other ad (430 website visits).
  • Link clicks from people aged 18–24 cost under $0.06 (THB 1.97) each, compared with just under $0.10 (THB 3.33) across all ages.
Key learning

A brand video on a reach campaign is the cheapest way to make a new restaurant known, while carousels and clear offers on campaigns built for clicks bring the visits. I now launch both together from day one.

Meta Ads Manager, 16 Jul–31 Aug 2026 (first 47 days after opening). Paid ads only. USD at THB 33.5, rounded down.

Plan a campaign like this↑ All case studies

Case 04 / 08
Fira Beach Club · Kata, Phuket

Reservations up 119% year on year at a Phuket beach club, across all channels

$2,860
Avg ad spend per month
+119%
All-channel reservations vs 2025
2.2M+
Unique people reached (Meta)
+21.5%
Advance bookings vs 2025

01 The Challenge

Fira is a hilltop beach club in Kata, Phuket, with a lot to sell at once: day beds, weekly pool and sunset parties, a steakhouse, a sky bar and big event days. The goal was to keep guests coming from the end of high season through the May–October low season, when fewer tourists are on the island.

02 What I Did

  • Gave each reason to visit its own campaign stream: always-on lifestyle, weekly pool and sunset parties, day beds, the steakhouse and sky bar, and one-off events.
  • Set booking campaigns to optimise for online reservations, and reached new people through lookalike audiences: people similar to the club's past guests and ticket buyers.
  • For the Songkran water festival I ran ticket campaigns on Meta and TikTok. In the final days I paused other campaigns so spend focused on the festival.
  • In low season I targeted people living in or visiting Phuket, often within 20 km of the club, with weekly offers like day beds and a Friday wagyu night.
  • When the club opened its Recovery Club (sauna and ice bath), I launched it in three steps: awareness, visits to its page, then ads that open a WhatsApp chat.

03 The Results

From March to August 2026, Fira recorded 8,245 reservations across all channels, up 119% on the same months of 2025, its first year of operation. Walk-ins made up about 89% of that increase, and advance bookings grew 21.5%. In the same six months, my Meta campaigns reached at least 2.2 million unique people.

  • 8,245 reservations in Mar–Aug 2026 vs 3,764 a year earlier (+119%), counted across all channels.
  • Walk-ins: 5,479 vs 1,487, about 89% of the increase. Advance bookings: 2,766 vs 2,277 (+21.5%).
  • At least 2.2 million unique people reached by my Meta campaigns, March–August 2026.
  • Songkran water festival: 173 tickets sold in total; my Meta ads for it drew 4,190 link clicks.
Key learning

Give each reason to visit its own campaign, so budget can move fast when a moment like Songkran arrives. Then judge results in the venue's own booking system, with walk-ins kept separate.

Mar–Aug 2026 vs 2025. Reservations = club's own all-channel count, walk-ins included. Spend: my Meta + TikTok campaigns. Reach: Meta. USD at THB 33.5, rounded down.

Plan a campaign like this↑ All case studies

Case 05 / 08
Madison Steak Avenue · Anantara Siam Bangkok

1.4M ad impressions a month for a Bangkok steakhouse, with cost per 1,000 cut 82% from March to August

$1,360
Avg ad spend per month
223
Guests booked (client data)
1.4M
Impressions per month
−82%
Cost per 1,000 impressions

01 The Challenge

Madison Steak Avenue is a New York-style steakhouse inside Anantara Siam Bangkok, in a city full of well-known international steakhouse brands. The goal was to keep Madison in front of the right diners every month on a steady budget, and to give them a clear reason to book.

02 What I Did

  • Built two layers: booking ads (for diners near the hotel, plus a separate ad set for past guests, site visitors and video viewers) and low-cost awareness ads for new diners only.
  • Targeted central Bangkok areas around the hotel, such as Siam, Sukhumvit and Thonglor, and people interested in steak, wine, luxury and international travel.
  • From August, added the hotel's restaurant guest lists and lookalike audiences built from them, so Meta could find people similar to real diners.
  • Led the booking ads with signature dishes: the Rossini Flambé (back for a limited season), Lobster Thermidor (the top-spending ad) and the new XL Pork Chop.
  • Wrote a creative brief for occasion-led ads (business lunches, client dinners) and reviewed rival steakhouses' ads every month in Meta's public Ad Library.

03 The Results

Over six months, the ads were shown 8.8 million times, about 1.4 million times a month. After I added low-cost awareness ads next to the booking ads (video views from April, reach from May), the average cost of 1,000 impressions fell 82%, from $3.38 in March to $0.58 in August. In the same months, the restaurant's own TableCheck and LINE records show 223 guests booked; this counts everyone who booked through those channels, not only people who saw an ad.

  • 8.8M impressions in six months, about 1.4M a month, on $1,360 a month.
  • Cost per 1,000 impressions down 82%: $3.38 in March, $0.58 in August.
  • March: the Rossini Flambé video got about 3x the click rate of menu carousels shown to the same audience (1.42% vs 0.42–0.45%).
  • 223 guests booked via TableCheck + LINE, Mar–Aug (restaurant's own records, all sources).
Key learning

Reach and booking ads do different jobs: low-cost awareness ads keep the venue in view, while booking ads need a sharp reason to act. With new audiences, one signature dish shown in action, for a limited time, earned about 3x the click rate of a general menu carousel.

Mar–Aug 2026. Guests = people booked via TableCheck + LINE in the restaurant's own records, from all sources, not only ads. Ad data: Meta. USD at THB 33.5, rounded down.

Plan a campaign like this↑ All case studies

Case 06 / 08
Xian Yuan · Central Park, Silom, Bangkok

936K people reached in one month for a modern Cantonese restaurant in Bangkok

$2,280
Ad spend in August
522
All-channel reservations + enquiries
936K
People reached on Meta
8,856
Link clicks from Meta ads

01 The Challenge

Xian Yuan is a modern Cantonese restaurant in Bangkok with many offers live at once: weekday lunch sets, dim sum menus, private dining, Mother's Day dining and Mid-Autumn mooncake gift boxes. Each offer needed a different result. Some had to be seen by many people, and others had to bring website visits or online orders.

02 What I Did

  • On 4 August I rebuilt the Meta account around four campaigns, one per goal: Awareness, Engagement, Traffic and Conversion. Together they carried all of August's Meta spend.
  • Matched each offer to the right campaign: Mother's Day dine-in and weekday lunch for reach, mooncake boxes for website visits, dim sum sets and private dining for online orders.
  • Aimed awareness and engagement ads at English- and Chinese-speaking adults within 12 km of the restaurant who are interested in Chinese food, Chinese culture or dining out.
  • Judged each campaign on its own job: cost per 1,000 people reached for awareness, cost per page visit for traffic. That way, an awareness campaign is not judged as weak just because it gets few clicks.
  • On Google, I ran a brand search campaign for people searching the restaurant's name, plus Performance Max (one automated campaign across Search, Maps, YouTube and more) for local visits.

03 The Results

In August my Meta campaigns reached 936,818 people and drew 8,856 link clicks on $1,450 of Meta spend. The awareness campaign alone reached 710,763 people at $0.41 per 1,000 people reached. Across all channels, the restaurant's own count of reservations and enquiries went from 501 in July to 522 in August.

  • 936,818 people reached on Meta in August 2026, with 8,856 link clicks.
  • Awareness campaign: 710,763 people reached for $296, about $0.41 per 1,000 people.
  • Traffic campaign: 4,424 landing-page visits (clicks that fully loaded the restaurant's website) for $247.
  • 522 reservations and enquiries in August, up from 501 in July (the restaurant's own count, all channels).
Key learning

Give every campaign one job and judge it on that job. Awareness ads look weak on clicks, yet they were the lowest-cost way to keep the restaurant in front of Bangkok diners.

Aug 2026. Spend: Meta + Google Ads. Reach and clicks: Meta. 522 = restaurant's own count of reservations + enquiries, all channels. USD at THB 33.5, rounded down.

Plan a campaign like this↑ All case studies

Case 07 / 08
Hug Samui · Bang Por Beach, Koh Samui

122 chats, calls and direction requests in six weeks, with Meta chat costs down 55%

122
chats, calls & directions
55%
lower cost per Meta chat
134,696
reached by a $76 campaign
$5
average cost per action

01 The Challenge

Hug Samui is a well-loved beachfront restaurant and bar on Bang Por Beach, on Koh Samui's quiet north coast. On Google, about 4,300 restaurant searches a month name Chaweng or Lamai, but only about 70 name Bang Por or nearby Mae Nam. The restaurant needed to give guests a reason to drive 20–30 minutes from the busy beaches.

02 What I Did

  • Focused the ads on direct actions: I built Meta ads that open a chat (WhatsApp, Messenger or Instagram) and planned Google ads around calls and direction requests from Google Maps.
  • Wrote ads around the venue's real moments. The beach fire show became a reason to book dinner: 'The fire starts at 8. Dinner should start earlier.'
  • After two weeks, I rebuilt the Meta campaign: the whole island as the audience, Meta's AI audience switched on, adults 20+ for Thai alcohol-ad law, and fewer, stronger posts.
  • In mid-September, I aimed the chat ads at food lovers on the island who speak English, Russian, Chinese, Korean, Japanese or Portuguese and who travel often or like luxury. I also added fresh food posts.
  • Ran a low-cost awareness campaign of fire-show and sunset posts to the whole island, capped at two views per person a week, to keep the restaurant top of mind.

03 The Results

In six weeks, about $650 of ads brought 122 direct actions: 31 chats from Meta ads and 91 calls and direction requests from Google ads. That is about $5 per action. After the rebuild, each Meta chat cost 55% less than before, and a $76 awareness campaign reached 134,696 people.

  • 122 chats, calls and direction requests from ads in six weeks, at about $5 each across all ad spend.
  • Each Meta chat cost 55% less after the rebuild (from $21.60 to $9.65), with more than twice as many chats for almost the same spend.
  • A $76 awareness campaign reached 134,696 people, with no more than two views per person a week.
Key learning

On a small island, start wide, then sharpen. Once the ads covered the whole island, each chat got cheaper, and the cost fell again after I added a visitor focus and fresh posts.

Final client report (14 Aug–23 Sep 2026) and Meta Ads Manager. Chats = conversations started from ads. USD at THB 33.5, rounded down.

Plan a campaign like this↑ All case studies

Case 08 / 08
ARNA Oceanic Wellness Spa · Chaweng Beach, Koh Samui

108 chats, calls and direction requests in the first month of ads for a new Koh Samui spa

47
chat enquiries from Meta ads
61
Google calls & directions
272,629
people reached on Meta
+541
IG followers (all sources)

01 The Challenge

ARNA is a new hydrotherapy and massage spa inside a beachfront resort on Chaweng Beach, Koh Samui. When I joined, nine days after its first ads went live, the two-month-old spa had no reviews on its booking page and 312 Instagram followers. Its prices are premium, and budget massage shops are a short walk away.

02 What I Did

  • Researched the market first: Chaweng spa prices, the visitor mix (over half from Europe) and Google search demand, like 'massage koh samui' at about 2,900 searches a month.
  • Wrote the media plan around direct enquiries: WhatsApp chat as the main way to enquire from Meta ads, and Google ads for people already searching for a spa.
  • On my first day, I moved the awareness ads to a 20 km circle around the resort and lowered two awareness budgets to keep spend focused on enquiries.
  • Chose the Google keywords and wrote the ad copy: clear prices, 'book online, pay at the spa', and no 'best' claims while the spa had no reviews yet.

03 The Results

In the first month of ads (20 Jul – 20 Aug 2026), about $620 of ads brought 47 chat enquiries from Meta ads and 61 calls and direction requests from Google ads. Meta ads reached 272,629 people, and the spa's Instagram gained 541 followers (all sources, including organic).

  • 108 direct actions: 47 chat enquiries from Meta ads plus 61 calls and direction requests from Google ads.
  • 1,336 visits to the spa's Instagram profile from ads, and 252 follows straight from ads.
  • In the chat ads, three short videos of the spa brought 12 chats at about $3 each.
Key learning

For a brand-new spa, a chat is the easiest first step: people can ask questions before they book. In the chat ads, short videos of the spa itself brought chats at a much lower cost than a holiday promo.

Client report (20 Jul–20 Aug 2026) and Meta Ads Manager. Includes 9 days before I joined. Followers include organic. USD at THB 33.5, rounded down.

Plan a campaign like this↑ All case studies

Let's talk results.

Tell me about your venue and the monthly ad budget you have in mind. WhatsApp is the fastest way to reach me, on Bangkok time (GMT+7). Agencies: I also work white-label under your brand.

Message me on WhatsApp