The dispatch board fills when a water heater dumps on a basement floor at 6:40 a.m., not when someone browses “best plumber near me” for a Saturday quote. That gap is where most Google Ads for plumbing companies either print money or quietly burn 20-30% of spend on DIY, landlord research, and “how to snake a drain” queries that will never become a booked truck. Emergency plumbing terms in major metros average $18-$45 CPC in 2025-2026 depending on market density, with slab-leak and burst-pipe keywords pushing past $60 in competitive cities. If you still treat the account like a single “plumbing” campaign dumping into the homepage, you already know how that week feels: plenty of clicks, a thin call log, techs sitting while the phone looks busy in Ads Manager.
This piece is for marketing owners at plumbing firms, not homeowners. It walks through how Search, Performance Max, negatives, call tracking, and job-type landing pages actually work when the product is a truck roll, not a cart. You can run the play yourself. You can also see why it is a standing program, not a weekend setup.
Where plumber Search spend dies before a truck is even dispatched
You are not fighting “awareness.” You are fighting mixed intent on the same root words. “Plumber,” “water heater,” and “drain” sit on emergency jobs, planned replacements, parts shopping, and YouTube-level DIY. Google will happily match all of them if you leave phrase and broad open without a ruthless negative list. That is how 20-30% of SEM budgets get wasted on irrelevant queries, neglected negatives, or a landing page that talks about the company instead of the job the ad promised.
Mobile is most of the click stream. Globally, mobile already accounts for 63%+ of paid search clicks, and conversion still lags desktop by 30-40%. For plumbing that lag is operational, not just “mobile UX.” Someone on a wet kitchen floor will tap Call now if the number is in the ad and the page loads. They will bounce if the form is four fields deep, the hero is a stock van photo, and the first proof is a 2019 award badge. Only 55.9% of origins pass all three Core Web Vitals in May 2026 CrUX data. A slow plumber page on a cheap theme is not a branding problem. It is missed emergency revenue.
Smart bidding makes the mess worse when the conversion you feed it is a form fill, not a booked job. Lose 20%+ of conversion data to ad blockers and privacy changes, and Maximize Conversions starts chasing junk. Plenty of owners then yank the account back to manual CPC on a new campaign “until it settles.” That feels like control. It usually just freezes learning while CPCs keep climbing. Automated bidding does not magically inflate spend. Weak signals do. If you only count last-click form submits, you will swear Google is lying when a callback from a branded search closes a $4,800 tankless install that started on an emergency ad two days earlier.
If your current agency sends all ad traffic to the homepage, that is your cue to stop and demand dedicated landing pages per job type. Dedicated pages for burst pipes, water heater replacement, sewer camera, and hydro jetting convert because the ad, headline, and offer match the job. If your post-click path is the leak, a short pass through HeyLead Insights on scroll, tap, and form abandon will show you the exact block where the homeowner gave up, without guessing from a monthly PDF.
Split the account by job economics, not by “plumbing” as a brand
A drain clearing at 11 p.m. and a 40-gallon tank swap next Tuesday are not the same unit economics. They should not share a budget, a bid strategy, or a landing page. Search still needs keywords even as Google leans on signals. You keep the keyword layer for high-intent clusters (emergency plumber, water heater replacement, sewer line repair, slab leak) and you let Performance Max carry the bulk once conversion quality is clean. Operators already say it out loud: Performance Max drives the bulk now. Treat that as a later stage, not day one, if your call tracking is still a website phone number forwarded to the shop line.
Build fewer campaigns with broader match inside each job cluster, not 40 tightly themed ad groups that you rewrite every time Google changes match behavior. Constant structure changes reset learning. Daily tweaks kill Performance Max before it has a chance. The 2020 playbook of stacking tiny audiences does not belong here anyway. Plumbing buyers are not a lookalike of last month’s Facebook fans. They are people with a wet floor, a failed inspection, or a tank that is 12 years old. Creative and offer do more targeting than another layer of in-market segments. On Search that means RSA copy that names the job, the response window, and the after-hours reality, not “family owned since 1987” in every pin.
Call-only and call extensions still matter because the close happens on the phone. Track unique numbers per campaign so emergency Search is not credited for a booked remodel that started on organic. Last-click will double-count if you also fire a form conversion on the thank-you page. Pick one primary conversion per job type: qualified booked dispatch or qualified estimate set, not “clicked call.” Feed Enhanced Conversions so you claw back some of the 20%+ signal loss. Then, and only then, let Target CPA or Maximize Conversion Value run. High CPC pressure will tempt you back to manual. Resist it on mature campaigns. Use manual only while you are collecting the first clean 30-50 qualified conversions on a brand-new job cluster.
If Search is already the engine and the site still dumps every click on one URL, Google Ads management is only half the job. The other half is the page the truck’s revenue actually depends on.
Get a free marketing audit - we review your search, ads, and landing pages and send back what to fix first.
Get a free audit

