LAB LIVE
SCANNING415 CAMPAIGNS
ANOMALIES12 FLAGGED
AVG LIFT+4.35× ROAS
Back to cases
SL-MR-271REV.ACLASSIFIED · CLIENT-VIEW
HOSPITALITY · UBUD, BALI

Mill Restaurant

Full-day restaurant · Google Search Ads · Target CPA

Restaurant / Local
[00]DIAGNOSIS
New account from zero. $15–20/day budget. High competition in Ubud's crowded hospitality market. Core risk: wrong conversion goal at launch trains the algorithm on the wrong population from day one — and the error compounds as the algorithm optimizes deeper into the wrong audience.
CPA reduction
−90%
March → May 2026
Peak conversions
468
April 2026
Current CPA
$1.13
May 2026 (18.7K IDR)
Campaigns
4
Dinner · Breakfast · Lunch · Bar
Ad groups
21
niche meal segments
Negative keywords
1,991
budget protection
[01]SITUATION

Mill Restaurant is a full-day dining destination in the heart of Ubud, Bali — European and Asian cuisine, more than 130 menu items spanning breakfast, burgers, pizza, cocktails, and vegan options. Primary audience: tourists and expats actively searching for dining options via Google.

Campaign launched in mid-March 2026 from a blank account with no historical data. Budget: $15–20/day. The setup decision that mattered most was not keyword selection or bidding strategy — it was which conversion actions to track and which to set as primary. Get that wrong, and Target CPA optimizes toward the wrong user for months.

[02]ACCOUNT STRUCTURE

4 campaigns segmented by meal service and time-of-day intent. 21 narrowly-targeted ad groups within them, each covering a specific query cluster (brunch near me, vegan lunch, cocktail bar Ubud). 3,286 phrase-match keywords.

DINNER CAMPAIGN
7 ad groups

Dinner · Bar · Cocktails · Lunch · Burgers · Pizza · Vegan

BREAKFAST CAMPAIGN
7 ad groups

Breakfast · Near Me · Brunch · Healthy · Coffee · Burgers · Vegan

LUNCH CAMPAIGN
4 ad groups

Healthy Lunch · Bowls & Salads · Pizza · Near Me

BAR & COCKTAILS CAMPAIGN
3 ad groups

Bar · Cocktails · Drinks in Ubud

Budget: 200K IDR/day (~$12) · All campaigns: phrase match · Primary KPI: local actions (Directions + Engagements)
[03]NEGATIVE KEYWORD SYSTEM — 1,991 TERMS

Ubud has significant Indonesian-language local traffic with no tourist purchasing power. Without aggressive filtering, the algorithm trains on this audience and optimizes away from the actual target. 7 negative categories applied across 3 campaigns and account-level lists.

Ubud competitor restaurants by name

Non-tourist geo (Denpasar, Kuta, Seminyak)

Delivery aggregators (Gojek, Grab Food, Tokopedia)

Indonesian queries without Ubud geo signal

HR / job listings in hospitality

Fast food chains (KFC, McDonald's)

Budget signals: cheap, promo, voucher

[04]CONVERSION ARCHITECTURE — 6 TYPES

All tracked conversions represent real guest actions through Google Business Profile or the website — not proxy engagement events. Combined, they give the algorithm richer signal than any single conversion type alone.

817
Directions

Route to restaurant via Google Maps

5,938
Engagements

Google Business Profile interactions

452
Menu views

Menu viewed through Google

121
Website visits

Clicks to millresto.com

28
Orders

Order initiated through Google

13
Calls

Phone clicks from ad

[05]RESULTS — TARGET CPA TRAJECTORY

Target CPA requires a minimum of ~50 conversions to exit the learning phase. March built the signal. April delivered the payoff.

March 202620 conversions$11.80 CPA

Algorithm learning phase

April 2026468 conversions$1.63 CPA

Algorithm breakout — ×23 growth

May 2026 (partial)450+ est. conversions$1.13 CPA

CPA continues to drop

×23
conversion growth March → April
−90%
CPA reduction over 2 months
4.0%
stable CTR across all campaigns
[06]KEY INSIGHTS
01Target CPA requires a learning phase — it's not slow, it's accumulating signal

March delivered 20 conversions at $11.80 CPA. That looks bad. But Target CPA needs a minimum of ~50 conversions before it can exit the learning phase and reliably predict user behavior. March built that signal. April was the payoff: the algorithm already knew which users, devices, times, and queries convert — and it delivered 468 conversions at $1.63. The learning phase isn't a problem. Abandoning it is.

021,991 negative keywords is not pedantry — it's why CTR stays high

Ubud has significant Indonesian local traffic: 'tempat makan', 'makan near me', 'gado gado near me'. These users have no tourist purchasing power for a full-service European restaurant. Without aggressive negative keyword filtering across 7 categories (competitors, geos, aggregators, Indonesian queries, HR, fast food, budget signals), the algorithm would have trained on this traffic and optimized toward the wrong audience.

036 conversion types give a complete picture of guest intent — not just one proxy

Tracking only 'directions' understates actual conversion volume. A user who views the menu on Google, visits the website, and then shows up is partially captured by each of 6 distinct conversion types. This multi-signal approach gives the bidding algorithm richer training data — and gives the client a complete picture of what the campaign is actually producing at each stage of intent.

0421 narrowly-segmented ad groups outperform broad campaigns on a limited budget

At $15–20/day, precision matters more than reach. Each ad group targets a specific meal segment (brunch near me, vegan lunch Ubud, bar cocktails Ubud) with tailored copy. A broad 'restaurant Ubud' campaign would win impressions but lose conversion rate. Narrow groups mean the ad copy matches the search intent exactly — which is why CTR stays above 4% across all campaigns.

[07]OUTCOME

Full Google Search account built from zero in March 2026. Target CPA completed its learning phase and delivered a ×23 conversion increase in April — 468 conversions at $1.63 CPA. By May, CPA had dropped further to $1.13 with the trajectory continuing downward. 1,991 negative keywords protect budget from non-tourist local traffic. 6 conversion types give the algorithm a complete picture of guest intent at every stage.

Launch: Google Search · 4 campaigns · 21 ad groups · 3,286 phrase-match keywords
Negative protection: 1,991 terms · 7 categories · Indonesian + competitor traffic
Result: −90% CPA · $1.13 current · 468 conv/month peak

Client name is real. Report ID is internal. Monthly data reflects actual account figures. CPA figures in USD at campaign-period exchange rates. Results vary by season and competition.