For most of our 18 years running a small web development studio, our pricing page said one thing: "Contact us for a custom quote." A few months ago we rebuilt it, and the results changed how I think about client acquisition entirely.
You can see the current version live at webmaster.co.ua.
The problem with "contact us for a quote"
Every lead had to go through a call before seeing a single number. That felt safe — it let us tailor the pitch, gauge budget, avoid scaring anyone off with a price that seemed high out of context. In practice, it just added friction. A lot of visitors who would have been a great fit never messaged at all, because asking "how much does a website cost" felt like a bigger commitment than it should have been.
What we changed
We split pricing into four named packages, published directly on the site: a landing page tier ($200–400), a business site tier ($400–800), an SEO-focused build ($800–1,500), and a custom tier starting at $1,500. Each one lists exactly what's included and how long it takes.
We also stopped hiding a detail we used to soften in conversation: the base tier uses AI-generated placeholder copy that clients edit themselves. It felt risky to put that in writing. It turned out to remove more friction than it created — clients arrived at the review stage already knowing what to expect, instead of assuming hand-crafted copywriting was baked into a $250 landing page.
What actually changed in the leads themselves
The volume of messages didn't move dramatically. What changed was the quality of the first message. Before, most inquiries opened with "how much would a website cost me?" — a question that required a full back-and-forth just to get to scoping. Now, people arrive having already picked a tier: "I need the business package, here's what I'm working with." The pre-qualification that used to happen on a call now happens before anyone messages us at all.
Trust signals we don't control
We also changed how we handle testimonials. Instead of only showing quotes we selected and typeset ourselves, we link out to verified reviews on a third-party freelance platform. A visitor doesn't have to trust our curation — they can check the source directly. Testimonials you control are testimonials a skeptical reader discounts by default; the ones you don't control carry more weight, even if there are fewer of them.
The stack didn't need to change for any of this
None of the above required new tooling. The site runs on WordPress with Elementor, same as it always has — no framework migration, no rebuild from scratch. That's worth stating plainly, because it's tempting to assume a conversion problem is a technical problem. Ours wasn't. The pricing page was structurally under-informative, and fixing the information architecture mattered far more than anything we could have done to the underlying stack.
If you run a services site
If your pricing still lives behind a contact form, it's worth testing transparency on a segment of traffic before assuming it'll scare visitors away. For a services business built on repeat local clients rather than one-off high-ticket sales, we found the opposite: showing the number filtered the leads, it didn't lose them.
Top comments (0)