Case study Β· GrabFood Β· Ubud, Bali, Indonesia
Zaytun Ubud: Revenue x2.6 β on an already-running restaurant
February β July 2026 (January = the "before" baseline)
x2.6
revenue
x2.1
orders
x62
GoJek ads payback
The situation before we started
No zero base here: before us the restaurant already made Rp 166.6M a month, ads were running, the menu had been partially optimized β incorrectly. The first month's key find: GoJek ads were losing money β ROAS 0.25x; Rp 3.1M spent, Rp 763K returned, minus Rp 2.3M in one month. Nobody was tracking it. We didn't launch β we rebuilt: revenue x2.6 in 5 months.
- GoJek ads losing money: ROAS 0.25x β every rupiah spent returned 25 cents, and nobody noticed
- The menu had been "optimized" before us β no keywords, category structure ignored demand, add-ons didn't lift the check
- Rating 4.67 β below the 4.8 threshold where the algorithm serves impressions more generously; GoJek down at 4.6
- Through-conversion 1.1% β above fleet average but half the best result: far from its ceiling
- Easy growth levers already spent β every next percent had to come from conversion, menu and traffic quality
What we did β a 4-track strategy
Ads rebuild
- Ads were already running β we took them under management: manual CPO instead of auto-bidding
- GoFood campaigns rebuilt from scratch: ROAS 0.25x β 15.52x β payback x62 on nearly the same budget
- GrabAds: ROAS 14.02x β 21.19x β budget doubled, ads revenue tripled
- Blended ROAS 10.2x β 20.1x; July GrabAds CTR 7.2%
SEO & keywords
- Ubud + category keyword map
- Keywords in dish names and descriptions
- Menu category structure rebuild
- Reach x1.84, reach β menu conversion 8.5% β 10.0%
Menu & pricing fix
- Audit of the previous "optimization", rebuilt around real Ubud demand
- New items, combos and add-ons that lift the average check
- Pricing and photos by our playbook
- Result: average check +24.5% with no loss of order volume
Rating & operations
- Daily monitoring on both platforms, a response process for every negative review
- Team training on operational metrics, offline-rate and stock-out control
- Fewer cancellations and delays β higher rating and cheaper ads
- Rating 4.67 β 4.8 while orders doubled
Key results
x2.6
revenue growth
Rp 166.6M β 440.1M/mo
x2.1
order volume
603 β 1,279 a month
+24.5%
average check
Rp 276,311 β 344,124
x62
GoJek ads payback
ROAS 0.25x β 15.52x
21.2x
GrabAds ROAS
was 14.02x
4.8
rating
was 4.67
| Metric | Before | After |
|---|---|---|
| Monthly revenue | Rp 166 615 600 | Rp 440 134 400 |
| Monthly orders | 603 | 1 279 |
| Average check | Rp 276 311 | Rp 344 124 |
| GoFood ads ROAS | 0.25x (Π² ΡΠ±ΡΡΠΎΠΊ) | 15.52x |
| GrabAds ROAS | 14.02x | 21.19x |
| Ads-attributed revenue (both platforms) | Rp 116,8 ΠΌΠ»Π½ | Rp 395,2 ΠΌΠ»Π½ |
| Through-conversion (reach β order) | 1.1% | 1.4% |
| Rating | 4.67 | 4.8 |
The GrabFood data


Real client data from GrabMerchant.
Want the same growth for your restaurant?
We did it for Zaytun Ubud. We'll do it for you β free profile audit within 24 hours.
Book a free audit