There is no US law requiring contractors to post pricing on their website, so the decision is a business call, not a legal one, and for most contractors it’s worth making anyway. Rough price ranges filter out mismatched leads before the phone rings, save time on calls that were never going to close, and signal that a business isn’t hiding anything. Contractors who stick to “call for pricing” lose part of their visitors before a conversation ever starts.
What US rules actually require
There’s no federal law that requires home services businesses, electricians, plumbers, HVAC or otherwise, to publish prices on their website. If a contractor does advertise a price, general FTC truth-in-advertising rules still apply: the number can’t be false or misleading, and mandatory fees can’t be buried in a way that surprises the customer later. That’s a baseline, not a pricing-disclosure mandate, so most of the decision comes down to what works for the business rather than what the law demands. State-level advertising and consumer protection rules can add specifics in some states, so a quick check with a local attorney is worth it before publishing anything that reads as a firm quote rather than an estimate.
Why customers look for a number anyway
Regardless of what the law requires, price is usually the first thing a visitor is trying to find. Usability research on B2B websites has shown the same pattern for years: when a page doesn’t answer the price question, visitors leave frustrated and go check a competitor instead of reaching out. That holds for software vendors and for a painting contractor bidding on a house exterior alike. Skipping the number means asking the visitor to take an extra step, call or fill out a form, just to learn a rough order of magnitude. A share of visitors won’t take that step and will keep searching until another site answers the question directly.
Three ways to show a number without locking yourself in
A fixed flat price rarely works for custom trade work, since labor, materials and site conditions vary too much job to job. Between “no number at all” and “binding flat quote” there’s a practical middle ground.
| Format | Example | Best for |
|---|---|---|
| Hourly rate | ”Service call starting at $95/hour plus a $75 trip charge” | Repairs, maintenance, smaller jobs |
| Range by scope | ”Bathroom remodel: basic finish from $8,000, higher-end finish from $18,000” | Bigger projects with clear finish tiers |
| Example estimate | ”Typical panel upgrade for a single-family home: $2,500 to $4,500, depending on existing wiring” | Jobs where starting conditions vary a lot |
All three share the same principle: they’re labeled as a starting point, not a binding offer. A line like “estimate only, final price confirmed after a short on-site look” keeps the number useful without turning it into a promise.
A pricing page is not a quote
A price range on a website doesn’t replace an individual quote, at best it leads to one. That distinction should stay visible on the page itself. The range answers “roughly what am I looking at,” the actual quote answers “what does my specific job cost” and only gets set after a walkthrough or a detailed phone call. A short line at the bottom of the pricing section makes that clear, something like “for a firm quote, we’ll set up a quick on-site visit,” linked directly to a contact form or phone number. That keeps the pricing page a starting point for the conversation rather than a substitute for it, and leaves the business free to price the actual job once it has seen the real conditions.
The case against posting prices
The arguments against transparency are real and worth taking seriously. Competitors can see the same numbers customers do and undercut on purpose. When material costs swing hard, copper and certain insulation products are common examples, a posted number can go stale faster than some businesses update their site, which then makes even a labeled estimate look misleading. And in markets with wide differences in local cost of living, one nationwide range can read as steep in one town and unrealistically low in another. Contractors who lean heavily on in-person consultation and trust, high-end custom remodels are a common case, sometimes do better with a first conversation than with a number on the homepage.
How price ranges filter out the wrong calls
The real payoff shows up on the phone, not on the website. A contractor fielding 100 inquiries a month who spends time on 30 of them from homeowners with a budget nowhere near the real cost is losing hours that could go toward paying jobs. A visible price range works as a first filter: someone looking for a $3,000 kitchen refresh who reads “remodels starting at $15,000” usually won’t call at all, and that’s a better outcome for both sides than a twenty-minute conversation that was never going to turn into a job. A short checklist makes this practical:
- Set one rough range or hourly rate per core service, not a separate number for every variation.
- Keep the range wide enough to hold steady for months instead of needing weekly edits.
- Always pair it with a starting-point disclaimer, never present it as a firm quote with no conditions.
- When material costs swing hard, point to an hourly rate plus materials instead of a single project total.
- Review the numbers once a year and update sooner if costs jump.
An example from a plumbing business
A plumbing contractor that used to list only “call for a quote” adds a short breakdown instead: service call starting at $95/hour plus a $75 trip charge, full bathroom remodel starting at $12,000 depending on layout and fixtures, water heater replacement including install starting at $1,800. Within a few weeks the pattern of incoming calls shifts noticeably: fewer pure price-shopping calls, more scheduling requests from homeowners who already accepted the ballpark before picking up the phone. Total inquiry volume drops slightly, but the share of calls that turn into booked jobs goes up.
The same contractor adds a short FAQ section right under the pricing table, answering the questions that used to come up first on every call: whether the trip charge applies if the job is booked, and whether weekend appointments cost extra. Those questions used to eat up the first few minutes of nearly every inbound call. Now they’re answered on the page, and the call starts with scheduling instead of price negotiation. For the office, that means shorter calls on average. For the homeowner, it means a website that answers the real question before they even pick up the phone.
Contractors planning a new site or reworking an existing one are better off deciding the pricing question up front rather than bolting it on after launch. Contractor Website Must-Have Pages covers where a pricing page fits among the other required content, and Contractor Website Cost breaks down what a website itself typically costs. Inside our subscription web design service, a pricing page with starting ranges is part of the standard build, details at Get a Website Built.