The plumber Search playbook you can run without another tab open
This is the operational core. Do it in order. Skip a step and Smart Bidding will optimize the wrong thing. The jobs named below are the ones that actually fill a plumbing company’s week: burst pipes, clogged mains, water heater failure, sewer camera, hydro jetting, slab leak, fixture install, and commercial after-hours callouts.
Audit scorecard
-
Intent inventory, not a keyword dumpExport 90 days of search terms
Intent inventory, not a keyword dumpExport 90 days of search terms. Tag each row as emergency truck, planned replacement, commercial, DIY/how-to, parts, or competitor brand. If DIY and how-to exceed 15% of spend, you do not have a bidding problem. You have a negative and match-type problem. Keep “emergency plumber,” “24 hour plumber,” “water heater replacement,” “sewer camera inspection,” and city + job terms. Negate snake, DIY, salary, apprentice, parts only, and “how to” stems in phrase and exact.
-
One campaign per economic clusterEmergency, water heaters, drain and sew
One campaign per economic clusterEmergency, water heaters, drain and sewer, and commercial after-hours each get their own campaign and daily cap. Do not let a $180 CPC slab-leak term starve because a $9 “plumber near me” ad group is soaking the shared budget. Brand sits alone so you can see what you already own versus what you pay to defend.
-
RSAs that name the job and the clockHeadlines should read like a dispatc
RSAs that name the job and the clockHeadlines should read like a dispatch note: burst pipe, same-day water heater, licensed sewer camera, after-hours tech on call. Pin one headline with the city only if you actually cover it. Skip clever slogans. Callouts: licensed, upfront diagnostic, 24/7, financing on replacements. Sitelinks to the matching service page, not About.
-
Landing pages that match the ad, not the brand storyEmergency pages lead
Landing pages that match the ad, not the brand storyEmergency pages lead with Call now, a visible number, response window, and three proof points (license, insured, recent job photo). Replacement pages lead with make/model coverage, haul-away, and a short estimate form. If the ad says hydro jetting, the H1 cannot say full-service plumbing. Form fields: name, phone, issue, zip. That is it. Check titles and H1s so the query and the page agree.
-
Speed on the wet-floor phoneRun Core Web Vitals on every money page
Speed on the wet-floor phoneRun Core Web Vitals on every money page. INP and LCP failures on mobile are missed calls. Compress the van hero. Kill auto-playing video above the fold. Click-to-call must work without a second tap through a modal. If origins in your stack fail the CrUX bar, paid traffic will look expensive no matter how pretty the RSAs are.
-
Conversions that mean a booked truckPrimary conversion: call over 60 sec
Conversions that mean a booked truckPrimary conversion: call over 60 seconds from ads, or a form that dispatch marks as booked. Secondary: directions and callback requests. Enhanced Conversions on. No duplicate thank-you fires. If sales later marks a lead as DIY or tire-kicker, push that offline so bidding stops hunting those queries.
-
Negatives as a weekly hygiene job, not a launch artifactPlumbing search
Negatives as a weekly hygiene job, not a launch artifactPlumbing search terms rot fast. New DIY videos mint new queries every week. Review search terms at a set cadence without rebuilding campaigns. Shared negative lists for jobs, DIY, careers, and other trades (HVAC, electrician, roofing) stop cross-contamination when match types drift.
-
Performance Max only after Search is cleanFeed PMax the same conversion
Performance Max only after Search is cleanFeed PMax the same conversion and the same asset groups by job. Brand exclusions if it cannibalizes your exact brand campaign. ROAS benchmarks from e-commerce don't map cleanly to truck-roll businesses. Focus on cost per booked dispatch - well-structured plumbing accounts typically target $45-$120 CPL for emergency calls depending on market, rising to $150-$250 for replacement jobs. Do not promise a number before you have seen the account, the pages, and the dispatch close rate. No one can guarantee a specific ROAS or CPL up front, and anyone who does is selling a 2024 slide.
-
Geo and schedule that match the trucksBid only where you actually roll
Geo and schedule that match the trucksBid only where you actually roll. Radius plus zip exclusions for lakes, industrial parks you do not serve, and cities that look close on a map but cost 90 minutes of drive time. Ad schedule should follow on-call reality. If you do not take 2 a.m. jobs, do not pay 2 a.m. CPCs. If you do, the emergency campaign stays on and the replacement campaign sleeps.
-
Reporting that a dispatcher could useWeekly: spend, qualified calls, boo
Reporting that a dispatcher could useWeekly: spend, qualified calls, booked jobs, cost per booked job, top wasting queries, and landing conversion by cluster. Monthly PDFs bury the leak. Quality leads, not more leads. A 40-lead week of homeowners asking for a $89 snake when you sell replacements is a loss even if CPA “looks efficient.”
Action checklist
- Pull search terms and tag them by job type and junk. Pause any ad group whose junk share is above 20% until negatives are in.
- Stand up four landing URLs (emergency, water heater, drain/sewer, commercial) even if they start as stripped templates. Align H1, first paragraph, and CTA to the RSA.
- Install unique call tracking per campaign and a 60-second qualified-call rule. Confirm the tag does not double-count with the form.
- Only after 30-50 qualified conversions per cluster, switch that campaign to Target CPA using last 30 days of true booked-job cost, not form CPA.
- UTM every sitelink and call-only variant so GA4 can separate emergency mobile calls from desktop estimate forms.
Free tools - try these yourself
A Midwest multi-truck shop ran one “Plumbing - Search” campaign at $9,400 a month into the homepage. Search terms showed 28% of spend on “how to fix running toilet,” “plumber salary,” and neighboring cities they refused. They split emergency vs water heater, moved emergency to a call-first page, and cut the junk with a shared negative list. Booked emergency jobs did not explode overnight. Cost per booked dispatch dropped because the clicks that remained were wet-floor clicks. That is the mechanism: stop paying for research, then let bidding work on real jobs.
Another owner kept Performance Max on from week one with a contact form as the only conversion. Google optimized for 11 p.m. tire-kickers filling the form for a $0 quote. After they switched the primary conversion to calls over 75 seconds and excluded brand from PMax, Search exact for “tankless water heater install” started carrying the profitable mix again. PMax still ran, but it stopped being the unaccountable bulk of spend.
What marketing leaders are seeing
A typical pattern we see: “We let Maximize Conversions run on form fills for six weeks. CPC looked fine. Dispatch said half the calls were people asking how to reset a garbage disposal. We changed the conversion to 60-second calls and the junk queries showed up in the search terms the next morning.”
A typical pattern we see: “Performance Max was 70% of spend and nobody could tell which jobs it was buying. We pulled brand out, gave it only the water-heater page, and Search exact started paying for the installs again.”

