A marketing lead at a 14-truck plumbing shop in Columbus pulled call recordings on a Tuesday and found the pattern in ten minutes. Half the Google Ads clicks were for “how to unclog a toilet with baking soda.” The other half were people standing in water at 1:40 a.m. who needed a licensed tech, not a blog. Both queries lived in the same campaign. Both hit the homepage. Dispatch still had empty slots on Wednesday mornings and overtime on weekends.
That is the actual job of digital marketing for plumbing companies. You are not trying to “get more visibility.” You are trying to separate DIY research from emergency dispatch, water-heater replacement from membership plans, and then send each click to a page that can book a truck without a human explaining the offer on the phone. Reported cross-industry ROAS benchmarks often land in the 4x range for Search and closer to 2-3x for Meta, though plumbing accounts vary widely. Plumbing does not get those averages automatically. Plumbing Search CPCs commonly run $8-$20 in competitive metros and have climbed roughly 10-15% year over year. Twenty to thirty percent of SEM budgets still dies on irrelevant queries, neglected negatives, or a homepage that was never built for a burst pipe.
This piece is a working stack: how plumbing marketers should split intent, structure paid search and local SEO, build pages that convert on a phone at 2 a.m., and measure booked jobs when last-click reporting is noisy. You can run most of it yourself. The load is real once you try to keep it current every week.
Burst pipes vs tankless upgrades: two funnels, one budget
Plumbing companies sell at least three products that look identical in a CRM and nothing alike in search. Emergency drain and leak work is high intent, high CPC, short decision cycle, often mobile, often after hours. Replacement work (water heaters, sewer laterals, repipes) is research-heavy, higher ticket, and sensitive to reviews, financing language, and before-and-after proof. Memberships and preventative maintenance are low urgency and need a different offer, not a louder “call now.” Mix those three in one campaign and Google will happily spend on the cheapest click, which is usually the person who wanted a YouTube fix.
Start with an intent inventory, not a keyword dump. Pull 90 days of search terms, Google Business Profile calls, and form notes. Tag each row as emergency, replacement, membership, or junk. Junk is not a rounding error. In plenty of accounts it is a fifth of spend. Mobile already accounts for more than 63% of paid search clicks globally, and conversion rates still lag desktop by 30-40%. For plumbing, that lag is often a fat homepage, a buried click-to-call, and a form that asks for a mailing address while water is on the floor.
Write three offers in plain language your techs would actually say. Emergency: licensed plumber, arrival window, after-hours surcharge stated up front, click-to-call above the fold. Replacement: brand options, typical install range in dollars, financing if you have it, photo of a real job in your city, book-a-estimate. Membership: annual price, what is included (water heater flush, priority scheduling), and what is not. If sales still wants one “full service plumbing” message, they are optimizing for brand ego, not cost per booked job.
A Midwestern owner we watched last winter kept one Search campaign named “Plumbing - All.” Search terms included “plumber salary,” “PVC vs copper,” and “24 hour plumber near me.” The last one converted. The first two ate budget. After they split campaigns and added negatives for careers, DIY, and wholesale parts, cost per booked emergency call dropped even though CPC on the remaining terms went up. That is the trade you want. Higher CPC on the right job is cheaper than a cheap click that never becomes a work order.
If your team is still sending every ad to the homepage, stop. Dedicated pages aligned to the ad are the difference between a media plan and a dispatch plan. A partner who already runs Google Ads programs for service businesses will treat that split as table stakes, not a later phase.
Search ads and the map pack that actually fill the dispatch board
Paid search and local SEO are not two hobbies. For plumbing companies they are one acquisition system with different lag times. Google Ads and Performance Max can fill the board this week if conversion signals are clean. The map pack and organic service pages fill it when AI Overviews steal informational clicks and you still need to be the name people tap when they type “plumber open now.” SparkToro research suggests roughly two-thirds of searches end without a click, a share that has likely grown with AI Overviews. AI Overviews show on more than 20% of searches and, per Search Engine Land coverage of BrightEdge and Semrush data, can cut CTR by nearly 60% for informational queries. You cannot out-blog a burst pipe with a 2,000-word “history of copper pipes” article.
Build Search around clusters, not 80 micro-campaigns you will never maintain. Emergency cluster: 24 hour plumber, clogged drain, water leak, sewer backup, plus city modifiers you actually serve. Replacement cluster: tankless water heater install, water heater replacement, repipe, hydro jetting. Brand cluster: your company name plus misspellings so competitors cannot sit on it. Use phrase and exact where waste is obvious. Broad can work when negatives are aggressive and landing pages match. “Run broad” without a negative list is how you buy “plumbing apprenticeship.” AI Max campaigns can land 12-18% lower CPCs versus standard Search in some accounts, but they still need those negatives and a conversion action that means a booked job, not a 4-second call.
Local SEO is the other half of the same board. Your Google Business Profile categories, services, photos of vans and techs (not stock bathrooms), and review replies are paid-search quality signals in disguise. People comparing two plumbers in the pack will open both. The one with recent photos of a real water heater install and a reply to a 3-star review about a missed window usually wins the tap. Core Web Vitals still matter on the pages behind that tap. Only 55.9% of origins passed all three in May 2026 CrUX data. A slow mobile page after an emergency ad is a hung-up call you will never see in Google Ads.
Audit scorecard
-
Search term hygiene weeklyExport search terms
Search term hygiene weeklyExport search terms. Negate careers, DIY, parts wholesale, "how to," and cities you do not serve. Twenty to thirty percent waste is common until this is a habit, not a quarterly cleanup.
-
One conversion per real jobCount a conversion on a call over 90 seconds
One conversion per real jobCount a conversion on a call over 90 seconds or a form that includes address plus problem type. Do not count every click-to-call. Smart bidding will chase junk if you teach it junk. You already lose 20%+ of conversion data to ad-blockers and privacy changes. Do not add fake conversions on top.
-
Map pack vs ads, same offerGBP description, sitelinks, and the emergency
Map pack vs ads, same offerGBP description, sitelinks, and the emergency landing page should quote the same after-hours policy. Mismatched surcharge language is how you get angry reviews that poison both channels.
-
Review velocity, not just starsAsk for a review on completed replacement
Review velocity, not just starsAsk for a review on completed replacement jobs within 48 hours. Emergency jobs convert on trust plus speed. A profile that last got a review in 2024 looks abandoned even if your trucks are busy.
-
Performance Max only after Search is cleanPMax in well-structured accoun
Performance Max only after Search is cleanPMax in well-structured accounts with clean conversion signals has outperformed equivalent Search CPAs by 15-30% in our experience - but only after Search waste is controlled. If Search still buys "plumber union dues," PMax will scale that mess across YouTube and Display. Fix the asset group and audience signals after the Search negatives exist.
-
Service-area honestyIf you do not roll a truck to that ZIP after 8 p
Service-area honestyIf you do not roll a truck to that ZIP after 8 p.m., do not bid on it after 8 p.m. Geo + ad schedule mismatches create 2-star reviews faster than any creative test.
Action checklist
- Clone your highest-spend Search campaign into Emergency, Replacement, and Brand. Pause the mixed original after 7 days of overlapping data, not the same afternoon.
- Add call extensions and a click-to-call button that uses a tracking number. Recordings are how you learn that "leads" were warranty shops or tire kickers.
- Rewrite GBP services to match truck SKUs: drain clearing, water heater install, gas line, sewer camera. Generic "plumbing" does not win the pack.
- Upload 8-12 recent job photos with city in the filename. No stock tile bathrooms.
- Turn on Enhanced Conversions and keep the conversion action identical across Search and PMax. Signals beat keyword volume when privacy eats cookies.
- Run one incrementality check: pause a low-volume ZIP for 14 days and watch dispatch, not just in-platform CPA. Last-click still double-counts across channels.
Free tools - try these yourself
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 after-hours landing page plumbing owners keep skipping
Most plumbing sites are a photo of a smiling tech, a list of 40 services, and a form that wants a company name. That layout is fine for a commercial bid. It is hostile to someone with a burst supply line. The page has one job: get a qualified call or a booked slot. Headline must name the job and the city. Subhead must name the constraint (licensed, insured, after-hours available, typical arrival window). Primary CTA is the phone number. Secondary is a short form: name, mobile, ZIP, what failed. Anything else is friction.
Proof belongs above the fold on mobile, not in a testimonials carousel six scrolls down. Use one recent review that mentions a real problem (“sewer backup on a Sunday”) and a photo of the actual install. Pricing honesty beats fake “free estimates” when everyone else says the same thing. If after-hours carries a trip fee, say it. You will lose some clicks and keep your review score. Conversion rate work is not decoration. Teams have moved landing CVR from the low thirties into the low forties by adding specific social proof, and PPC conversion rate lifts of around 70% show up when the page matches the ad instead of the brand story.
Speed is part of the offer. If Interaction to Next Paint is ugly, the call button feels broken. Check the emergency URL on a mid-range Android on LTE, not the office fiber. Use HeyLead Insights when you need to see where thumbs actually stop: heatmaps and session recordings will show people tapping a non-clickable phone number in the hero, or abandoning the form at the “How did you hear about us?” field. That is cheaper than guessing in a weekly meeting.
A two-location shop in Arizona rebuilt only the “24 hour plumber” URL. Same ads, same bids. They moved the phone number into a sticky bar, cut the form to four fields, and put the after-hours fee in the first paragraph. Booked emergency jobs from that URL rose even while impression share stayed flat. The mechanism was not “more traffic.” It was removing the moment a wet, angry homeowner had to hunt for a number.
Title tags and H1s should say the job, not the slogan. “Emergency plumber in [city] - 24/7 drain and leak service” beats “Your comfort is our passion.” Run the page through a title and H1 check before you scale spend. AI-assisted content is now widespread in top search results, which means undifferentiated copy no longer signals expertise - specific fees, real brands, and real service areas do. Google does not reward another generic AI blob about “quality workmanship.” Information gain on a plumbing page is the fee, the brands you install, the neighborhoods you actually cover, and a photo from last Thursday.
-
Match ad headline to page H1 word for word on the job type.
-
Sticky click-to-call on mobile; never image-only phone numbers.
-
State trip fees, after-hours rates, and service ZIP list in copy, not a PDF.
-
One primary conversion. Do not compete a chat widget with the call button on emergency pages.
Page QA before you raise budgets
What we see in accounts
In plumbing accounts we run, treating every Google Ads lead as a win until you listen to the recordings is a recurring pattern. A third of calls are often DIY questions. Cost per booked water-heater swap only starts to make sense after campaigns are split and the homepage landing is killed.
We also see Meta CPMs climb days before lead volume falls. Accounts that keep budget flat and rotate UGC clips of real drain jobs hold better than those that lean on stale lookalike stacks. Creative is the targeting.

