Show the price when a stranger can describe the job well enough for you to charge it fairly. Hide the price when a fair number still needs a site visit. Most home-service businesses have both kinds of work, so the website should too.
Four kinds of jobs
The job is always the same
Mounting a TV up to 55 inches on a normal drywall wall might always be $149 in your market. Publish $149. A contact form for that job is make-work for both of you.
The job varies a little
Use a starting price. “From $149” is honest if the common case is $149 and the extras are listed. It is dishonest if almost nobody pays $149. Starting prices that never occur train people to distrust the rest of the site.
The job depends on the choices
This is where a single price fails. A TV mount changes with size, wall, fireplace, cable concealment, and a second set. A clean changes with bedrooms, bathrooms, and whether you do the oven. A detail changes with the vehicle.
Do not pick between “one number” and “call for a quote.” Ask the questions and show the number for that configuration. The customer who wanted the expensive version sees it. The customer who wanted the basic version is not scared off by someone else’s job.
The job needs eyes on it
Panel upgrades, water damage, odd structures, anything you would walk before you price. Ask for the address, a photo if you want, and a time to look. Promising an instant number there is how you undercharge.
What showing the price actually does
- People who cannot afford the work leave before they take your evening.
- You stop retyping the same three answers.
- The customer can compare you without waiting.
- The ones who continue have already accepted the range.
It also creates a price shopper. That is not always bad. If you win only by being the cheapest line in a list, the list is working against you. If you win because the price includes the fireplace and the concealment, the breakdown is the sales pitch.
What goes wrong
- The rules omit a common extra, so you eat it on the job.
- The page never says what is not included.
- You quote a condition the customer misidentified, such as the wrong wall.
- You published “from $99” because a competitor did, and your real ticket is $280.
Write the exclusions next to the price. If the wall type is wrong, the checkout should say the price changes when the wall is different, and you should leave yourself a way to confirm before you drill.
A practical mix
On the service page, show a starting price for the common job. Link the button to a quote that adds the variables. Keep a short form for the work you will not price from questions.
That is the same idea as adding instant quotes. MagicBooker is built for the middle case: the price depends on the job, and the customer can still book. See how a configurable checkout is structured, or set one up for the service you sell most.
If you also take a deposit once they accept the number, the deposit guide covers how large that payment should be.