Open the search terms report for a Tampines or Jurong West plumbing account and you will usually see two businesses fighting over the same budget. One is a homeowner Googling how to reseat a tap washer. The other is a condo MCST or HDB resident who needs a van tonight and will pay in Singapore dollars without shopping three forums first. Google Ads for plumbing Singapore only works when you treat those as different products, with different bids, different pages, and different success metrics.
Singapore Search is dense, mobile-heavy, and impatient. People type on a phone in a kitchen that is already wet. They expect a call or WhatsApp reply in minutes, not a brochure site. Singapore plumbing CPCs for emergency terms routinely sit between S$4 and S$9 depending on daypart and area - and they have been rising as more franchise operators enter paid search. A chunk of SEM budgets still dies on irrelevant queries, neglected negatives, or homepages that do not match the ad. You do not need another “near me” campaign. You need an account that maps to job tickets: emergency leak, blocked drain, water heater, gas, commercial after-hours, and the DIY traffic you refuse to buy.
This piece is the build: how intent actually shows up in SG, how to structure Search and (if you use it) Performance Max around job value, what the landing page and WhatsApp handoff must do, and how to keep bidding honest when last-click and privacy gaps lie to you.
Three Singapore plumbing markets hiding in one Google Ads account
Most plumbing accounts in Singapore start as one Search campaign, a handful of phrase match keywords, and a location pin on the whole island. That looks tidy. It also mixes HDB stack leaks in Toa Payoh with “how to unblock sink” from a student in a rental, and with facilities managers hunting a licensed plumber for a mall plant room. Google will happily spend on all three. Your ops board will not.
Urgency is not a vibe here. It is a clock. A burst pipe in a condo at 11 p.m. is a different buyer from a Saturday morning “slow drain” in an HDB kitchen. The first caller wants a 24-hour plumber, proof you can work in an MCST building, and a number they can tap. The second will compare two more ads and maybe watch a YouTube clip. If both land on the same homepage, you train Smart Bidding that a form fill from a DIY query is as good as a booked truck roll. It is not.
Language on the query side is blunt: “plumber near me”, “24 hour plumber Singapore”, “choked toilet”, “water heater leak”, “PUB pipe”, “licensed plumber”. Tutorial language is just as blunt: “how to”, “DIY”, “fix myself”, “cheap”, “salary”, “course”. Twenty to thirty percent of SEM spend routinely goes to that second pile when negatives and landing pages are lazy. Mobile already takes 63%+ of paid search clicks globally, and conversion on mobile often lags desktop by 30-40% if the page is slow or the tap-to-call is buried. In SG that lag shows up as missed after-hours jobs, not as a pretty bounce-rate chart.
A realistic split for a two-van firm covering east and central: emergency water (leaks, bursts, no water), drainage (choke, grease, inspection cameras), hot water and heaters, and a thin commercial/MCST layer if you actually staff it. Do not invent a “general plumbing” campaign because the keyword tool suggested it. If you cannot dispatch it tonight, do not bid on it as if you can. If you only run domestic, negative out “commercial”, “factory”, “shopping mall” unless you want those calls sitting in voicemail.
If your ads still dump everything on the company homepage, pause before you raise budget. Dedicated pages that match the query (emergency leak vs heater replacement) are the difference between a cheap click and a job. When that handoff is the bottleneck, Google Ads management only pays after the page and the phone path are aligned.
A job-ticket Search build, not a keyword dump
Start from the dispatch board, not from the Keyword Planner. List the jobs you want this month in SGD: after-hours leak, weekday choke, heater swap, gas (only if licensed and insured), commercial callout. Put a rough ticket value and close rate next to each. That list is your campaign architecture. Everything else is supporting evidence.
Keep the account small on purpose. Fewer campaigns, cleaner conversion setup, and stronger signals beat a 2024-style maze of micro-ad-groups that reset learning every time someone “optimises”. Performance Max can drive a large share of volume once conversion quality is real, but do not let PMax become a dumping ground for queries you would never bid on in Search. Search still needs keywords. Signals do not replace them; they rank them.
Audit scorecard
-
Intent inventory in SGDExport 90 days of search terms
Intent inventory in SGDExport 90 days of search terms. Tag each row as bookable job, maybe, or never. Never includes DIY, jobs, courses, parts-only, and other cities. If more than a fifth of spend sits in never, you do not have a bidding problem. You have a query problem.
-
Campaigns by ticket, not by vanity themeOne campaign per job family you
Campaigns by ticket, not by vanity themeOne campaign per job family you can actually staff. Emergency water separate from drains separate from heaters. Shared budget across mixed intent is how a cheap “tap repair” query starves a high-value burst-pipe ad after 9 p.m.
-
Match types that do not invite tutorialsExact and tight phrase on money Watch
Match types that do not invite tutorialsExact and tight phrase on money terms: 24 hour plumber, burst pipe, choked toilet, water heater leaking. Broad only after negatives are mature and conversion tracking is clean. Broad without that stack is how you buy “plumbing course Singapore”.
-
Negatives as a weekly hygiene jobSeed lists: how to, DIY, myself, salary
Negatives as a weekly hygiene jobSeed lists: how to, DIY, myself, salary, job, course, meaning, parts, HomeFix if you are not that brand, other countries, brand names you cannot service. Add them at account level, then campaign level for commercial vs domestic. Ask any agency who will manage the account how they handle negatives. If the answer is vague, the waste will not be.
-
Ads that name the job and the next actionHeadlines should say emergency
Ads that name the job and the next actionHeadlines should say emergency plumber Singapore, HDB and condo, same-day choke, licensed, WhatsApp or call. Sitellinks to emergency, drains, heaters, service areas. Do not write poetry about “trusted local experts”. The person is standing in water.
-
Geo that matches the vansPresence targeting on the planning areas you ac
Geo that matches the vansPresence targeting on the planning areas you actually cover in under 45 minutes. Exclude zones you routinely decline. Island-wide “presence or interest” is a classic way to pay for someone researching from Johor or a tourist in Orchard who will never book you.
-
Schedules that follow the rosterIf nobody answers after 10 p
Schedules that follow the rosterIf nobody answers after 10 p.m., do not run call-only ads at 1 a.m. unless a call centre or on-call tech is real. Bid adjustments by hour beat a 24/7 campaign that generates voicemail and trains the algorithm that “conversions” are abandoned calls.
-
Bidding only after the signal is honestNew accounts under CPC pressure o
Bidding only after the signal is honestNew accounts under CPC pressure often snap back to manual CPC because automated bidding looks expensive. Automated bidding inflates spend when you optimise to the wrong event (page view, any form, 10-second call). Optimise to qualified call or booked job. Enhanced Conversions and a clean primary conversion protect against the 20%+ data loss from ad blockers and privacy changes. Accounts that adopt Smart Bidding with clean conversion signals and mature negative lists have reported 15-20% lower CPCAs versus equivalent manual-CPC setups in Google's own case studies - but only after the junk query layer is removed.
-
PMax on a leashIf Performance Max “drives the bulk now”, give it asset g
PMax on a leashIf Performance Max “drives the bulk now”, give it asset groups that match job families, strong location and customer-list signals, and Search themes you already trust. Watch search-term insights. If PMax starts harvesting DIY and brand-of-competitor junk, cut inventory, add brand exclusions, and keep high-intent Search as the control.
-
Do not promise a CPL before the account existsNobody can guarantee a spe
Do not promise a CPL before the account existsNobody can guarantee a specific ROAS or cost per booked job before seeing your unit economics, close rates, and pages. Cross-industry Google Ads ROAS averages around 4.2x in 2026 data. Your plumbing mix will not match a national ecommerce number. Treat 3-6 months of clean tracking as the honest ramp, not week one hero screenshots.
Action checklist
- Pull search terms, calls, and WhatsApp leads for 60 days. Mark which ones became paid jobs. That file is more useful than any forecast.
- Build or split campaigns so emergency water cannot subsidise tutorial traffic.
- Write RSA copy that names HDB/condo, same-day, licensed, and tap-to-call or WhatsApp. One promise per ad group.
- Point each ad group at a matching landing URL, not the homepage. If they say they just send traffic to the homepage, you already know the outcome.
- Turn on call reporting and a unique tracking number per campaign family. Count 60-second+ calls separately from pocket dials.
- Implement Enhanced Conversions and fire one primary conversion: qualified enquiry or booked job. Stop sending “thank you page views” as the optimisation target.
- UTM every ad so GA4 and your job sheet can be reconciled. Last-click will still double-count. You still need a source tag on the ticket.
Free tools - try these yourself
A Bedok owner running two vans learned this the hard way when “plumber Singapore” exact match looked efficient at S$4.80 a click until ops showed 11 of 17 weekday forms were price-only DIY. They carved emergency into its own campaign, added how-to negatives, and sent remaining traffic to a leak page with tap-to-call above the fold. Cost per booked job did not magically collapse overnight. The mix of jobs on the board did. That is the only chart that matters.
Get a free marketing audit - we review your search, ads, and landing pages and send back what to fix first.
Get a free audit

