Plumbing Business Profit Margins: What You Should Be Making and Why You're Not
Your shop is busy. Trucks roll out every morning. The phone rings. But at the end of the month, you look at the bottom line and wonder where all the money went. You're not alone. Most plumbing companies operate at 5 to 10 percent net profit margins when they should be hitting 15 to 25 percent. That gap costs you tens of thousands per year.
The problem is not usually one catastrophic mistake. It's six small bleeds happening at once. Bad pricing. Missed jobs. Slow collections. Dead hours in the truck. Customers who don't call back. Lead costs that spiral. Fix these leaks and your plumbing business profit margin climbs fast.
What a Healthy Plumbing Profit Margin Actually Looks Like
Let's start with the benchmark. A well-run plumbing shop with 5 to 8 trucks should sit between 15 and 22 percent net profit margin. Some hit 25 percent or higher. That means on $1 million in annual revenue, you keep $150k to $250k. Not $50k to $100k.
Here's how that breaks down. Gross margin (revenue minus direct job costs like parts and labor) should be 50 to 60 percent. Your operating expenses (rent, insurance, dispatch, marketing, admin) should run 30 to 40 percent of revenue. The gap between those two numbers is your net margin.
The math: a real shop example
A 6-truck shop in a mid-sized market pulled $850k last year. Direct costs were $425k (50% of revenue). Operating expenses ran $310k (36% of revenue). Net profit: $115k, or 13.5 percent margin. The owner thought that was good. It wasn't. With the same revenue and tighter operations, that shop could have hit $180k net (21% margin). The difference is $65k in the owner's pocket. That's a truck payment, a tech salary, or three months off.
Revenue Leaks That Destroy Your Plumber Profit Margin
The six most common leaks eat away at margins silently.
Leak 1: Underpricing because you don't know your true costs
You estimate a job at $450. You should charge $625. Why? Because you don't factor in drive time, truck overhead, no-shows, callbacks, and the jobs you lose to competition while chasing low-ball work. Most plumbers price by feel or copy what competitors quote. That's backwards.
Your actual cost per truck-hour is probably $80 to $110 when you count salary, fuel, insurance, maintenance, and equipment. If you're quoting as if it's $50, your margin evaporates on every job. A 7-truck shop we audited was underpricing service calls by an average of $85 per job. At 8 calls a day across the fleet, that was $68k lost per year. One pricing audit fixed it.
Track your actual job costs for 30 days. Categorize by job type (service call, repair, install). Calculate your breakeven price. Then build in a 40 to 50 percent markup for profit, not 20 percent.
Leak 2: Too much spend on low-quality leads
You're paying $25 to $45 per lead on Google Ads for plumbers. Some of those leads are price-shoppers who hang up the moment you quote. Others are outside your service area. Others already have a plumber booked. You're hemorrhaging cash on volume instead of targeting intent.
A better play: combine Local Service Ads for plumbers (you pay only for calls, not impressions) with SEO for plumbers (organic traffic costs zero per click). LSA leads convert at 15 to 20 percent higher rates than cold Google Ads because the customer is actively searching within Google's own interface. Organic SEO takes 3 to 6 months to gain traction but delivers $8 to $15 per lead once it does. Mix the two and you cut your customer acquisition cost by 30 percent while maintaining volume.
Leak 3: Jobs that sit in dispatch limbo
A job books on Monday. Your dispatcher doesn't schedule it until Thursday. The customer waits four days. Half the time they call another plumber. Even if they wait, you're not clustering jobs geographically so you waste truck time. Unscheduled time is the fastest profit killer in plumbing.
Every unbooked hour in a truck costs you $80 to $120 in gross margin. If your fleet averages 6 unbooked hours per week per truck, that's $31k per year lost across a 6-truck shop. A simple dispatch rule changes this: every call books within 24 hours and jobs are clustered by geography. Shorter drive times mean more billable calls per day per truck. More calls per day means more revenue at the same labor cost. That's 20 percent more gross margin with zero price increase.
Leak 4: Callbacks and warranty work eating overhead
You fixed a leaky fixture. Customer calls back. The fix didn't hold. You send a tech again. No charge. That's a $300 job that costs you twice. It kills your margin and burns reputation. Most shops run 8 to 12 percent callback rates. Best-in-class shops run 2 to 3 percent.
The difference is process, not luck. Bad callbacks come from rushing diagnostics, using cheap parts, or training gaps. One shop cut callbacks by half by making technicians photograph the completed work, create a simple one-page spec sheet for the customer, and follow up 48 hours later. Fewer callbacks meant more time available for new jobs. Margin went up 2 percentage points without any price hike.
Leak 5: Slow payment collection
You invoice on Friday. Customer pays 30 days later. But you paid for parts and labor on Friday. You're float-financing your customers. For a $1 million revenue shop, 30-day average receivables means you're carrying $82k in unpaid work. That cash could be in your account earning interest or paying down debt.
Require payment on job completion for residential work. For commercial or wholesale accounts, offer 2 percent discount for payment within 7 days. Send invoices the same day work is done, not a week later. If a customer is past 15 days, call them. Collections faster than 10 days on average can free up $15k to $25k in working capital. That's capital you can redeploy to growth or margin improvement.
Leak 6: High cost-per-lead and low lead conversion
You're spending money on leads but losing money on conversions. Lead cost at $35 per call and a 15 percent conversion rate means each booked job costs you $233 in marketing. If your average job is $400, your marketing cost is 58 percent of revenue on that customer. That's unsustainable. You need either cheaper leads or higher conversion.
Cheaper leads come from plumbing lead generation strategies that don't rely on expensive platforms. Higher conversion comes from faster response (calling within 60 seconds beats calling within 2 hours), better sales talk, and offering financing options. A shop that drops lead cost from $35 to $22 and improves conversion from 15 percent to 22 percent cuts customer acquisition cost by half. That's $150k extra margin on $1 million in revenue.
How to Audit and Fix Your Plumbing Company Margins Right Now
You don't need software or a consultant to find these leaks. You need 90 minutes and honest numbers.
Step 1: Calculate your true gross margin
Pull your last 12 months of P&L. Divide gross profit (revenue minus direct job costs) by total revenue. If it's below 50 percent, your pricing is too low or your job costs are too high. Below 45 percent and you have both problems.
Step 2: Break down operating expenses by category
Rent, payroll, insurance, fuel, marketing, tools, admin. Add up each. The biggest three categories should total less than 35 percent of revenue. If they're 40 percent or higher, you have a cost structure problem.
Marketing spend deserves special attention. What are you spending per month on Google Ads, LSA, SEO, or other channels? Divide that by the number of jobs those channels produced. If it's more than $40 per lead, your channels are expensive. Time to optimize.
Step 3: Measure your metrics
Track these for 30 days:
- Average job value by type (service call, repair, install)
- Jobs booked vs. jobs quoted (conversion rate)
- Average days from quote to booking
- Callbacks as a percentage of jobs completed
- Days sales outstanding (average time to get paid)
These six metrics explain 80 percent of your margin problem.
Step 4: Pick one leak to fix first
Don't fix all six at once. You'll burn out. Pick the leak that costs you the most money per month. If it's underpricing, do a pricing audit. If it's dispatch, implement clustering rules. If it's lead cost, audit your ad spend and pause the channels that don't convert. One fix usually moves your margin 1 to 3 percentage points. Do that twice and you've added $20k to $60k to net profit depending on your revenue.
Pricing for Plumbing Profit Margins That Actually Work
Most plumbing shops use one of three pricing models. Only one of them protects your margin.
Model 1: Hourly rate (the margin killer)
You charge $85 per hour. Customer gets a one-hour job done in 45 minutes. You charge $85. But your actual cost was $68 (overhead, truck, tools). Your margin is 20 percent. Some jobs run long. Some run short. You're gambling on average.
This model works only if your average job time is predictable and your rate is high enough. Most shops using this model undercharge and don't track overhead correctly.
Model 2: Flat-rate by job type (the margin protector)
Service call: $189. Kitchen sink repair: $349. Water heater install: $2,499. You quote the flat rate upfront. Customer knows the price. You know your margin. If you estimate wrong, that's a learning moment, not a profit killer.
Best-run shops use flat-rate pricing because it rewards efficiency (if you finish fast, you keep the margin) and eliminates scope creep (customer sees the price, not the hours). How to price plumbing jobs the right way starts here.
Model 3: Diagnostic fee plus repair cost (the transparency play)
You charge $79 to diagnose the problem. Once diagnosed, you quote the repair and customer approves or declines. This separates discovery from sales and ensures you don't work for free on complex jobs. Customers don't mind because they see the upfront fee.
Pair this with a policy: diagnostic fee is credited toward the repair if the customer moves forward. You get paid for your time. Customer gets clarity. Margin stays intact.
The Long Game: Systems That Sustain High Margins
One-off fixes bump margin. Systems keep it high. Three systems separate 20+ percent margin shops from 5-10 percent shops.
System 1: A lead source that filters for intent and price-fit
Don't buy leads. Earn them. Combine a strong plumber website design with Local Service Ads to capture customers actively searching. Supplement with plumbing company local SEO to own organic visibility. This takes 4 to 6 months but cuts your marketing cost to $15 to $25 per lead (half of paid advertising) and improves conversion by 30 percent. Over a year, this saves a $1M shop $25k to $40k in lead costs.
System 2: A dispatch and scheduling process that maximizes billable hours
Use best plumbing scheduling software to cluster jobs geographically, auto-assign to nearest tech, and notify customers within 2 hours of booking. Every hour of wasted drive time is margin you don't get back. Shave 45 minutes of drive time per truck per week and you add one billable call per week per truck. That's $8k to $12k extra revenue on a 6-truck shop with zero cost increase.
System 3: A follow-up and CRM process that turns leads into jobs
60 percent of leads don't convert on the first conversation because the customer isn't ready yet. A CRM for plumbers with automated follow-up bumps conversion from 15 percent to 22 percent. On 100 leads per month, that's 7 extra jobs. At $400 average job value, that's $33,600 per year. Most plumbers don't have this system so they leave $25k to $40k on the table.
Related reading
- How to grow a plumbing business
- How much plumbing business owners make
- Best marketing strategies for plumbing companies
- Calculate plumbing lead cost
FAQ
What is a good profit margin for a plumbing company?
A healthy plumbing business profit margin is 15 to 25 percent net profit. That means on $1 million in revenue, you keep $150k to $250k. Most shops run 5 to 10 percent because they underprice, overspend on leads, and have process gaps.
Why is my plumbing business profit margin so low?
Six leaks usually cause low margins: underpricing, expensive lead sources, dead dispatch hours, callbacks, slow collections, and low conversion rates. Audit each one. Most shops have at least three of these problems.
How can I increase my plumber profit margin without raising prices?
Fix your processes. Cluster jobs to reduce drive time, improve first-time-fix rate to cut callbacks, speed up collections, and optimize lead sources. These moves add 2 to 4 percentage points to margin without a single price increase.
What should my plumbing company gross margin be?
Gross margin should be 50 to 60 percent. That's revenue minus direct job costs (labor, parts, subcontractors). If yours is below 50 percent, your pricing is too low or you're overspending on job delivery.
How do I know if my lead cost is too high?
Divide monthly marketing spend by monthly calls or leads generated. If it's more than $40 per lead, your channel is expensive. If it's $15 to $25 per lead, you're in the right range. Anything below $15 is excellent and usually requires a mature SEO program.
Should I use flat-rate pricing or hourly pricing?
Flat-rate pricing protects your margin because you quote a fixed price upfront and keep the margin if you finish fast. Hourly pricing only works if your rate is high ($100+) and your jobs are predictable. Most shops benefit from flat-rate by job type.
What's the fastest way to improve my plumbing business profit margin?
Audit your pricing for one week. You'll likely find $50 to $150 per job underpriced. Raise prices on those jobs and margins improve 1 to 2 percentage points immediately. Then fix dispatch clustering and lead cost. Those two moves together boost margins 3 to 5 points in 60 days.
Get your margins audited
Most plumbers don't know how much money they're leaving on the table. A 30-minute audit usually reveals $15k to $60k in annual profit leaks. We've found these for hundreds of shops. Ready to find yours? Book a free marketing audit and we'll show you exactly where your plumbing business profit margin is bleeding out and how much you can recover.
