Client name withheld under NDA.
Hotpot is a search-heavy business. People look for a place near them on a Friday afternoon, compare two or three options and book or walk in within the hour. For a chain with 7 outlets, that means every outlet needs to appear in maps, in the ads and in the organic results for its own neighbourhood. Many chains ask for Google Ads management in Singapore to cover this, but the ads and the organic listings only work well when someone looks at them together.
This chain had paid ads with one agency and SEO with another. Both did sound work and both sent monthly reports, but the reports used different numbers. A customer who clicked an ad, then called from the Google Business Profile, could be counted by both. About 34% of the ad budget of S$9,000 a month went to people searching for the restaurant's own name, who would often have found the organic listing anyway. Only 2 of the 7 outlets sat in the top 3 local results. We began by building one count of bookings and calls, with each customer counted once, so that every later decision started from the same figures.
| Metric | Month 0 |
|---|---|
| Google Ads spend per month | S$9,000 |
| Bookings and calls from Google Ads per month | 520 |
| Cost per Google Ads booking or call | S$17.31 |
| Share of Google Ads spend on own brand name | 34% |
| Outlets in top 3 local results (local SEO) | 2 |
| Calls, directions and booking clicks from Google Business Profiles per month | 2,900 |
| Organic website visits per month (SEO) | 3,900 |
We took over both accounts on the same day and gave each a call and booking tracking plan. Online bookings, calls from ads, calls from the profiles and direction requests were recorded in one dashboard, with each customer counted once. We then went through the earlier agencies' work respectfully, keeping the keyword lists and ad copy that were doing well, and writing down what each team had been measuring.
Neither earlier agency was wrong on its own numbers. They simply could not be added together. One dashboard made it possible to see which channel actually produced a booking, and it gave the owner a single figure to ask about each month.
We split the Google Ads account into campaigns by outlet and by intent: neighbourhood hotpot searches, group dining and celebration searches, and the restaurant's own name. We paused brand bidding at outlets where the organic listing already ranked first, and kept a small brand campaign at the outlets that did not. We added negative keywords for jobs, recipes and soup base purchases, and set call extensions to each outlet's opening hours.
Paying to appear above a listing that already ranks first is the clearest sign of two teams working apart. Moving that money to searches where the chain did not appear gave the same customer volume for less spend.
For each outlet we corrected the Google Business Profile: category, opening hours, menu link, booking link, photos and the questions customers ask. We built a location page on the website for each outlet with its own address, nearby MRT, parking notes and a short description. We asked diners for reviews with a table card and a QR code, never in exchange for a discount, and replied to each review within two days.
Local results depend on accurate profile details, steady reviews and a website that matches. This was the slowest part of the work: 2 outlets moved quickly, but most took four to five months to reach the top 3.
With one budget, we could shift money outlet by outlet. Outlets with quiet weekday lunches received more weekday ads, and outlets that were full on weekends received less on Saturday evenings and more on Sunday afternoons and weekday evenings. We also separated group booking ads, which have a higher value, from walk-in searches. One test did not work. A broad celebration campaign brought clicks but few bookings, so we stopped it after four weeks.
A chain does not have seven identical outlets. A busy outlet does not need more ads on its busiest night, and an empty one does. Looking at ads and organic results together told us where extra spend would add bookings and where organic listings already did the job.
We set a monthly report that showed bookings, calls and direction requests for each outlet, split into ads and organic, with cost per booking for the paid side. We reviewed one weak outlet in detail. It sits in a shared mall address where the listing was easily confused with neighbouring tenants, and it was still outside the top 3 at month 7. We added it to the next quarter's plan.
A report the owner reads in ten minutes gets acted on. Showing one weak outlet openly also kept the next steps honest: the chain knew exactly where to put effort next.
After 7 months, ads and organic search were working as one channel. Google Ads spend came down from S$9,000 to S$8,400 a month while bookings and calls from ads rose from 520 to 800, so cost per booking fell from S$17.31 to S$10.50. Brand bidding dropped from 34% to 8% of spend. On the SEO side, 6 of 7 outlets reached the top 3 local results, profile actions grew from 2,900 to 6,100 a month and organic website visits rose from 3,900 to 7,600.
| Metric | Baseline | Month 7 | Change |
|---|---|---|---|
| Google Ads spend per month | S$9,000 | S$8,400 | -7% |
| Bookings and calls from Google Ads per month | 520 | 800 | +54% |
| Cost per Google Ads booking or call | S$17.31 | S$10.50 | -39% |
| Share of Google Ads spend on own brand name | 34% | 8% | -26 pts |
| Outlets in top 3 local results (local SEO) | 2 | 6 | +200% |
| Calls, directions and booking clicks from Google Business Profiles per month | 2,900 | 6,100 | +110% |
| Organic website visits per month (SEO) | 3,900 | 7,600 | +95% |
One dashboard live, account split by outlet and intent, brand overlap removed. Ad costs began to fall in month 2.
Profiles corrected, location pages published and reviews coming in. Most outlets entered the top 3 local results.
Budget moved by outlet and time of day, monthly report set, final numbers recorded.
Our largest Google Ads saving came from brand searches where the organic listing already ranked first. Brand share fell from 34% to 8% of spend. If your ads and your local listings sit with different teams, ask each of them what they spend on your own name.
Two agencies, each with a fair report, still produced a total that nobody trusted. Once bookings, calls and direction requests were deduplicated in one dashboard, the chain could compare ads and organic by outlet. Cost per booking of S$10.50 only means something when the count is honest.
Ads moved within weeks. Local SEO took until month 5 for most outlets, and one mall outlet was still outside the top 3 at month 7. For a restaurant chain, ads can cover the gap while profiles and reviews build up, then spend can move to where organic is still weak.
How we structure and run Google Ads for Singapore businesses.
Google Business Profile and local ranking work for multi-outlet brands.
Organic search work that sits alongside paid ads.
A food and beverage brand with a wider scope across channels.
Tell us how many outlets you run and who looks after your ads and your listings today. We will show you where the overlap is and what a seven-month plan could look like.