After the click: speed, proof, and WhatsApp, not a homepage tour
Singapore plumbing ads lose money on the page more often than in the auction. Someone taps an emergency RSA at 12:40 a.m. from a phone with wet fingers. If the hero is a slider, the H1 is “Welcome”, and the number is in the footer, they bounce to the next plumber. Only 55.9% of origins pass all three Core Web Vitals in May 2026 CrUX data. A slow INP on a form button is not a technicality when the alternative is the next ad.
Match the message. If the ad said choked toilet in HDB, the page should say choked toilet in HDB, show a van photo that looks like Singapore, list after-hours hours, and put call and WhatsApp as the first two actions. Proof is operational: licence, insured, MCST experience, response window, review snippets that mention actual jobs. Adding operational proof - licence number, response SLA, a real job photo - consistently lifts contact-button taps in CRO tests across home-services pages. For plumbing, a short “on the way in 40 minutes” line beats a brand manifesto.
Forms should be short: name, mobile, estate or postal, job type, photo upload optional. Many SG buyers will not finish a long form. They will tap WhatsApp. Treat WhatsApp as a tracked conversion with a timestamp and a dispatcher attached - not an informal inbox that gets checked between jobs. If Instant Forms ever tempt you, test them against a fast page. Forms that dump unqualified “interested” leads into a spreadsheet without a dispatcher attached will look cheap in Google Ads and expensive on the van calendar.
This is where on-site behaviour evidence helps. HeyLead Insights is built for seeing whether people ever reach the number, where they rage-tap, and which proof block they skip. Guessing that “the page is fine” while mobile conversion lags desktop by a third is how you keep buying clicks that never become tickets.
A Jurong facilities manager once sent three RFQs from the same Search session because every plumber site asked for a full company profile before showing after-hours rates. The firm that won put commercial callout pricing bands in SGD, a direct mobile number, and a one-line SLA. They did not win on CPC. They won because the page let a tired manager act. If paid traffic still dies after the click, a focused landing page rebuild is usually cheaper than another month of mixed-intent keywords.
What marketing leaders are seeing
A pattern we see repeatedly: a growth lead in Singapore home services told us they had Smart Bidding “winning” on 15-second calls. Dispatch said those callers hung up when they heard the IVR. They switched the primary conversion to 60-second connected calls and the dashboard looked worse for two weeks, then the vans filled.
A pattern we see repeatedly: a plumbing founder told us island-wide presence targeting was buying research clicks from people who were never going to wait for an east-side crew. Tightening geo to where vans actually arrive in under 45 minutes cut junk faster than any bid strategy change.

