folder_open Analytics & Attribution

Lead tracking for optometry in Singapore

Martin Marinov Martin Marinov
13 min read
Topics lead-source-attributionwhatsapp-enquiry-handlinggoogle-business-profilecall-trackingcondition-specific-landing-pages

The costliest line in an optical practice’s marketing spend isn’t the ad that never converted. It’s the one that did, and then disappeared into a WhatsApp thread nobody can trace back to anything.

Picture a fairly ordinary day at the counter. Fifteen or so enquiries come in over WhatsApp: one asking about contact lens trial pricing, another checking if orthoK suits a nine-year-old, a third just wanting to know if you stock a particular frame brand. Maybe six of those turn into booked eye exams. Maybe two of those become real revenue, glasses, lenses, a myopia control programme the parent commits to. You ran a Google Ads campaign for “eye exam near me,” boosted a post for World Sight Day, and paid for a better spot on your Google Business Profile that month. Which one produced those six bookings? Nobody at the practice can say with any confidence. So the manager keeps all three running, because switching off a channel that might be working feels riskier than quietly overpaying for one that isn’t.

The fix here isn’t a bigger CRM or a prettier dashboard. It’s closing one specific gap: the point where an enquiry leaves whatever channel brought it and lands in a chat app that keeps no memory of where it came from. Get that right, and deciding which channel to cut and which to push harder finally has an answer backed by booked exams, not a hunch about what felt busy last week.

Why the WhatsApp inbox is your real lead list, and no ad platform can see it

In most other markets, a Google or Meta ad sends someone to a form or a phone call, and the platform can report on that reasonably well. Singapore optometry doesn’t work that way. Your Google Business Profile has a “message” button that opens WhatsApp. Your website’s click-to-chat widget opens the same WhatsApp. Your Instagram ad for myopia control has a “Send message” button that, again, opens WhatsApp. A parent in a school group chat gets your number forwarded and messages it directly. By the time a conversation starts, it’s indistinguishable from every other conversation in that inbox, no matter which of those four doors it came through.

This is the part most practices get wrong: they keep reporting on “messaging conversions” inside Google Ads or Meta Ads Manager and treat that as proof the channel worked. It isn’t. A messaging conversion counts the moment someone taps the button and opens a chat window. It says nothing about whether that person ever replied, whether the enquiry was a serious one, or whether it ended in a booked comprehensive eye exam versus a one-line “do you carry Ray-Ban?” that went nowhere. Price-shoppers searching “cheap glasses Singapore” and parents researching orthoK for their child’s rapidly worsening myopia often land in the exact same ad group, the exact same landing page, and the exact same WhatsApp thread, which means your front desk burns time quoting frame prices to people who were never going to book, while the Google Ads account quietly takes credit for the contact.

Add multiple outlets into the mix, say one in a heartland mall and one near an office district, and the problem compounds. If your business name, address, and phone number aren’t identical across every Google Business Profile listing, Google itself gets confused about which branch should surface for a given search, and your own tracking inherits that confusion. You end up unable to say not just which channel drove a lead, but which branch it was even meant for.

Building a lead-tracking system that survives the jump to WhatsApp

None of this requires an enterprise call-tracking platform. It requires making the handoff to WhatsApp trackable on purpose, instead of leaving it to chance. Here’s the sequence we build with optical practices and eye clinics in Singapore, roughly in order of what to fix first.

Lead-tracking playbook

  1. 1Stop using one shared WhatsApp link everywhere. Create a distinct click-to-chat link for each channel (Google Ads, Meta Ads, Google Business Profile, your website, in-store QR code) with a different pre-filled message in each, something as simple as "Hi, I'm messaging about the eye exam promo I saw on Google" versus "...on Instagram." Staff can tag the source in seconds just by reading the opening line, no software required.
  2. 2Put UTM parameters on every landing page URL before the WhatsApp button, not just on the ad itself. If someone clicks through from a Meta ad, lands on your myopia control page, and then messages you, your landing page analytics should already show that journey even if the chat itself gets logged manually afterward.
  3. 3Split your landing pages by what the person actually wants, not by your service menu. A page built for "eye exam near me" searches should look and read differently from one built for orthoK or atropine enquiries from parents, which should again differ from a LASIK referral page. Condition-specific pages convert better and they also make the source of a booking far easier to read back later.
  4. 4Give front-of-house staff a one-field log at the point of reply, not at month end. A shared spreadsheet row per chat is enough: source, enquiry type (exam, frames, contact lens, myopia consult), and outcome (booked, quote only, no-show). This single habit does more for attribution than any tool you could buy.
  5. 5Lock down your Google Business Profile listings across every outlet so the business name, address, and phone number match exactly, word for word, listing to listing. Inconsistent NAP data is one of the quietest ways branch-level tracking falls apart in a multi-outlet practice.
  6. 6Build out negative keywords aggressively on Google Ads. Block terms like "jobs," "repair," "frame glue," and "cheap" if that's not your positioning, so budget isn't buying conversations that were never going to result in an exam.
  7. 7Audit the mobile experience of whichever page sits between the ad click and the WhatsApp button. If it loads slowly or buries the chat button below three screens of frame photography, you're losing people before they ever reach the inbox you're trying to track.
  8. 8Reconcile weekly against the actual appointment book. Cross-check tagged leads against comprehensive eye exams actually performed that week, the real measure of success, not how many chats opened.

