Digital Marketing Singapore
SEO & Lead Generation Agency
Case Study | Google Ads and SEO

Hotpot Restaurant Chain Google Ads and SEO: Cost per Booking Down 39% With One Team

Client Type
Hotpot restaurant chain, 7 outlets across Singapore, 120 staff
Services
Google Ads (search and local) and local SEO with Google Business Profile management
Engagement
7 months
Primary Result
Cost per Google Ads booking down 39%, profile actions up 110%
S$10.50Cost per Google Ads booking or call, down from S$17.31
+110%Calls, directions and booking clicks from Google Business Profiles
6 of 7Outlets in the top 3 local results, up from 2

Client name withheld under NDA.

The Challenge

The Starting Point

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.

MetricMonth 0
Google Ads spend per monthS$9,000
Bookings and calls from Google Ads per month520
Cost per Google Ads booking or callS$17.31
Share of Google Ads spend on own brand name34%
Outlets in top 3 local results (local SEO)2
Calls, directions and booking clicks from Google Business Profiles per month2,900
Organic website visits per month (SEO)3,900
What We Did

What We Did

Phase 1, Month 1

One Set of Numbers

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.

Phase 2, Months 1 to 3

Google Ads: Fixing the Overlap

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.

Phase 3, Months 2 to 5

Local SEO for Seven Outlets

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.

Phase 4, Months 4 to 6

Budget by Outlet and Time of Day

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.

Phase 5, Months 6 to 7

Reporting and Handover Rhythm

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.

The Results

The Results

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.

MetricBaselineMonth 7Change
Google Ads spend per monthS$9,000S$8,400-7%
Bookings and calls from Google Ads per month520800+54%
Cost per Google Ads booking or callS$17.31S$10.50-39%
Share of Google Ads spend on own brand name34%8%-26 pts
Outlets in top 3 local results (local SEO)26+200%
Calls, directions and booking clicks from Google Business Profiles per month2,9006,100+110%
Organic website visits per month (SEO)3,9007,600+95%
Months 1 to 3
Measure and Fix Ads

One dashboard live, account split by outlet and intent, brand overlap removed. Ad costs began to fall in month 2.

Months 4 to 5
Local SEO Takes Hold

Profiles corrected, location pages published and reviews coming in. Most outlets entered the top 3 local results.

Months 6 to 7
Shift Budget and Report

Budget moved by outlet and time of day, monthly report set, final numbers recorded.

Key Takeaways

What We Learned

Do not pay for a click you already own

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.

Count each booking once

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.

Local SEO is slow, so start it early

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.

FAQ

Frequently Asked Questions

For most restaurants, yes. One team can see where ads and organic results overlap, stop paying for clicks the listing would win anyway and report on a single set of numbers. It also avoids two reports that count the same booking twice.
Expect the first changes to show within weeks and the main gains between months three and five. In this case 6 of 7 outlets reached the top 3 local results by month 7. Outlets in shared mall addresses can take longer.
Sometimes. If competitors bid on your name, or your organic listing is weak at an outlet, a small brand campaign makes sense. Where your listing already ranks first, we usually pause it and move the budget elsewhere. We check outlet by outlet.
We count online bookings, calls and direction requests in one dashboard, with each customer counted once. Walk-ins cannot be tracked directly, so direction requests are the closest sign. We say that plainly in the report.

Want Your Ads and Your Local Listings Working Together?

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.