A condo pool turns cloudy two days before a facilities manager’s AGM walk-through, and nobody reaches for a phone. They open WhatsApp and send the same message to three pool contractors in the same minute, copy-pasted, no names attached.
You might be one of the three who replies fastest, quotes a fair number, and still loses the job because whoever turns up first for the walk-through usually wins the contract. Or you might win it and have no real idea why. Was it the Google review from last month? The Facebook post about your algae-bloom callout service? The Google Business Profile someone bookmarked after a Telegram group recommended you? Or simply the fact that you were the only contractor who replied without asking the facilities manager to call a landline during office hours? Without that answer, you can’t tell next month’s ad spend where to go. You end up running the same campaigns at the same radius and the same bid, hoping this quarter’s five new routes show up again by accident.
Here’s the part worth knowing before you spend another dollar on ads: a WhatsApp click doesn’t have to be a black box. The chat opens from a link, and that link can carry a tag the same way a UTM parameter rides along on a landing page URL. You just have to build the tag before you paste the link anywhere, not after the enquiries start arriving and you’re trying to reconstruct where they came from.
What a WhatsApp enquiry carries, and what it quietly drops
Most pool maintenance enquiries in Singapore don’t start with a phone call anymore. They start with a tap on a “message” button, whether that button sits on your Google Business Profile, your Facebook page, a Google Ads call extension, or a QR code stuck on the side of your van. Every one of those taps opens the same WhatsApp Business inbox on the same phone, often shared between you and whoever’s filling in that week. And every one of those threads looks identical once it lands: a greeting, a photo of a green pool, maybe a unit number. Nothing in that message tells you it came from a S$30 Google Ads click rather than a free listing on a condo’s vendor directory.
This matters more here than in a lot of markets because so much of the serious enquiry volume for pool servicing in Singapore runs through condo management corporations, the MCSTs, rather than individual homeowners. A managing agent posts a tender request on their portal, shortlists two or three vendors, and then the actual back-and-forth, the questions about chemical dosing, filtration cycles, whether you can start before the next committee meeting, happens over WhatsApp with the facilities executive. That’s a two-step enquiry: a portal listing or referral starts it, and a messaging app finishes it. If you’re only watching your Google Ads dashboard or your GBP insights, you’ll never see the portal step, and if you’re only watching the portal, you’ll miss the fact that the facilities exec picked you because you answered a WhatsApp question in ten minutes flat.
A Google Ads click can carry a tracking number without much effort, because call tracking has existed for call extensions for years. A WhatsApp click needs the same discipline applied differently. The “wa.me” link that opens a chat accepts a pre-filled text parameter, and that parameter can hold a short reference code the same way a UTM tag holds a campaign name. Paste a different tagged link on your Google Ads landing page, your GBP messaging button, your Facebook bio, and your van signage QR code, and the message that lands in your inbox tells you, in plain text, where the person clicked from before they ever typed a word themselves.
If untangling which channel actually produced last month’s signed routes feels like more work than a notebook can hold, that’s exactly the kind of reconciliation HeyLead’s analytics and attribution work is built around: tying a messaging click, a call, and a signed contract back to one source, without you having to stitch it together manually every week.
A tagged lead versus a message that only looks like one
Healthy lead tracking for a pool round doesn’t need a complicated CRM. It needs a handful of habits that get applied every single time, because the moment you skip tagging “just this once,” you lose the thread on that enquiry permanently. In a setup that’s actually working, every quote you send out carries a short reference code tied to its source: GADS for Google Ads, GBP for your Google Business Profile, FB for Facebook, REF for word of mouth. That code shows up on the quotation PDF and on the GST invoice once the job is signed, so months later you can pull a stack of invoices and know in seconds which channel actually turned into recurring weekly work rather than a one-off algae flush.
A healthy setup also separates the phone numbers people call. One number sits on your Google Ads call extensions, one on your GBP listing, one on your printed materials, all forwarding to the same phone but logged separately on the way in. And once a job signs, that win gets fed back into Google Ads as an offline conversion rather than left sitting in a spreadsheet, so the bidding system starts learning from “this became a contract” instead of just “this clicked a button.”
Here’s what doesn’t belong in that picture, even though it feels like progress at the time. Raw WhatsApp message counts are close to useless on their own, because most of them are price checks: someone wants to know roughly what a monthly service costs before they’ve even decided to replace their current contractor. GBP profile views tell you people looked, not that they needed anything. Meta’s own “leads” count in Ads Manager often counts an opened chat as a conversion the instant someone taps through, whether or not they ever reply to your first message back. And a last-click view of any of this falls apart entirely on an MCST tender, where the enquiry genuinely started three weeks earlier on a portal nobody in your ads account can see.
The fix isn’t more dashboards. It’s fewer numbers, tracked consistently, and checked against what actually got signed.
Get a free marketing audit. We review your search, ads, and landing pages and send back what to fix first.
Get a free audit

