On 8 September I decided that my product pages would carry no prices. They would point to the shop, people would find everything there, nice and tidy.
On 11 September I took it back and published every one of them.
Three days. The market did not change in three days, and I did not stumble on a study. Something far more humble changed: I sat down and read my own pages as though I had not written them.
What the person who does not know sees
Try it yourself, it is free and mildly painful. Open your service page and read it as a first-time visitor. Not as the owner who knows what sits behind it. As someone with four other tabs open and no particular reason to give you their time.
What does that person do when there is no price? They do not fill in the form. That is a fantasy of ours. They close the tab and move to the next one, where somebody had the nerve to write a number. And if they do stay, they guess. That is where the real trouble starts, because they do not guess in a vacuum.
Let me tell you what happened to me, and it could not be more relevant. The smart assistant on my site was telling visitors «290 to 1,500 euros» for building a website, with total confidence, while my own price starts at 450. Where did it find them? In an article of mine describing what a website really costs in 2026 in the Greek market. The only prices it had ever read were the market’s, because mine were nowhere.
That is the whole lesson in one sentence: the gap does not stay empty. Whatever you do not write, your competitor writes, or the forum, or the brother-in-law who «knows about these things», or an assistant that read something somewhere. And the number they plant in your customer’s head will always be the wrong one: either so low that you will look expensive, or so high that they will never ask.
When a fixed price is the only honest answer
Let us get to it, because «publish your prices» with nothing after it is useless advice too.
There is a category of service where the price is one number, full stop, and refusing to write it protects nothing at all. If you sell a subscription, hosting, a licence, or anything that costs the same for every customer, write the number. LogicInvoice costs 144 euros a year, the same for the freelancer issuing ten invoices a month and for the company issuing three hundred. What exactly would I gain by hiding it? A phone call in which I say the same thing, after making the other person chase it.
The same goes for anything that behaves like a product. Ten hours of remote support, 240 euros. There is no version of that sentence that gains anything from secrecy.
And watch this one, because I walked into it last week: VAT goes next to the price, not in the small print. I had the note «all prices exclude VAT» at the end of the section, neat and respectable, and I thought I had done my job. Then I looked at the page through a visitor’s eyes: they see «144», they leave with 144 in their head, and a note thirty centimetres further down never catches them. I fixed it the same day, on every price separately.
When a range tells the truth better than a number
Now the hard case, and the most common one. A website. It does not cost the same for everyone, and anyone who tells you otherwise has either never built one or is selling you a template and calling it a build.
Here a range is not evasion, it is the most accurate description of reality. But, and it is a large but, a range with no explanation is worse than no price at all. A bare «from 450 euros» reads as «450 in the ad, 1,200 on the invoice». Your reader has been there before, and has no reason to trust you more than the last one.
What does the work is what comes after. What that 450 covers, in specifics rather than in warm words. And, most of all, what moves it: how many pages, whether it needs to be bilingual, whether an online shop goes in, whether content has to be migrated from an old site. The reader going through that list does the arithmetic themselves and places themselves on the scale. Some will realise they sit at the low end and be pleased. Others will realise they sit at the high end and call you having already digested the figure, which is exactly the call you want.
Am I wrong? Think of the last time you asked for a quote yourself. You did not want to learn the price. You wanted to learn whether you were in the right shop.
When the work speaks instead of the price
There is a third case, where neither a number nor a range will stand: work that resembles nothing else. An application built around your own way of working, an integration with a system you have had since 2011, a migration where nobody knows what is underneath until they lift it.
Here the answer is not «contact us». It is indicative projects. You show three things you have built, what was asked for, and what order of magnitude they landed in. The visitor finds their own case next to one of the three and has their measure. It is harder to write than a number, I know. But it is the only honest answer when the truth is «it depends», and at least the reader learns what it depends on.
And yes, there is a fourth case: the service that genuinely needs a conversation before any number. Then write how it is priced. By the hour, by the project, by subscription, with a deposit and the balance on delivery. And write the two or three questions you will ask in order to arrive at the price. A visitor who knows what you are going to ask comes to the form prepared, and the quote they get is right the first time.
And the question I hand back
There is a fifth case, one that does not fit on a page but is worth saying, because I use it all the time. When I know the client, I turn the question around. I do not tell them what a website costs. I say: tell me what you want to spend, and I will build you the best site for that amount.
It sounds like a dodge. It does the exact opposite, it takes them out of the dilemma. The person across from you has no way of knowing what their site is worth, because that is not their job. They know perfectly well what they can spend. The moment they say it, the conversation stops being a negotiation and becomes planning: within that amount, what matters most and goes first, and what can wait for a second phase.
I do not leave them alone with their number, though, because that would be convenient for me and unfair to them. I give them my own estimate too: for what you want to do, the amount it takes is roughly this. And «roughly» is meant literally, because some projects resemble nothing that came before and land well outside any range. If my estimate and their budget are far apart, we find out on day one rather than on the last one.
The price that teaches
Let me show you something I did that I consider among the best lines on any pricing page of mine. Site maintenance costs 179 euros a year. And 129, if we host the site.
Two numbers, side by side. They need no explanation, they say it themselves: when the site sits on our own server, we know the environment, we are not chasing third-party credentials, and we do not charge for the hour that would have been lost. The visitor hosted elsewhere sees the difference and works out the next step on their own. The visitor already with us feels they gained something.
That is a price doing the job of an argument. And until a few days ago, it was hidden.
Two hours that pay for a year
I will not pretend it is easy. Last week I went through 61 price lines on my own site to unify a single phrase, «excluding VAT», with eleven exceptions where the price is the final one. And last night, thinking I was finished, I found an entire product page with four prices and no mention of VAT beside any of them.
If you do this, do it in order. First decide which of the four categories above each of your services belongs to. Then write the number or the range, and underneath it what moves it. Then go through and put VAT next to every amount. And finally, the step everyone skips: read the page out loud. If at any point you need to say «yes, but obviously…», that «obviously» is missing from the page.
This effort does not pay you back in a day. It pays you back in the calls you will not have to make to explain the obvious, and in the meetings with people who arrived knowing where they stand. I have written separately about why nobody calls you from your website, and half the answer hides here: they do not call because they do not know what they are going to hear.
And that is how I turned around in three days
I did not change my mind because somebody argued me into it. I changed it because I saw, on my own site, what fills the gap when I do not fill it myself. An assistant quoting other people’s prices with the confidence of the house, and a visitor about to leave with them.
«Prices or contact us?» is the wrong question. The right one is: how much of what I know about my price can I write down today, so that the person reading does not have to guess? Almost always, the answer is «more than I thought».
If your pricing page leaves visitors guessing, or you have none at all, we read it through the eyes of someone who does not know. We tell you where the visitor is left wondering, without sweetening it, and suggest what to write: a fixed price, a range or an example project, depending on what you sell. Send us through the contact form the page’s address, or the site’s if there is no pricing page yet. This work is part of our web development service.