FAQs
Should plumbing companies use broad match in 2026?
Yes, inside a tight job cluster, with a living negative list and a conversion that means a booked truck. Broad without those two is how DIY and careers queries eat the budget. Signals over keywords is real. It is not permission to skip search-term hygiene.
Is Performance Max enough on its own for a plumbing firm?
Not at the start. Use Search to control emergency and replacement intent, then add PMax when conversion quality is trustworthy. PMax can deliver strong ROAS in clean accounts. It will also happily optimize a bad form if that is all you give it.
Why did automated bidding raise spend without better jobs?
Because the algorithm maximized the conversion you defined. If that conversion is a short call or a vague form, spend follows junk. Fix the signal, wait for learning, then judge CPA on booked jobs. Flipping to manual every time CPC spikes usually resets the only thing that was working.
Do we still need keywords if Google is “AI Max” and signal-led?
Yes. Early accounts testing AI Max report mixed CPC impact - some seeing modest reductions, others neutral. For plumbing, the keyword layer still matters more than the bidding layer at this stage. Keep the keyword layer. Use AI bidding on top of it, not instead of it.
How long before Google Ads looks “stable” for a plumbing company?
Plan on 3-6 months of clean tracking, negatives, and page tests before you treat CPA as a planning number. Faster “guarantees” ignore dispatch close rates, seasonality (frozen pipes vs summer AC crossover if you also run HVAC), and the first round of junk queries.
Putting it to work
Execution sprint
This week
- Pull 30-90 days of performance for plumbing (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 highlight every DIY, careers, and out-of-area query that spent more than a few dollars.
-
Write one shared negative list from that export and apply it to every non-brand campaign.
-
Point emergency ads at a call-first page and water-heater ads at an estimate page. Do not leave both on the homepage.
-
Change the primary conversion to qualified calls or booked jobs. Turn on Enhanced Conversions.
-
Run Core Web Vitals and a snippet preview on those two pages so mobile call taps are not waiting on a 4MB hero image.
-
Tag sitelinks with the UTM builder so emergency mobile and desktop estimates do not collapse into one channel in GA4.
Next 30 days
-
Split budgets by job cluster and stop sharing one daily cap across emergencies and replacements.
-
Collect 30-50 qualified conversions per cluster before you trust Target CPA.
-
Add Performance Max only with brand excluded and assets grouped by job.
-
Reconcile Ads conversions against dispatch booked jobs once a week, not in a month-end slide.
-
If you stall, use the free audit on account structure and landing alignment rather than adding another campaign type.
Start by pulling the last 60 days of plumbing search terms and marking every query that could never become a truck roll. That single list usually explains more wasted spend than any bid strategy debate. HeyLead can take the ongoing search-term hygiene, job-cluster bidding, and ad-to-landing match for plumbing Google Ads off your plate so dispatch sees booked jobs instead of form volume. Chat with us on WhatsApp
Free marketing audit, or reach Martin directly:
Get a free audit Connect on WhatsApp · martin@heylead.com