On that mobile point: Core Web Vitals data from May 2026’s CrUX dataset shows only about 55.9% of websites pass all three performance metrics, and a slow, clunky booking page is a common reason a well-targeted ad still underperforms. If you want a quick read on where your own site sits, run it through a Core Web Vitals checker before you touch another ad budget.

This is also where session recording earns its keep. Watching where someone actually abandons your booking page, whether they scroll past the click-to-chat button without noticing it, or get stuck on a form field asking for their NRIC before they’ve even decided to book, tells you more than a conversion count ever will. HeyLead Insights is built for exactly this: showing you the moment on the page where a real patient gave up, not just the fact that they didn’t convert.

If the idea of stitching your ad platforms, your website, and a WhatsApp log into one working record sounds like a second job on top of running clinic hours, that’s usually the point where a practice brings in a CRM integration partner to wire it up once, properly, rather than patching it quarter after quarter.

Not sure where your funnel leaks?
Get a free marketing audit. We review your search, ads, and landing pages and send back what to fix first.
Get a free audit
Side view of optometrist fitting trial frame on a patient during an eye exam. Photo by Antoni Shkraba on Pexels
Photo by Antoni Shkraba on Pexels

What changed for a two-outlet practice when the WhatsApp numbers finally told different stories

Here’s an illustrative example, the kind of pattern we see often enough in Singapore optometry that it’s worth walking through in detail, even without a client name attached.

Picture a practice with two outlets, one in a heartland mall near a cluster of primary schools, one in a town near a business district. Both ran Google Ads against “eye exam near me” and “presbyopia test,” and both ran Meta ads targeting parents about orthoK and myopia control. Every enquiry, regardless of source, landed in the same shared WhatsApp Business number at the heartland branch, because that’s where the manager sat.

Once they split the click-to-chat links by channel and started tagging conversations at the point of reply, the picture that emerged wasn’t what either campaign’s own reporting suggested. The Meta ads were generating plenty of conversations, but most of them were parents still comparing orthoK against atropine drops, often weeks from actually booking a consult. The Google Ads traffic from “near me” searches, by contrast, converted into a booked exam within days most of the time, usually from adults who just needed a straightforward vision check and wanted the nearest available slot.

Neither channel was wasted. But treating them the same, judging both on “messages opened,” had led the practice to nearly pause the Meta spend because it looked slower to convert. Once the tagging showed what each channel was actually doing, the fix wasn’t to cut Meta, it was to build a short follow-up sequence for those early-stage parent enquiries and tighten the Google Ads structure around the terms that were already converting fast. The mechanism, not a dramatic rebuild, is what moved the needle: knowing which conversations needed patience and which needed a same-day callback.

What front counters notice once they’re tagging the chat

“We used to argue every month about whether to keep the Instagram ads running. Once we started writing down where each WhatsApp chat actually came from, it stopped being an argument. The Instagram leads just needed more time, they weren’t bad leads at all.” - Practice manager, two-outlet optical chain

“The thing that surprised us wasn’t which ad worked. It was how many enquiries we’d been treating as equal that had nothing to do with booking an exam at all, people just checking if we had a specific lens brand in stock.” - Owner, independent optometry practice

Prefer to just ask? Message Martin directly on WhatsApp: Chat with us on WhatsApp
Portrait of a confident female doctor smiling with arms crossed in a medical office setting. Photo by Antoni Shkraba on Pexels
Photo by Antoni Shkraba on Pexels

FAQ

Do we need expensive call-tracking software to set this up in Singapore? No. Most of what matters here, separate click-to-chat links, UTM-tagged landing pages, and a staff log at the point of reply, can be built with free tools and a shared spreadsheet. Dedicated call-tracking numbers are useful once you’re spending meaningfully on Google Ads across multiple branches, but they’re not where you start.

What if all our enquiries still go through one shared WhatsApp Business number? That’s the normal starting point for most practices. The fix isn’t necessarily a new number for every channel, it’s different pre-filled messages and different landing pages feeding into that one number, so staff can read the source in the first line of the conversation without needing separate inboxes.

How does this change our Google Ads and Meta Ads campaign structure? It usually means fewer, tighter ad groups built around what the person actually wants (a same-week exam versus a myopia control decision that takes weeks), rather than one broad campaign covering every service. Negative keywords matter more once you can see which search terms were quietly producing price-shoppers instead of bookings.

Does this work for walk-ins, not just online enquiries? Yes, and it should. Log walk-ins the same way, noting whether someone mentions seeing your shopfront, a referral from another patient, or a poster in the mall. Without that, walk-in volume quietly gets credited to whatever channel happened to be running that week.

How long before we can trust the data enough to shift budget? Give it a few weeks of consistent tagging before making a call. Myopia control and LASIK referral enquiries especially can take time to convert, so judging a channel on its first fortnight will mislead you in exactly the way the practice above nearly got burned.

Putting it to work

Start this week by pulling the last four weeks of WhatsApp conversations, or your practice management system’s enquiry export, and manually tagging each one with its likely source based on what the person mentioned or which link they clicked. It’ll take an afternoon, maybe two if you’re doing it across branches, but at the end you’ll have your first real split between online enquiries, walk-ins, and referrals, and a rough sense of which of those actually turned into a booked exam.

If closing the gap between a WhatsApp enquiry and a booked exam on your calendar sounds like more plumbing than your front desk has time for, that’s exactly the kind of ongoing tracking and reporting work HeyLead takes on for optometry and eye care practices in Singapore. Chat with us on WhatsApp.

Work with HeyLead
Free marketing audit, or reach Martin directly:
Get a free audit Connect on WhatsApp · [email protected]