FAQs
Should plumbing companies in Singapore use Performance Max or only Search?
Use Search as the control for emergency and high-intent job terms. Add Performance Max only after qualified conversions are clean and you can read search-term insights. PMax can deliver strong ROAS in well-fed accounts, sometimes in a 4x-8x band when creative, feed, and conversions are aligned. It will also spend on junk if you let it. Do not turn off branded Search just because PMax looks busy.
Is automated bidding a waste for a small plumbing budget?
It is a waste if you optimise to the wrong action or keep changing structure daily and resetting learning. It is useful when the primary conversion is a qualified call or booked job, Enhanced Conversions are on, and negatives are maintained. Manual CPC is a temporary brake on new accounts with thin data, not a philosophy.
How do we stop paying for DIY and “how to” queries?
Weekly search-term reviews, account-level negatives, separate campaigns so cheap tutorial clicks cannot steal budget from burst-pipe ads, and landing pages that do not rank as helpful for DIY in the ad copy. If the ad sounds like a tutorial, Google will find tutorial searchers.
What should we track besides form fills?
Call duration, WhatsApp conversations that produce a job number, show-up rate, and revenue on the ticket. In-platform CPA will diverge from the job sheet. Last-click also double-counts. Keep UTMs on every ad and a source field on every job. Attribution is shaky as a CEO answer; it is still useful as a plumber’s diagnostic if the events are honest.
How fast should a landing page be for after-hours ads?
Target LCP under 2.5 seconds and INP under 200ms on a mid-range Android device on 4G. Run PageSpeed Insights on the emergency URL from a mobile emulation profile - if LCP is above 3 seconds, fix hosting or compress images before raising bids. Fast enough that the call button is usable before the next ad. Check Core Web Vitals, especially INP on mobile. If the page fails, fix that before you raise bids. A pretty desktop site that stutters on a wet phone is an expensive filter.
Putting it to work
Execution sprint
This week
- Pull 30-90 days of performance for Singapore plumbers: book jobs, not tutorial c (Search Console, ads, CRM, or call logs - whatever you have).
- Flag the top leak: wrong intent, weak page, slow response, or dirty conversion tracking.
- Ship one fix on the highest-traffic money path (page, campaign split, or response rule).
- Run the free tools below on that same URL or account and log the findings.
Free tools for this sprint
Next 30 days
- Expand the fix to the next one or two money paths only after the first one shows cleaner bookings.
- Align creative, keywords, or content with the same offer the page now states.
- Review booked outcomes weekly; cut anything that still only produces unqualified volume.
This week
-
Export 60 days of search terms and tag bookable vs never. Pause or negative the never list the same day.
-
Split mixed “plumber Singapore” spend so emergency water is its own campaign with its own budget cap.
-
Put tap-to-call and WhatsApp above the fold on the emergency URL. Remove sliders.
-
Change the primary conversion to qualified call or booked job. Stop optimising to any form.
-
Tag ads with the UTM link builder and add source on the job ticket.
-
Run the Core Web Vitals checker on the money pages from a phone profile.
Next 30 days
-
Rebuild one job-family landing page (leaks or chokes) with SGD-relevant proof and a photo upload.
-
Tighten geo to planning areas your vans actually cover.
-
If you use PMax, constrain asset groups and review search-term insights weekly without daily restructures.
-
Reconcile Google Ads “conversions” to paid jobs, not to CRM form volume.
-
If the DIY list keeps growing, you need more negatives and tighter copy, not more budget.
Pull the last 60 days of plumbing leads by query and mark which ones became paid jobs in SGD. That single pass shows whether Google Ads is buying truck rolls or tutorials. HeyLead can take over the unglamorous loop that actually moves this: search-term hygiene, job-value campaign structure, emergency pages that match the ad, and conversion signals that Smart Bidding can trust. Chat with us on WhatsApp
Free marketing audit, or reach Martin directly:
Get a free audit Connect on WhatsApp · [email protected]