Setting up the tags before the next green-pool message lands
None of this needs to be built in a single afternoon, but it does need to exist before the next round of enquiries arrives, because retrofitting source tags onto three months of old WhatsApp threads from memory is close to impossible. Here’s the order that tends to work for a pool servicing operation running a mix of condo routes and private jobs.
Apply it: building source tracking that survives a Tuesday rush
- 1Build a separate tagged WhatsApp link for every channel you advertise on: one for the Google Ads landing page, one for your GBP message button, one for Facebook and Instagram, one for a QR code on your van and invoice. Each link's pre-filled text should carry a short reference code so it shows up the moment the chat opens, before you've typed anything.
- 2Set up a dedicated call tracking number for your Google Business Profile and another for your Google Ads call extensions, both forwarding to your main line, so a call and a WhatsApp click from the same ad land in the same bucket when you review the month.
- 3Give every quotation a reference number tied to its source tag, and carry that same number through to the GST invoice once the job signs, so a stack of paperwork can answer "where did this come from" without you remembering.
- 4Keep a simple log, a spreadsheet is fine, that records enquiry date, source tag, quote sent, and whether it converted into a signed weekly or fortnightly route. This is the one document that tells you your real cost per signed job by channel.
- 5Feed signed contracts back into Google Ads as offline conversions each month, not just clicks or form fills, so Smart Bidding is optimizing toward routes that actually got signed rather than messages that went quiet.
- 6Check your Google Business Profile weekly for new reviews and unanswered questions. Facilities executives comparing three vendors in the same WhatsApp group will check your rating and your response time before they'll check your price.
- 7Audit your business name, address, and phone number across your GBP, directories, and any condo vendor portals you're listed on every few months. A stale number on one listing quietly breaks the match-back before a lead even reaches your inbox.
- 8Set aside twenty minutes once a month to reconcile signed contracts against your source log. This is where you'll actually see which channel is paying for itself and which one is mostly generating price-check messages that never convert.
DIY tools for this section
None of these steps are complicated on their own. What makes them hard to sustain is that they need to happen every single time, on every single enquiry, including the ones that arrive at 9pm the night before a condo’s pool party. That’s usually where it falls apart in-house: the tagging works for the first two weeks, then a relief staff member answers a message on the untagged number and the data goes patchy again.
What pool round owners say once they start asking “where did you see us?”
“Every enquiry that comes in on WhatsApp used to look the same to me. Price check, emergency, condo tender, it was all just a blue tick and a question about algae. I only started telling them apart once I made myself ask one more thing before I quoted: where did you see us?” - Owner, two-van pool servicing company, Singapore
“The managing agent wants three quotes by Friday. Nobody on my end is chasing down which Facebook post got us shortlisted. I just want next month’s job sheet full, so the tagging only stuck once it stopped needing me to remember anything.” - Operations lead, residential pool maintenance firm, Singapore

FAQ
Do I need a CRM to track leads, or can WhatsApp and a spreadsheet do the job? A spreadsheet is genuinely enough for most pool rounds under a handful of staff. What matters is consistency, not software: every enquiry gets a source tag, every quote gets a reference number, and the log gets updated the same day, not from memory a week later. A CRM helps once you’ve got multiple staff quoting and you need the tagging enforced automatically rather than by habit.
How do I tag a WhatsApp link without it looking odd to the person reading it? Keep the pre-filled text natural and put the reference code at the end, something like “Hi, I’m enquiring about pool servicing (ref: GBP).” Most people don’t notice or care about the bracketed code, and it’s gone the moment they start typing their own reply, but it’s already told you what you needed to know.
Does any of this change how I invoice for GST? Not structurally. Your GST-registered invoice still needs the same line items it always did. The only change is adding the same short reference code you used on the quotation, so the paper trail from enquiry to signed contract to invoice stays intact without extra admin.
How long before I can trust the source data enough to shift ad spend? Give it a full sales cycle, which for condo tenders can run four to six weeks between first enquiry and signed contract. Shifting budget after two weeks of tagged data on a cycle that long usually means reacting to noise rather than a real pattern.
What about MCST tenders that only go through a portal, not WhatsApp at all? Those still matter, and they still need tracking, just differently. Note the portal and the condo name in your log the day you submit, then tag the follow-up WhatsApp thread with the facilities exec the same way you would any other enquiry, so the two halves of that lead stay connected in your records.
Putting it to work
This week, open the WhatsApp inbox your enquiries land in and pull the last twenty threads that turned into a signed job. For each one, write down where you think it started, Google, Facebook, GBP, referral, a condo portal, even if you’re guessing from memory. That exercise alone usually shows you how many of your best jobs you genuinely can’t explain, and that gap is exactly what tagging going forward closes.
If the gap between a WhatsApp ping and a signed, GST-invoiced route is the thing eating your Monday mornings, HeyLead can build and maintain that tracking end to end, from the tagged click through to the offline conversion feeding your Google Ads account, so you’re not the one piecing WhatsApp threads and quote numbers together before the next AGM. Chat with us on WhatsApp.
Free marketing audit, or reach Martin directly:
Get a free audit Connect on WhatsApp · [email protected]