Should You Put Prices on Your Local Business Website?

On this page
- The question your customer is actually asking
- Work with a fixed menu: post the real prices
- Jobs that vary: post a starting price and a call-out fee
- The one case for leaving prices off
- Put the price on the service page, not a price list
- Machines read your prices too
- A price on the page has to stay true
- The short version
Almost every article telling you to hide your prices was written by a consultant, for other consultants.
Look at who publishes them: coaches, brand designers, agencies selling custom projects that start in the thousands. For that work, the advice is reasonable. A big number with no conversation around it does lose sales.
Then it gets copied onto barbers, nail techs, groomers and plumbers, where it quietly costs money.
The question your customer is actually asking
Someone searching for a barber near them at nine in the morning is not evaluating a proposal. They want to know three things: are you open, are you close, and how much is it.
Two of those are usually answered on your website already. The third sends them back to the search results.
Here is the part worth checking for yourself. Search for why service prices are so hard to find, and read a few of the threads that come up. They are full of customers, not marketers, and the complaint is always the same one: they wanted to book and could not find a number.
That frustration is your opening. If three shops come up and yours is the only one that says what a fade costs, you have given a reason to pick you before anyone has spoken.
Work with a fixed menu: post the real prices
If you can write your services on a board in the shop, they belong on your website with the same numbers.
Haircuts, fills, wash and folds, oil changes, dog grooms, lash sets. The price does not change based on who is asking. Hiding it does nothing except add a phone call to the process.

Grove Batu Barbershop in Coconut Grove lists every service with its real price, so people stop calling to ask. AP Nail Lab in Kendall does the same with thirty-two services, every price taken straight from its booking menu.
Neither of those is a marketing decision. It is just what the customer wanted to know, written down.
Jobs that vary: post a starting price and a call-out fee
This is where the honest exception lives, and it is not an excuse to post nothing.
A locksmith cannot quote a lockout without knowing the lock. A plumber cannot price a leak from a text message. Fine. You can still state the part that never changes:
- Your call-out or diagnostic fee. The number the customer pays for you to turn up and look. State it plainly and say whether it comes off the final bill.
- A starting price for your common jobs. "Lockouts from $89." "Drain clearing from $150."
- What moves the number. After hours, a second technician, parts, difficult access. Two lines are enough.
One rule makes "starting at" honest: the number has to be a job you have actually done at that price, and would do again tomorrow. A starting price nobody ever pays is a bait number, and customers work it out on the phone, which is the worst possible moment.
The one case for leaving prices off
There is a real one. If your work is genuinely bespoke, where the scope is negotiated every time and two similar-sounding jobs can differ by a factor of five, a single number on a page misleads more than it helps.
Even then, give your own range and say what decides where a job lands in it. Your typical kitchen job runs from this much to that much, depending on whether the layout moves. Put your real numbers in that sentence and it is useful. Silence is not.
What is not a good reason: worrying that a competitor will see your prices. They already know them. They can call your shop like anyone else, and they almost certainly have.
Put the price on the service page, not a price list
Where the number goes matters as much as whether it exists.
A single page called Pricing, with everything stacked on it, makes the customer hunt. The better home for a price is the page about that one service, right next to the description of what it includes and the button to book it. That is the layout service pages give you that a one-page website cannot, and it is why the site we build puts one page per service with the real price when you list one.
Two things to avoid, both common:
- Prices inside an image or a PDF. They cannot be read by software, they are miserable to pinch and zoom on a phone, and they never get updated because updating them means opening a design file.
- Prices only in a booking widget. If the number appears after someone has started booking, it is hidden from everyone still deciding.
Machines read your prices too
The same plain text that helps a customer helps everything else that reads your site.
When Google or a chat bot like ChatGPT answers a question about what something costs in your town, it can only use what it can read. A price written as ordinary text on a service page is readable. A price baked into a graphic is not, which is most of what actually gets read on a website.
To be clear, nobody can promise you a place in those answers, and we do not. What you control is whether the facts about your business are there to be found in the first place.
A price on the page has to stay true
The strongest argument against publishing prices is the one nobody makes: a wrong price is worse than no price.
A customer who arrives expecting the number they read, and hears a different one, does not think your site is out of date. They think you moved the number on them.
So treat your prices as facts with a date on them, the same as your opening hours. When you raise a price, the website changes that week, not next year. That is the same discipline as keeping the rest of the site current, and it is the only real cost of putting prices up.
The short version
If you can price it on a menu, publish it. If you cannot, publish the call-out fee and a starting price you would honour. If your work is genuinely bespoke, publish a range and what moves it.
The businesses losing money on this are not the ones charging too much. They are the ones making a customer place a phone call to find out.
Type your business name at 30secondsites.com and see the site built from your Google listing, your services and your prices. Looking is free. No card, no login, no email until you want to keep it.
Questions
Asked about this, answered plainly
Why is it not a good idea to list your prices on your website?
The usual argument is that a price without context loses the sale, because the customer sees a number before they understand the value. That holds when the work is custom and expensive and the buyer needs a conversation. It does not hold for a haircut. For everyday local work, hiding the price mostly filters out people who would have booked, because they will not call to find out what a wash and cut costs when the shop down the road has it on the page.
Why are service prices so hard to find?
Because a lot of owners were told that hiding the price gives them a chance to sell on the phone. Some trades also genuinely cannot quote without seeing the job. The result is that customers now expect to hunt for a number, and threads of people complaining about it are easy to find. That expectation is the opportunity: being the one business in the results with a clear price is unusual enough to be a reason to call you.
Do service-based businesses list pricing on their website?
Many do, and the ones that do tend to be the ones with repeatable work: salons, barbers, groomers, detailers, studios. Trades with variable jobs more often show a call-out fee or an hourly rate instead of a total. Very few show nothing at all and do well from it. The practical answer is to show whatever part of the price you can state truthfully, and be specific about what the rest depends on.
Why don't online menus show prices?
Usually because the menu is an image or a PDF someone uploaded years ago, not because the business is hiding anything. That is worth checking on your own site. A price trapped in a picture cannot be read by search engines, cannot be enlarged on a phone, and tends to go stale because updating it means opening a design file. Prices belong on the page as ordinary text.
What if I am more expensive than the shop down the road?
Then the price is doing useful work. A customer who leaves because of your number was going to leave when you said it out loud, just later, after a phone call you both sat through. Put the price next to what the customer gets for it: the time booked, what is included, how long you have been doing it. Being the more expensive option is a position, as long as the page gives a reason for it.
