Ask a towing company owner in Singapore where their enquiries come from and most will point straight at the phone. Check the WhatsApp Business app sitting on the same handset and you’ll usually find a longer, messier, and more accurate answer than anyone remembers to look at.
Here’s what that costs in practice. A driver stalls on the ECP shoulder with lorries thundering past at eighty klicks. He’s not going to stand there shouting his location into a phone call. He’s going to open Google, tap the first towing listing, hit “message” instead of “call” because that’s quieter and faster, and send a half-typed location pin. If nobody replies inside a few minutes, he messages the next number on the results page. Now two towing companies both think they “got the lead.” Only one of them ever sends a truck, and neither of them can tell you afterward which channel actually produced the job.
That’s the real problem with lead tracking for towing in Singapore. It isn’t a dashboard problem. It’s a reconciliation problem - matching every WhatsApp thread, missed call, and Google Business Profile click back to whether a truck actually rolled, whether that job got invoiced at full rate or came in as a lower-paying insurance panel referral, and which channel keeps producing the jobs worth chasing. Most operators can tell you how many calls they fielded last week. Very few can tell you how many of those became paid, GST-compliant jobs, and by which route the customer actually found them.
Why counting calls misses most of your real enquiries
Towing is one of the few local services where the buying moment is genuinely urgent, and where the preferred channel has quietly shifted under most operators’ feet. Phone call tracking still matters, but in Singapore a large share of first contact now happens in WhatsApp - a tap from the Google Business Profile, a tap from a Facebook post, a forwarded number from a friend. If your tracking setup only counts inbound calls, you’re measuring a shrinking slice of the actual enquiry volume and drawing conclusions from it anyway.
It gets worse once you add the structure of the local towing market on top. A meaningful chunk of jobs here don’t come from a stranded driver searching Google at all - they come through insurance panel dispatch (NTUC Income, AIA, Great Eastern, and similar panels route accident recovery to contracted operators at fixed, often lower, rates). Those jobs look identical to a private full-rate booking in a raw “number of jobs this month” count, but they pay very differently. An operator who doesn’t separate the two will look busy and still wonder why the bank balance doesn’t match the job sheet.
Then there’s access. A breakdown on an expressway shoulder needs a hook truck and Traffic Police awareness. A car stuck in a condo (MCST) basement carpark with a 2.1-metre height restriction needs a flatbed and, often, prior clearance from building security before the truck can even enter. An HDB multi-storey carpark has its own quirks again. None of that is captured by a generic “lead” field, and when it’s missing, trucks get dispatched wrong, jobs get aborted, and the aborted trip still gets logged as “handled” even though nothing was invoiced.
A scored audit forces you to look at these specifics one at a time instead of reading a vague sense that “leads have been soft lately.” Vague impressions don’t tell you whether the problem is response speed, source confusion, or a page that takes too long to load on a cracked phone screen at 2am. The checklist below does.
Audit scorecard
-
1WhatsApp Business, not a personal number
Check whether your public-facing number runs on WhatsApp Business with labels and saved quick replies ("Where are you stuck?", "What's the vehicle?", "Insurance or private job?") or whether it's a personal WhatsApp buried among family chats and old customer threads. A fail here means every new enquiry starts with you typing the same three questions from scratch, slower every time.
-
2Reply time on first WhatsApp contact
Pull your last twenty WhatsApp enquiries and time the gap between the message landing and your first reply. Under two or three minutes is a pass. Anything past five minutes during the day, and longer at night, means the driver has almost certainly already messaged a second number while waiting on yours.
-
3Source tagged the moment the enquiry lands
Does every call, WhatsApp message, and form fill get tagged with where it came from (Google search, GBP call button, Facebook, referral, insurance panel) right away, or does someone try to reconstruct it from memory at month end? Memory fails. A tag typed into a spreadsheet or CRM field at the point of contact doesn't.
-
4Panel job flagged separately from private job
A job dispatched through an insurance panel and a full-rate job booked direct off Google should never sit in the same column of your lead count. If your numbers don't separate them, "we had more leads this month" can mean more panel referrals at lower payout, not more revenue.
-
5Carpark and access type logged before dispatch
HDB multi-storey carpark, condo basement with a height restriction, open expressway shoulder: each needs a different truck and, for condos, often prior MCST security clearance. If this isn't asked and recorded at enquiry stage, you risk sending the wrong truck, eating the wasted trip, and still counting it as a completed job in your reporting.
-
6GST and invoice details captured at the lead, not after
Corporate accounts and insurance jobs usually need a proper GST tax invoice; cash private jobs often don't. Capture which applies when the enquiry comes in, not after the truck's already back at the yard and admin is chasing a company name over text.
-
7Time from first message to truck moving
Track the gap between enquiry and dispatch, especially during the November to January monsoon stretch when flash flooding stalls multiple vehicles in underpasses at once and several enquiries can land within the same ten minutes. If you can't see this number, you can't tell whether a slow month was a lead problem or a dispatch problem.
-
8Every tagged enquiry reconciled against an invoice
At the end of each week, can you match your list of tagged enquiries against the jobs you actually invoiced? Most towing operators can answer "how many calls did we get" and almost none can answer "how many of those became paid revenue, broken down by source." That second number is the only one that tells you where to spend money next.
-
9Review request tied to the job, not sent blind
After a job closes, is there a prompt to ask for a Google review, and is it tagged to the source that produced the job? Review generation that isn't linked to source data tells you your average rating went up. It doesn't tell you which channel is producing the happy, paying customers.
-
10The page a stranded driver actually lands on
Click through from your Google listing on a mobile connection and time it. If the page takes several seconds to load one-handed on a phone with a cracked screen, by the roadside, with the engine ticking as it cools, the driver has moved to the next result before your page finishes painting. Speed is part of lead tracking, not a separate web project.
-
11PDPA consent on every number you keep
Phone numbers and WhatsApp contacts you save for remarketing or follow-up count as personal data under Singapore's Personal Data Protection Act. If you're building a customer list without a consent line somewhere in the first exchange, that's an exposure no analytics tool fixes for you.
-
12One combined list, not three separate counts
GBP call tracking, the WhatsApp chat log, and website form submissions usually sit in three different places with three different totals that nobody ever adds together. Until someone reconciles them into a single list by job and by source, you're guessing at which channel is actually paying for itself.
If you landed on a landing page that loaded slowly on your own phone during item ten, it’s worth watching where a real visitor actually gives up. HeyLead Insights shows scroll depth and where someone’s thumb hovers before they bail on a “WhatsApp us” button, which is usually more revealing than a bounce-rate number on its own.
Get a free marketing audit. We review your search, ads, and landing pages and send back what to fix first.
Get a free audit
Scoring it honestly, and knowing which fails to fix first
Score each item pass, weak, or fail. Pass means you could show a stranger the proof right now. Weak means it exists but nobody maintains it, it’s half set up, or it only works when the owner happens to be the one answering the phone. Fail means it doesn’t exist at all, or you genuinely don’t know the answer.
Fix order matters more than fix speed. Tracking comes before scale: there’s no point running more Google Ads or boosting more Facebook posts if you can’t yet tell which existing channel is converting into invoiced jobs. Spending more against a broken measurement setup just produces a bigger number you still can’t trust. Fix the tagging and reconciliation items (3, 4, 8, 12) before you touch ad budget.
Qualification comes before volume. If your response time is slow or your WhatsApp setup is a personal account with no quick replies, more leads just means more missed messages. A towing company with ten well-handled, well-tagged enquiries a day beats one with thirty enquiries and no idea which three became jobs. Speed and setup items (1, 2, 5) sit right behind tracking.
Compliance and page speed matter, but they’re rarely the thing bleeding you dry this week. PDPA consent and Core Web Vitals (items 10, 11) are worth fixing properly, just not ahead of the basics that are costing you jobs today. GST capture (item 6) sits in the middle: it won’t lose you the job, but it will cost someone an afternoon chasing invoice details that should have been grabbed up front.
A soft-launch SEO or Google Ads push rarely closes this gap by itself. If the measurement underneath it is broken, more traffic just means more unattributed noise. Our analytics and tracking work for Singapore operators usually starts right here, before touching any ad account, because fixing the account first and the tracking later just means repeating the diagnosis in three months.
DIY playbook: the fix order
- 1Move your public number onto WhatsApp Business if it isn't already there, and build three saved quick replies: location, vehicle type, insurance or private job.
- 2For one full week, tag every live enquiry by source the moment it lands, before changing anything else about how you run the business.
- 3Add a simple panel-versus-private flag to that tagging so your "lead count" stops hiding your actual revenue mix.
- 4Set a backup contact who can answer WhatsApp when the main driver is mid-tow, so reply time doesn't depend on one person's hands being free.
- 5At the end of that week, sit down with the tagged list and your invoices, and match them line by line. Note every enquiry that never became a job, and why.
- 6Add a GST / invoice-type field to your enquiry intake going forward so admin isn't chasing it after the truck's already back.
- 7Add a one-line consent note to your WhatsApp template and web form so saved numbers are on the right side of PDPA.
- 8Run your Google listing's landing page through a mobile speed check and fix whatever is slowest, whether that's a heavy hero image, a slow redirect, or a pop-up blocking the "message us" button.
Free tools to run this yourself
Picture a two-truck operator working mostly the east side of the island, handling a mix of condo basement jobs and NTUC Income panel dispatches. Before this audit, every enquiry landed in one WhatsApp inbox with no labels, and the owner genuinely believed Facebook was his best channel because that’s where he remembered seeing the most “nice job, thanks” messages afterward. A week of simple source tagging showed otherwise: most paid, full-rate work was coming from the Google Business Profile message button, and Facebook was mostly producing panel referrals at the lower contracted rate. Nothing about his marketing changed that week. Just the tagging did, and it changed where he put his next month’s effort.