FAQs
Should plumbing companies spend more on Google Ads or SEO first?
If trucks are idle this week, fund Search on emergency and replacement clusters with clean negatives and a dedicated page. Run local SEO and GBP in parallel so you still show when AI Overviews eat informational clicks. SEO alone will not fill a Saturday dispatch board in 14 days. Paid alone gets expensive if the map pack and reviews are weak.
Is Meta worth it for plumbing, or is it just cheap leads?
Meta’s average ROAS around 2.8x is a benchmark, not a promise. It can work for replacement and membership offers with video of real jobs. Creative dies in days, not weeks. If you cannot ship new clips, stay in Search. Broad targeting without a strong funnel wastes money. Do not use Meta as a dumping ground for leftover budget.
Why does automated bidding feel like it inflates spend?
Because the conversion you fed it was a 12-second call or a form spam. Automated bidding is not magic. It optimizes to the signal. Tighten the conversion, add Enhanced Conversions, and give it two weeks without daily structure changes. Constant tweaks reset learning. Manual CPC on a brand-new account can be a short-term control, not a philosophy.
How long before this looks like a real program?
Honest results take 3-6 months of creative, negatives, and page tests. Anyone guaranteeing a CPL before they have seen your account, unit economics, and landing pages is selling a number they cannot defend. Quality booked jobs beat lead volume from week one.
What should we refuse to count as a lead?
Calls under a minute, “how much for a part,” job-seekers, and ZIP codes you do not serve. If ops will not roll a truck, marketing should not pay for the click.
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.
Start here in the next few days. Export 60 days of search terms and call recordings. Tag emergency vs replacement vs junk. Pause the mixed campaign only after the split exists.
-
Write three offers and three landing H1s that a dispatcher would recognize.
-
Add negatives for DIY, careers, and out-of-area cities.
-
Put click-to-call and after-hours fees on the emergency URL.
-
Verify Core Web Vitals on that URL on mobile.
-
Tag every ad with UTMs so dispatch notes can be joined to source later.
Next 30 days. Rebuild GBP services and photos. Launch a replacement page with real install pricing ranges. Move the conversion action to qualified calls and completed forms only. Review search terms twice, not once. If PMax is on, freeze new asset groups until Search waste is under control.
Use the local SEO checklist and the UTM link builder if you want to run the sprint in-house. When the problem is the mix of emergency queries, junk search terms, and a homepage that cannot book a truck at 2 a.m., HeyLead will own that split, the landing pages, and the conversion signals so dispatch sees booked jobs instead of raw clicks. Chat with us on WhatsApp
Free marketing audit, or reach Martin directly:
Get a free audit Connect on WhatsApp · [email protected]