Digital Marketing Singapore
SEO & Lead Generation Agency
Case Study | Integrated Digital Marketing

Optical Retail Chain Switching Agency: Cost Per Booking Down From S$83.05 to S$41.18

Client Type
Optical retail chain, 6 outlets, 45 staff, across Singapore
Services
Digital marketing in modules: local SEO, Google Ads, social media, reporting by channel
Engagement
6 months
Primary Result
Appointment bookings up 73%, cost per booking down 50%
+73%Appointment bookings a month, 118 to 204
S$41.18Cost per booking, down from S$83.05
90%Share of spend with a measured result, up from 20%

Client name withheld under NDA.

The Challenge

The Starting Point

The chain had six outlets and sold frames, lenses and contact lenses, with a booking page for appointments at each shop. For two years it had paid one full-service agency a retainer of S$6,500 a month. That fee covered SEO, Google and Meta ads, social posts and design, and the chain also put about S$3,300 a month into ad spend. The agency was friendly and responsive, and its monthly report was a polished deck with reach, impressions, followers and clicks. The trouble was what the deck could not say.

Nobody could tell which channel produced appointment bookings. The report showed one combined result, and the agency had not set up tracking that separated phone calls, booking page submissions and walk-ins by source. The owner was not unhappy with the people. She wanted to see what each part of the spend was doing, and she asked us to look at the whole picture as a digital marketing agency in Singapore that would report by channel. We measured the starting position first, and found that only about one fifth of spend could be tied to a booking.

MetricMonth 0
Appointment bookings per month118
Cost per bookingS$83.05
Total monthly marketing cost (fees and ad spend)S$9,800
Outlets in the top 3 local results2
Google Business Profile actions per month (calls, directions, website clicks)1,420
Share of spend with a measured result20%
What We Did

What We Did

Phase 1, Month 1

Audit and Tracking Set-up

We reviewed the old accounts, which the chain owned, and listed what each part of the retainer had been doing. Then we set up tracking for the three ways a customer books: the booking page, a phone call from the website or the Google listing, and a walk-in who mentions an offer. Every outlet got its own tracked phone number and booking link. We kept the old design files and the brand colours.

You cannot judge a channel you cannot see. Until each booking carried a source, a cost per booking would have been a guess. The old agency's work was not thrown out. We kept what was sound, including the brand look and the content library.

Phase 2, Months 1 to 2

Splitting the Retainer Into Modules

We agreed four modules with the owner: local SEO, Google Ads, social media, and monthly reporting by channel. Each had its own scope, its own monthly fee and its own target. In month 1 the chain kept the same total spend as before, about S$9,800 including media, because set-up work needed the time. We also wrote down which module would shrink once set-up was done.

A single retainer hides trade-offs. With modules, the owner could see the price of each part and ask for more or less of it. Total cost stayed level at first because building things properly takes more effort than keeping them running.

Phase 3, Months 2 to 4

Local SEO for Six Outlets

Each outlet got a full Google Business Profile: correct hours, services, photos, a booking link and a steady stream of review replies. We built one page per outlet on the website with its address, nearest MRT and parking notes. Citations were cleaned up, so every shop used the same name, address and phone number across directories. We asked customers to review after visits, never with rewards.

Most people searching for a shop nearby pick from the top three results on the map. Outlets that appear there get the calls and direction requests. Consistent details and fresh reviews are what move a shop into that group.

Phase 4, Months 3 to 5

Google Ads and Social Media Rebuilt

We rebuilt Google Ads by outlet, with search campaigns for eye test appointments, glasses and contact lens terms near each shop. Radius targeting stopped overlap between outlets, and each campaign pointed to the right outlet page. Social posts were cut to a steady schedule focused on frames, new arrivals and store events. We stopped Meta campaigns that produced clicks but no bookings, and moved that money to search.

Search catches people who already want an appointment. Social keeps the shops visible but rarely produces a booking by itself, so it got a smaller share. Moving spend by outlet kept budget where bookings were actually coming from.

Phase 5, Months 5 to 6

Reporting by Channel and Moving to Upkeep

Each month the owner received one page per channel: spend, bookings, cost per booking and what we would change next. In the second quarter the heavy set-up work ended, so the module fees came down and the monthly cost dropped. We kept a short list of things we chose not to do, such as bidding on very broad terms, so the owner could see the reasoning.

Reporting by channel was the whole point of the switch. Once set-up gave way to upkeep, the fees fell without any drop in bookings, which is how a modular arrangement should behave.

The Results

The Results

Six months in, the chain was getting 204 appointment bookings a month, up from 118, at a cost per booking of S$41.18 instead of S$83.05. Five of six outlets now sat in the top 3 local results, up from two, and Google Business Profile actions rose from 1,420 to 2,610 a month. Total monthly marketing cost fell from S$9,800 to S$8,400, and 90% of spend could be linked to a measured result, up from 20%. The first quarter cost about the same as the old retainer, and the saving came afterwards.

MetricBaselineMonth 6Change
Appointment bookings per month118204+73%
Cost per bookingS$83.05S$41.18-50%
Total monthly marketing cost (fees and ad spend)S$9,800S$8,400-14%
Outlets in the top 3 local results25+150%
Google Business Profile actions per month (calls, directions, website clicks)1,4202,610+84%
Share of spend with a measured result20%90%+70 pts
Months 1 to 2
Audit and Modules

Tracking live for every outlet, four modules agreed, total cost kept level with the old arrangement.

Months 2 to 4
Build

Business Profiles and outlet pages rebuilt, Google Ads restructured by outlet, social schedule simplified.

Months 5 to 6
Upkeep

Reports by channel, set-up fees tapered, spend moved toward the channels that produced bookings.

Key Takeaways

What We Learned

Ask what each part of the fee produced

The old report was polished but could not show which channel gave bookings. Once every call and form carried a source, 90% of spend had a measured result, and decisions got easier. A nice report is not the same as a useful one.

Expect set-up to cost more than upkeep

Our first quarter cost about the same as the previous retainer because tracking, profiles and campaigns had to be built. After that, monthly cost fell to S$8,400. If a proposal charges the same fee forever, ask which work it covers each month.

Local visibility drives appointments

Moving from two outlets to five in the top 3 local results lifted profile actions by 84% and bookings by 73%. For a shop that customers visit in person, the map listing often matters as much as the website.

FAQ

Frequently Asked Questions

Not always. If the reports show what each channel did and the results are good, staying is sensible. The warning signs are a combined report that cannot show which channel produced customers, and a fee that never changes. In this case the agency's people and creative were fine, and the problem was visibility.
Possibly, but not at once. This chain paid about the same in the first quarter because set-up is the heavy part. After that, fees came down and total monthly cost reached S$8,400 against S$9,800. Your result depends on how much needs building.
Each outlet gets its own tracked phone number and booking link, and staff ask walk-in customers how they heard of the shop. It is not perfect, because some customers never say, but it let us tie 90% of spend to a measured result.
Yes. Google Ads, Business Profiles, analytics and social pages stay in your name, and we are added as managers. If you ever leave us, nothing needs to be handed back or rebuilt.

Not Sure What Your Retainer Is Producing?

Share your latest monthly report. We will tell you what it shows, what it hides and how we would split the work into measurable parts.