What dispatchers notice once they split the call log by job type
“We always said WhatsApp was quieter than the phone. Turns out it was just unlabelled. Once we tagged threads by source, the phone calls we used to brag about were actually the smaller half of our real enquiries.”
- Owner, two-truck towing company
“The panel jobs were eating our week and we didn’t realise it until we flagged them separately from the private bookings. Same number of jobs on paper, very different bank balance.”
- Dispatcher, 24-hour vehicle recovery service

FAQs
Does moving to WhatsApp Business actually help with tracking, or is it just a messaging upgrade? It’s both. The labels, quick replies, and saved templates speed up response time, and the label field doubles as your source tag if you use it consistently. Without that discipline, WhatsApp Business is just a faster way to miss the same information.
How do we keep tracking accurate during the monsoon spikes when enquiries pile up fast? Tag first, dispatch second, even if it’s a one-word label typed into the thread before you reply. During a flash flood rush you won’t have time for a detailed form, but a one-second habit (source and job type) is enough to reconstruct the week accurately later.
Should insurance panel jobs be tracked the same way as private bookings? Track the enquiry the same way, but flag the outcome differently. You want to know both numbers: total jobs handled, and full-rate revenue versus panel revenue. Treating them as one figure hides the gap between “busy” and “profitable.”
If we can only fix one thing this month, what should it be? Source tagging at the point of contact. Everything else, from response time to reconciliation to ad spend decisions, depends on knowing where each enquiry actually came from. Fix that first and the rest of the audit gets much easier to act on.
Is keeping customer WhatsApp numbers for follow-up a PDPA problem? It can be if there’s no consent and no stated purpose for how you’ll use the number. A short line in your intake message covering what you’ll use the contact for is usually enough to stay on the right side of it, but it needs to actually be there, not assumed.
Putting it to work
Start this week by pulling the last two weeks of WhatsApp threads and call logs side by side. Tag each one manually: source, panel or private, and whether it became an invoiced job. It’ll take an evening, not a project. What you’re looking for is the gap between how many enquiries you think came from Google versus how many actually did, and how many of your “busy week” numbers were panel referrals rather than full-rate bookings.
That gap, between an enquiry landing in WhatsApp, a call, or a Google click and knowing which one turned into a paid, invoiced job, is exactly what HeyLead builds and maintains for towing operators in Singapore: the tagging, the reconciliation, and the reporting that connects your enquiries to real revenue instead of a guess. If that’s the piece you’ve been missing, Chat with us on WhatsApp.
Free marketing audit, or reach Martin directly:
Get a free audit Connect on WhatsApp · [email protected]