Strategy experiences
Two interactive, evidence-labelled experiences for the HMA marketing team. Below them is the full strategy document.
Growth strategy for multi-location restaurants
Audit and proposal for the HMA / Mozza marketing team and management — private, concept demo
1Executive summary
What we found
A strong brand with reputation across four branches, and large search demand around every location that is not yet connected to it.
Why it matters financially
Every guest who searches for a mall or an Italian restaurant and books elsewhere is revenue that does not yet reach the branch — and the branch cannot see it today.
What we propose
A small, measurable pilot (one branch against a control branch) that turns demand into reservations by branch.
Mozza has what is hardest to build: a recognised brand, strong guest ratings and prominent locations. Around each of those locations there is search demand — by mall, by area, by cuisine, in English and Thai — that is largely captured by others today. The opportunity is to connect that demand to the right branch, in the right language, at the right time, and to measure reservations by branch. We propose to start with a limited pilot and let the numbers decide what comes next. This is a specialist layer that complements your team: your team keeps the brand; we add the acquisition system.
Strong brand and reputation
Google ratings 4.5–4.9 and 6,000+ reviews across four branches, plus awards.
Source: Google Maps, snapshot Oct 2026 (varies by time).
Demand not yet captured
Significant non-brand and mall-level search demand around every branch, largely captured by others today.
Source: Google Keyword Planner (ranges), see section 4.
A small, measurable pilot
Connect demand to the right branch, language and time — and measure reservations by branch.
See sections 17–18.
2What this means financially
What we found
The value of a pilot can be read with four inputs: average spend, guests per table, extra tables per week and media budget.
Why it matters financially
It shows, before any commitment, how few extra tables are needed for the media budget to pay for itself.
What we propose
Use the calculator with your numbers; the pilot then replaces the example values with measured ones.
Example values — replace with your data
Return calculator
- Additional monthly revenue
- 86,667 THB
- Additional monthly gross profit
- 56,333 THB
- Media cost
- 20,000 THB
- Profit after media
- 36,333 THB
- Cost per additional table
- 462 THB
- Estimated yearly value of a new guest through HMA Privilege (gross profit)
- 2,080 THB
- New Privilege members per month
- 22
Runs in your browser only. Nothing is stored or sent.
3What already works
What we found
Ratings of 4.5–4.9 across four branches (6,041 reviews in total), awards, a loyalty programme and a consistent Google Maps naming.
Why it matters financially
Reputation is the asset that makes paid and organic visibility convert: guests who find Mozza are likely to book.
What we propose
Build on it: make this reputation visible and bookable at the exact moment of decision.
| Branch | Rating | Reviews | Price shown |
|---|---|---|---|
| EmQuartier | 4.5 | 2,066 | ฿400–1,600 |
| ICONSIAM | 4.8 | 953 | — |
| Siam Paragon | 4.7 | 1,545 | ฿600–1,600 |
| Central Park | 4.9 | 1,477 | ฿400–1,600 |
Source: Google Maps, snapshot Oct 2026 (varies by time).
- Awards shown on the Mozza homepage: Gambero Rosso, Lifestyle Asia Best Bites, Tripadvisor 2022–2024.
- HMA Privilege loyalty programme.
- Existing SEO titles on the homepage and branch pages.
- Active blog content.
- Consistent Google Maps naming: “Mozza – Trattoria Italiana (Branch)”.
Technical detail
Rating and review counts are a Google Maps snapshot (Oct 2026) and move over time. Award years differ between public sources (homepage: Tripadvisor 2022–2024; printed menu cover: Travellers' Choice 2023–2025) — a small consistency point to align, not a concern.
4Search demand around Mozza (Google Keyword Planner, Bangkok)
What we found
Brand demand is healthy, and non-brand and mall-level demand around every branch is larger.
Why it matters financially
Brand searches are guests you already won. Mall and cuisine searches are guests still choosing where to eat — the demand that grows revenue.
What we propose
Match each demand cluster to its page (branch, menu, category) in English and Thai.
Keyword Planner settings: Bangkok · all languages · Google Search · Oct 2025 – Sep 2026. Volumes are ranges and are never added together.
4.1 Brand demand
| Keyword | Language | Monthly searches (range) | Competition | Top-of-page bid, EUR (≈ THB) | Intent | Target page (proposed) |
|---|---|---|---|---|---|---|
| mozza | EN | 1K–10K | Medium | €0.22–1.32 (≈ ฿8–50) | Brand | / |
| mozza by cocotte | EN | 1K–10K | Low | €0.19–0.46 (≈ ฿7–17) | Brand | / |
| mozza by cocotte siam paragon | EN | 1K–10K | Low | €0.04–0.26 (≈ ฿2–10) | Brand | /locations/siam-paragon/ |
| mozza by cocotte iconsiam | EN | 1K–10K | Low | €0.08–0.60 (≈ ฿3–23) | Brand | /locations/iconsiam/ |
| mozza by cocotte emquartier | EN | 1K–10K | Low | €0.06–0.30 (≈ ฿2–11) | Brand | /locations/emquartier/ |
| mozza emquartier | EN | 100–1K | Low | €0.13–0.80 (≈ ฿5–30) | Brand | /locations/emquartier/ |
| mozza iconsiam | EN | 100–1K | Low | — | Brand | /locations/iconsiam/ |
| mozza central park | EN | 100–1K | Low | — | Brand | /locations/central-park/ |
| mozza bangkok | EN | 100–1K / 10–100 | Medium | €0.28–1.01 (≈ ฿11–38) | Brand | / |
| mozza menu | EN | 10–100 / 100–1K | Low | €0.30–1.78 (≈ ฿11–68) | Brand | /menu/ |
| parma by mozza | EN | 100–1K | Low | — | Brand | / |
Source: Google Keyword Planner — Bangkok, all languages, Google Search, Oct 2025 – Sep 2026. Volumes are ranges, never summed. Competition = advertiser competition (not SEO difficulty). Bids = historical top-of-page estimates, not guaranteed CPC; ≈ THB at 1 EUR ≈ 38 (rate to verify).
Brand demand — volume bands
Highlighted band = Keyword Planner range (not an exact value)
Source: Google Keyword Planner — Bangkok, all languages, Google Search, Oct 2025 – Sep 2026. Volumes are ranges, never summed. Competition = advertiser competition (not SEO difficulty). Bids = historical top-of-page estimates, not guaranteed CPC; ≈ THB at 1 EUR ≈ 38 (rate to verify).
Note: two exports differ for some terms (e.g. “mozza bangkok”: 100–1K in one export, 10–100 in a later one; “mozza menu”: 10–100 or 100–1K). Both are shown — the exports have different dates (see section 21). “parma by mozza”: 100–1K, +900% year on year.
4.2 Brand demand across the HMA portfolio (group-level value)
| Keyword | Monthly searches (range) | Top-of-page bid, EUR (≈ THB) |
|---|---|---|
| cocotte | 1K–10K | €0.14–0.53 (≈ ฿5–20) |
| cocotte farm roast & winery | 1K–10K | €0.07–0.27 (≈ ฿3–10) |
| victoria by cocotte emquartier | 1K–10K | €0.10–0.37 (≈ ฿4–14) |
| victoria by cocotte central world | 1K–10K | €0.12–0.51 (≈ ฿5–19) |
| the kitchen patong | 1K–10K | €0.19–0.61 (≈ ฿7–23) |
| taste bistro & grill | 1K–10K | €0.20–0.61 (≈ ฿8–23) |
| summer seaside restaurant | 1K–10K | €0.22–0.63 (≈ ฿8–24) |
| parma by mozza bangtao | 1K–10K | — |
| mojo patong | 1K–10K | €0.21–0.56 (≈ ฿8–21) |
Source: Google Keyword Planner — Bangkok, all languages, Google Search, Oct 2025 – Sep 2026. Volumes are ranges, never summed. Competition = advertiser competition (not SEO difficulty). Bids = historical top-of-page estimates, not guaranteed CPC; ≈ THB at 1 EUR ≈ 38 (rate to verify).
4.3 Non-brand demand — English
| Keyword | Language | Monthly searches (range) | Competition | Top-of-page bid, EUR (≈ THB) | Intent | Target page (proposed) |
|---|---|---|---|---|---|---|
| italian restaurant near me | EN | 10K–100K | Medium | €0.23–0.58 (≈ ฿9–22) | Italian / generic | /locations/ |
| pizza near me | EN | 10K–100K | Medium | €0.17–1.03 (≈ ฿6–39) | Pizza | /neapolitan-pizza-bangkok/ |
| italian restaurant bangkok | EN | 1K–10K | Medium | €0.24–0.74 (≈ ฿9–28) | Italian / generic | / |
| best italian restaurant bangkok | EN | 1K–10K | High | €0.24–0.79 (≈ ฿9–30) | Italian / generic | / |
| best pizza bangkok | EN | 1K–10K | Medium | €0.23–0.87 (≈ ฿9–33) | Pizza | /neapolitan-pizza-bangkok/ |
| pizza bangkok | EN | 100–1K | Medium | €0.29–1.52 (≈ ฿11–58) | Pizza | /neapolitan-pizza-bangkok/ |
| pasta bangkok | EN | 100–1K | Medium | €0.19–0.66 (≈ ฿7–25) | Pasta | /pasta-bangkok/ |
| best pasta bangkok | EN | 100–1K | High | €0.25–0.63 (≈ ฿10–24) | Pasta | /pasta-bangkok/ |
| italian food near me | EN | 100–1K | Medium | €0.24–0.59 (≈ ฿9–22) | Italian / generic | /locations/ |
| italian food bangkok | EN | 100–1K | Medium | €0.16–0.66 (≈ ฿6–25) | Italian / generic | / |
| italian restaurant sukhumvit | EN | 100–1K | Medium | €0.14–0.80 (≈ ฿5–30) | Area | /locations/emquartier/ |
| italian restaurant sathorn | EN | 100–1K | Medium | €0.19–0.49 (≈ ฿7–19) | Area | /locations/central-park/ |
| italian restaurant siam paragon | EN | 100–1K | Medium | €0.12–0.60 (≈ ฿5–23) | Local / mall | /locations/siam-paragon/ |
| neapolitan pizza bangkok | EN | 10–100 | Medium | €0.35–1.29 (≈ ฿13–49) | Pizza | /neapolitan-pizza-bangkok/ |
Source: Google Keyword Planner — Bangkok, all languages, Google Search, Oct 2025 – Sep 2026. Volumes are ranges, never summed. Competition = advertiser competition (not SEO difficulty). Bids = historical top-of-page estimates, not guaranteed CPC; ≈ THB at 1 EUR ≈ 38 (rate to verify).
English non-brand — volume bands
Highlighted band = Keyword Planner range (not an exact value)
Source: Google Keyword Planner — Bangkok, all languages, Google Search, Oct 2025 – Sep 2026. Volumes are ranges, never summed. Competition = advertiser competition (not SEO difficulty). Bids = historical top-of-page estimates, not guaranteed CPC; ≈ THB at 1 EUR ≈ 38 (rate to verify).
4.4 Non-brand demand — Thai
| Keyword | Language | Monthly searches (range) | Competition | Top-of-page bid, EUR (≈ THB) | Intent | Target page (proposed) |
|---|---|---|---|---|---|---|
| พิซซ่า | TH | 10K–100K | Low | €0.05–0.42 (≈ ฿2–16) | Pizza | /th/neapolitan-pizza-bangkok/ |
| ร้านอาหารอิตาเลี่ยน | TH | 1K–10K | Low | €0.15–0.40 (≈ ฿6–15) | Italian / generic | /th/ |
| ร้านอาหารอิตาเลี่ยน ใกล้ฉัน | TH | 1K–10K | Medium | €0.12–0.35 (≈ ฿5–13) | Italian / generic | /th/ |
| อาหารอิตาเลียน | TH | 1K–10K | Low | €0.14–0.55 (≈ ฿5–21) | Italian / generic | /th/ |
| ร้านพิซซ่า | TH | 1K–10K | Low | €0.19–0.75 (≈ ฿7–29) | Pizza | /th/neapolitan-pizza-bangkok/ |
| ร้านพิซซ่า ใกล้ฉัน | TH | 1K–10K | Low | €0.10–0.51 (≈ ฿4–19) | Pizza | /th/neapolitan-pizza-bangkok/ |
| พิซซ่า ใกล้ฉัน | TH | 1K–10K | Low | €0.11–0.55 (≈ ฿4–21) | Pizza | /th/neapolitan-pizza-bangkok/ |
| ร้านอาหารอิตาเลียน สาทร | TH | 100–1K | Medium | €0.10–0.38 (≈ ฿4–14) | Area | /th/locations/central-park/ |
| ร้านอาหาร วันเกิด | TH | 100–1K | Medium | €0.17–0.51 (≈ ฿6–19) | Occasion | /th/celebrations/ |
Source: Google Keyword Planner — Bangkok, all languages, Google Search, Oct 2025 – Sep 2026. Volumes are ranges, never summed. Competition = advertiser competition (not SEO difficulty). Bids = historical top-of-page estimates, not guaranteed CPC; ≈ THB at 1 EUR ≈ 38 (rate to verify).
Thai non-brand — volume bands
Highlighted band = Keyword Planner range (not an exact value)
Source: Google Keyword Planner — Bangkok, all languages, Google Search, Oct 2025 – Sep 2026. Volumes are ranges, never summed. Competition = advertiser competition (not SEO difficulty). Bids = historical top-of-page estimates, not guaranteed CPC; ≈ THB at 1 EUR ≈ 38 (rate to verify).
4.5 Mall-level demand (EN + TH) — the strongest insight
| Mall | English | Thai |
|---|---|---|
| Siam Paragon | siam paragon restaurant — 1K–10K (€0.09–0.54 (≈ ฿3–21)) | ร้านอาหาร สยามพารากอน — 1K–10K (€0.03–0.40 (≈ ฿1–15)) พารากอน ร้านอาหาร — 1K–10K (€0.21–0.54 (≈ ฿8–21)) |
| ICONSIAM | iconsiam restaurant — 1K–10K (€0.03–0.45 (≈ ฿1–17)) | ร้านอาหาร ไอคอนสยาม — 1K–10K (€0.01–0.27 (≈ ฿0–10)) |
| EmQuartier | emquartier restaurant — 1K–10K (€0.11–0.31 (≈ ฿4–12)) | ร้านอาหาร เอ็มควอเทียร์ — 1K–10K (€0.09–0.23 (≈ ฿3–9)) |
| Central Park | dusit central park restaurant — 1K–10K (€0.12–0.66 (≈ ฿5–25)) | ร้านอาหาร ดุสิต เซ็นทรัล พาร์ค — 100–1K (€0.01–0.23 (≈ ฿0–9)) |
| Central Chidlom | central chidlom restaurant — 100–1K (€0.20–0.70 (≈ ฿8–27)) | ร้านอาหาร เซ็นทรัลชิดลม — 1K–10K (€0.07–0.48 (≈ ฿3–18)) |
Source: Google Keyword Planner — Bangkok, all languages, Google Search, Oct 2025 – Sep 2026. Volumes are ranges, never summed. Competition = advertiser competition (not SEO difficulty). Bids = historical top-of-page estimates, not guaranteed CPC; ≈ THB at 1 EUR ≈ 38 (rate to verify).
4.6 What we deliberately ignore
Thai dish names (สปาเก็ตตี้, คาโบนาร่า, ทีรามิสุ, ลาซานญ่า at 1K–10K) are mostly recipe searches, not restaurant intent. Several English area and occasion terms show no usable volume (phrom phong, lumpini, brunch, group dinner, date night).
4.7 Financial reading of the bids
Most non-brand top-of-page bids are ≈ €0.1–0.9 (≈ ฿4–35). A bid is a price per click; what matters is the price per table: cost per table = CPC ÷ click-to-table rate.
5Where discovery goes today (search & maps)
What we found
On generic Italian searches, other restaurants hold the top Maps and organic positions and Mozza appears further down. On the brand query we tested, the official site comes first, which is a strength to keep; on other brand + branch searches third-party tools show it at positions 2–3.
Why it matters financially
Most guests choose from the first few results. Being one or two positions higher on high-intent searches is the difference between being considered and being skipped.
What we propose
Raise branch pages and the menu to where guests decide, and track it by branch.
- “best italian restaurant bangkok”: Google Maps top 3 = Medici, Baia, Il Bolognese; Mozza Central Park ≈ position 6–7.
- “italian restaurant bangkok”: Mozza organic ≈ page 2 (≈ position 13–14), behind Opera, Medici, Baia, Riva del Fiume, Via Emilia, Theo Mio and others.
- Brand searches: in our own test (Bangkok, Nov 2026, one device) the official site appeared first in organic results for “mozza by cocotte”. Mangools (Thailand, Oct 2026, third-party estimate) places mozza-bangkok.com ≈ position 2 for that query (≈ 2.4K searches, +31%) and ≈ position 3 for “mozza central park”. Positions vary by device, location and time; confirm in Search Console.
- Ahrefs (Oct 2026): ≈ 354–380 estimated organic visits per month, estimated traffic value ≈ $58–63, ≈ 100% Thailand, mostly branded keywords. Homepage ≈ 64–81% of estimated traffic; the “new menu” article ≈ 19% — the menu is the second entry point. A Thai menu query (“mozza by cocotte เมนู”) already appears.
- No observable Google Ads footprint was identified for Mozza Bangkok or Hospitality Management Asia in Google's Ads Transparency Center during our review.
Source: Google Search / Maps snapshots, Oct 2026. Positions vary by location, device and time. Source: third-party estimates (Ahrefs / Mangools), Oct 2026 — not analytics. Google Ads Transparency Center, Oct 2026.
6Website & technical SEO findings
What we found
Ten opportunities on the current site, most of them one-time fixes (S = small effort).
Why it matters financially
They decide whether the demand in section 4 reaches the right page — each fix keeps producing visits without media cost.
What we propose
Fix the quick wins first (redirects, titles, GBP links), then branch template and HTML menus.
Wix serves a brand website well. A multi-brand, multilingual, data-driven acquisition system needs more control over structure, data and integrations.
#1S
Central Park page lives at /copy-of-iconsiam with an ICONSIAM / Thonburi title
→ The branch with 1K–10K “dusit central park restaurant” searches has no correctly targeted page.
✓ /central-park, 301 redirect, correct title, H1 and content.
#2S
HMA Privilege page at /copy-of-hma-privilege
→ The loyalty programme is harder to find and share under a temporary-looking address.
✓ Clean URL with a 301 redirect.
#3M
Branch pages are mostly images plus a booking button
→ Little readable text for Google and for guests deciding between branches.
✓ Branch template: address, hours, transport, intro, signature dishes, FAQ, Restaurant schema.
#4M
Main food menu (24 pages) and breakfast menu are image-only PDFs
→ No dish or price is readable by Google or AI assistants — menu searches cannot match them.
✓ HTML menus with Menu schema (as in this demo).
#5M
Thai version (?lang=th) displays English content
→ Thai demand (section 4.4) has no Thai page to land on.
✓ Real Thai pages with hreflang.
#6S
Homepage on-page check (Rank Math, Oct 2026, score 72/100)
→ Headroom on the page that carries 64–81% of estimated traffic.
✓ Add an H1, alt text for 14 images, shorten the title (88 characters) and the meta description (182 characters). Positives: canonical, sitemap, schema, HTTPS, response < 0.8 s. Page weight: HTML 144 KB, 26 requests.
#7S
Reservations leave the site (Chope / TableCheck): branch- and source-level reporting to be verified
→ If reservations are not reported by branch and source, revenue from search cannot be tied to a branch or a campaign. We have not seen the booking providers' reports; to be checked with HMA.
✓ Request Chope / TableCheck reports by branch and source; add UTM parameters + event tracking where links allow.
#8S
Google Business Profile links
→ Website link appears to point to the homepage, not the branch page; the ICONSIAM menu link is a Google Drive file.
✓ Link each profile to its branch page and HTML menu.
#9S
NAP: EmQuartier address 693 (Google) vs 695 (website)
→ Inconsistent public facts weaken trust for Google and AI assistants.
✓ Standardise everywhere.
#10S
Third-party listings show dishes no longer on the current menus and different prices
→ Example: burrata ฿490 on the menu vs ฿620 on a delivery listing — a mismatch guests notice at the table.
✓ Align listings with the current HTML menu.
Technical detail
Observations come from the public website, Rank Math's analyser and Google Business Profile listings (Oct 2026). Efforts: S = small, M = medium, L = large. Redirects must be mapped one-to-one and monitored in Search Console.
7Local SEO / Google Business Profile
What we found
Each branch profile can do more of the work: link, menu, categories, hours, Thai description, photos, Q&A, replies and posts.
Why it matters financially
The Maps listing is often the last screen before a reservation or a visit; consistent facts convert and reassure.
- Website link points to the branch page.
- Menu link points to the HTML menu.
- Categories, hours and Thai description are complete.
- Photos, Q&A, review replies and posts are kept up to date.
- NAP is consistent across Google, Chope, Wongnai, Tripadvisor and mall directories.
8Multilingual strategy
What we found
English and Thai are both proven by demand (section 4).
Why it matters financially
Each language reaches guests who would not find the other version; native Thai copy converts better than machine translation.
What we propose
English + Thai as the core. Arabic only as an optional later layer if data supports it — not part of the pilot. Native Thai copy.
The structure (same page, same URL logic, hreflang between versions) is already shown in this demo for English, Thai and Arabic; for the pilot we would publish English and Thai.
9Brand protection (conditional)
What we found
Brand searches are customers you already won; the official site is not always first on them.
Why it matters financially
Paying for clicks you would receive for free is a cost, not growth — unless competitors or platforms appear on Mozza searches.
Protect brand searches only if competitors or platforms appear on Mozza searches; otherwise test with an on/off holdout so you don't pay for clicks you already receive for free.
Cannibalisation example (hypothetical)
Without ads: 1,200 organic visits. With ads: 700 paid + 800 organic = 1,500. Incremental ≈ 300, not 700.
Why the cost can stay low
As the official brand, relevance and expected CTR are high, so actual CPC can be well below the top-of-page estimates (e.g. “mozza by cocotte” bids €0.19–0.46).
Technical detail — structure if activated
- Search only, exact match: [mozza], [mozza by cocotte], [mozza bangkok], [mozza central park], [mozza emquartier], [mozza iconsiam], [mozza siam paragon].
- Sitelinks per branch (Menu, Reserve, Directions).
- Target impression share with a max CPC cap.
- Metrics: impression share, top / absolute-top impression share, lost IS (rank / budget), CPC, CTR, reservation actions.
10Google Ads pilot — non-brand Search (Central Park)
What we found
The non-brand demand in section 4 can be tested on one branch at a modest, capped budget.
Why it matters financially
A scenario shows the order of magnitude before spending: at ฿20,000 / month, roughly 40–130 tables — valued with your own average table value.
What we propose
Search campaign for Central Park only, with English and Thai ad groups, landing on the Central Park page.
- Search campaign, Central Park only; English and Thai ad groups separated.
- Landing page: the Central Park branch page, never the homepage.
- Bidding: Maximize clicks with a CPC cap → Maximize conversions once enough reservation actions are tracked.
- Later: Performance Max with local goals and brand exclusions — only after Search proves value.
Technical detail — campaign structure
| Ad group | Example keywords |
|---|---|
| Mall / area | dusit central park restaurant, ร้านอาหาร ดุสิต เซ็นทรัล พาร์ค, italian restaurant silom, ร้านอาหาร พระราม 4 |
| Italian near me | geo radius ≈ 1–3 km |
| Pizza | pizza near me, ร้านพิซซ่า ใกล้ฉัน, best pizza bangkok |
| Pasta | pasta bangkok, ร้านพาสต้า |
Source: Google Keyword Planner — Bangkok, all languages, Google Search, Oct 2025 – Sep 2026. Volumes are ranges, never summed. Competition = advertiser competition (not SEO difficulty). Bids = historical top-of-page estimates, not guaranteed CPC; ≈ THB at 1 EUR ≈ 38 (rate to verify).
- Match types: exact + phrase; broad only later with conversion data.
- Negatives (examples): recipe, how to make, jobs, delivery-only chains; Thai: สูตร, วิธีทำ, ทำเอง.
- Assets: location, call, sitelinks (Menu, Reserve, Directions), callouts (handmade pasta, brick-oven pizza).
11Demand shaping by daypart
What we found
Central Park shows clear weekly peaks and many hours with no wait.
Why it matters financially
Revenue grows most where capacity exists: filling quiet hours costs less than adding pressure on peak ones.
What we propose
Focus non-brand activity on dayparts with available capacity (weekday lunch for the business district, weekday mornings), validated with real covers by hour.
Popular Times, Central Park (Oct 2026, one capture per day): peaks Friday ≈ 6 PM and Sunday ≈ 11 AM (“as busy as it gets”, up to a 15-minute wait on Sunday); “No wait” at the other captured hours. The breakfast menu is served until 12 PM.
Source: Google Popular Times, Central Park, Oct 2026 (a snapshot).
12Search, Ads, AI and automation — one system
What we found
Menus, branches, hours, prices and languages are today maintained in several places.
Why it matters financially
Updating once and publishing everywhere means fewer errors, less staff time and consistent facts for Google and AI assistants.
What we propose
One structured source of truth feeding the website, Maps, Ads, AI assistants, booking and delivery platforms, and reporting.
- Structured source of truth (menus, branches, hours, prices, languages)
- Website
- Google Search & Maps
- Google Ads
- AI assistants
- Booking & delivery platforms
- Reporting
- Update a menu or opening hours once → published everywhere (fewer errors, less staff time).
- Reservations + loyalty data → better targeting and measurement (offline conversions, customer lists, within privacy rules).
- Automated weekly reporting by branch and daypart.
- AI-assisted multilingual drafts with native human review.
13AI search readiness (GEO)
What we found
Guests increasingly ask AI assistants “best Italian restaurant in Siam Paragon”; assistants rely on readable, consistent, structured information.
Why it matters financially
Being readable and consistent is what makes a restaurant recommendable by AI assistants — it is also what Google rewards.
What we propose
HTML menus, structured branch pages, schema, consistent facts across platforms, and a check that AI / search crawlers have access.
Factors that reduce readiness (no claim of measured AI rankings): image-only menus; branch pages with little text; /copy-of-* URLs; inconsistent public facts — company figures of 19 vs 23 restaurants and 1,000+ vs 1,300+ employees on different public pages, address 693 vs 695, third-party menus and prices differing from the current menu.
14Platform roadmap — phase 2 migration (recommendation after a successful pilot)
What we found
12 brands and 23 restaurants run on separate domains, and some venues exist only on Facebook.
Why it matters financially
A shared platform means the same branch template, tracking, multilingual structure and schema everywhere — and faster launch for new branches and concepts.
What we propose
Decide after the pilot. This demo is a working preview of what the shared platform could look like.
Domains today: mozza-bangkok.com, mozza-phuket.com, cocotte-bangkok.com, victoria-bangkok.com, parma-thailand.com, leon-bangkok.com, the-market-pattaya.com, taste-patong.com, summer-phuket.com — plus some Facebook-only venues.
What it enables: full control of multilingual URLs and hreflang, structured menus and schema, performance, booking / CRM / loyalty integrations, automation and AI readiness.
| Optimise current Wix sites | Shared custom platform with an editor-friendly CMS (marketing team keeps editing content) | |
|---|---|---|
| Cost level | Lower | Higher up-front, lower per extra brand |
| Time | Fast | Longer (phased, one brand first) |
| Control | Limited by the platform | Full |
| Scalability | Per site | Shared across brands |
| Risk | Low | Managed with an SEO migration plan |
Qualitative comparison; no prices.
Technical detail — risks and how they are managed
- SEO migration plan: URL mapping, 301 redirects, Search Console monitoring.
- Editing workflow for the team (editor-friendly CMS).
- Phased rollout: one brand first.
15Measurement & attribution
What we found
Reservations leave the site and cannot yet be tied to a branch, campaign or daypart.
Why it matters financially
What is not measured cannot be optimised — or defended in a budget meeting.
- Search / Maps / AI
- Branch page
- Reservation / directions / call
- Visit
- Revenue
- HMA Privilege
- UTM tagging on Chope / TableCheck links.
- GA4 key events: reservation, directions, WhatsApp, LINE.
- Reporting outline: search, ads, reservations by branch and daypart.
Technical detail — event list
reservation_click, booking_start, booking_step, booking_zone_select, booking_time_select, booking_submit_demo, whatsapp_click, line_click, directions_click, menu_view, pdf_download, language_switch (see docs/TRACKING_PLAN.md in the demo repository).
16Questions you might have
What we found
Eleven questions we expect, with a short business answer, the evidence from this audit and what the pilot would test.
Why it matters financially
Good questions are part of a good decision.
What we propose
Use the pilot to answer them with your own data.
“We are a strong brand — we don't need to pay for Google Ads.”
Brand demand brings people who already know you. Non-brand and mall-level demand is much larger and goes to others today. Paid search would target non-brand demand only, against a control branch, with a stop rule.
Evidence: Sections 4.3–4.5.
What the pilot would test: Non-brand reservations vs control.
“SEO is not our business — we sell food.”
SEO is free, compounding distribution. Most fixes are one-time (page structure, menus, redirects) and keep producing visits without media cost.
Evidence: Image-only menus, /copy-of-* pages, ≈ page 2 for “italian restaurant bangkok”.
What the pilot would test: Organic visits and reservations from branch pages.
“Our restaurants are already busy.”
Popular Times shows no wait at most captured hours. The goal is filling available capacity (weekday lunch, mornings), supporting new branches and concepts — not adding pressure at peak.
Evidence: Section 11 (Popular Times, Oct 2026).
What the pilot would test: Incremental covers in quiet dayparts.
“Social media and influencers work better for us.”
They create desire; search captures the moment of decision. They reinforce each other; this adds measurement to both.
Evidence: Brand searches already exist (section 4.1).
What the pilot would test: Brand-search lift and reservations during campaigns.
“We tried Google Ads and it didn't work.”
Usually a structure or measurement issue (brand-term spending, homepage landing pages, no branch-level tracking). The pilot is designed to answer the question cleanly.
Evidence: Sections 9, 10 and 15.
What the pilot would test: Branch-page landing + branch-level tracking.
“We can't measure walk-ins.”
That's why the pilot compares a test branch with a control branch (reservations, directions, calls, covers).
Evidence: Section 17.
What the pilot would test: Test vs control on covers.
“Our team / agency already handles digital.”
This is a specialist layer: search architecture, tracking, paid search. Your team keeps brand, content and social.
Evidence: Sections 12 and 17.
What the pilot would test: Agreed split of responsibilities.
“Our website looks great — why change it?”
It does. The question is what Google and AI assistants can read. Phase 1 fixes this on the current site; migration is a phase-2 decision after the pilot.
Evidence: Section 6 and 13.
What the pilot would test: Visits and reservations from HTML menu and branch pages.
“What about AI and ChatGPT?”
See section 13.
Evidence: Section 13.
What the pilot would test: Consistency and readability checks.
“How much will this cost, and what's the risk?”
Limited pilot (one branch + control, 60–90 days), media budget separate and capped, decision on agreed metrics, no long-term commitment.
Evidence: Sections 2, 10 and 17.
What the pilot would test: Cost per incremental reservation vs the agreed stop rule.
“Why you?”
See section 19.
Evidence: Section 19.
What the pilot would test: —
17Pilot proposal & test design
What we found
Two comparable branches allow a clean read: Central Park (test) and EmQuartier (control).
Why it matters financially
A control branch separates what search adds from what would have happened anyway.
What we propose
60–90 days, success defined in advance, stop rule agreed before launch.
Central Park (test) vs EmQuartier (control), 60–90 days. Components: branch page, HTML menu, Google Business Profile alignment, non-brand Search, tracking.
1830 / 60 / 90 days
What we found
A simple sequence: foundations, launch, decision.
Why it matters financially
Fixes in the first 30 days start producing value before any media is spent.
What we propose
Review at day 90 against the control branch.
Day 30
- Tracking in place.
- Central Park page + redirects.
- Google Business Profile fixes.
- Thai branch page.
- HTML menu.
Day 60
- Search campaign live, weekly optimisation.
- Brand-search check (on/off test if relevant).
Day 90
- Results vs control.
- Decision to scale to other branches and brands.
- Phase-2 platform decision.
19Who is behind this
What we found
Wadhah Belhassen — search & customer-acquisition consultant.
Why it matters financially
One accountable specialist for the whole acquisition chain, from search architecture to reporting.
What we propose
Discuss the pilot.
- Skills: Google Ads · SEO & technical SEO · Local SEO / Google Business Profile · GA4 / GTM tracking · conversion optimisation · multilingual acquisition (EN / FR / AR, with native Thai partners) · market and search-demand research.
- Experience types: local growth for a café / bakery in Berlin (Search, Maps, Ads); multilingual growth partnership in Tunisia (website, SEO, Ads, tracking).
20What we need from you
What we found
A small set of read-only access and two business numbers.
Why it matters financially
They replace example values with real ones and make the pilot comparison reliable.
What we propose
Share them for Central Park and EmQuartier.
- Read-only access: Search Console, Google Business Profile insights, GA4 (if any), Chope / TableCheck reports for Central Park and EmQuartier.
- Average spend per guest, and covers by hour if available.
21Sources & caveats
What we found
Every number in this page carries its source and date; estimates, snapshots and hypotheses are labelled.
Why it matters financially
So that every figure can be checked and nothing is mistaken for analytics.
What we propose
Replace estimates with your own data during the pilot.
| Source | Date | Nature |
|---|---|---|
| Google Keyword Planner (Bangkok, all languages, Google Search, Oct 2025 – Sep 2026; two exports) | Oct 2026 (two exports) | Estimate (ranges) |
| Ahrefs | Oct 2026 | Third-party estimate |
| Mangools | Oct 2026 | Third-party estimate |
| Google Maps & SERP | Oct 2026 | Snapshot |
| Popular Times | Oct 2026 | Snapshot, relative to the place |
| Google Ads Transparency Center | Oct 2026 | Observation |
| Rank Math SEO analyzer | Oct 2026 | Tool output |
| Mozza website and menu PDFs | Oct 2026 | Public documents |
| Calculator values, budget scenario, cannibalisation and click-to-table examples | — | Hypothesis / example |
EUR → THB conversion: 1 EUR ≈ 38 THB (≈, rate to verify).
Ready to discuss the pilot?
Private page for the concept demo. Not indexed. Estimates, snapshots and hypotheses are labelled; nothing here is a guarantee.