Should we show pricing on our B2B website?

By Greg Rosner
Founder of PitchKitchen · Author of StoryCraft for Disruptors
· 8 min read
TL;DR
Should you show pricing on your B2B website? Usually yes, at least a starting range. But the real question isn't the number, it's whether your message can defend the value when you aren't in the room. Founders hide price behind a 'Contact Sales' gate, the Quote Wall, because they're afraid a cold buyer will reject the number before a rep can sell the value. That fear is a message problem, not a pricing one. It's worse now because buyers self-brief through AI, and a hidden price gives the machine nothing to recommend. Fix the case for the value, then show the number.
Should you show pricing on your B2B website? Usually yes, at least a range or a starting point. But the real question underneath it isn't the number. It's whether your message can defend your value when you're not in the room. Founders hide price because they're afraid a cold buyer will see it, panic, and leave before a rep can 'sell the value.' That fear is data. It's telling you the page can't carry the story on its own. Fix that, and the pricing question mostly answers itself.
The scene: what a founder defended to me on Monday
This Monday I sat with the CEO of a $16M vertical SaaS company in logistics. Smart guy, real product, customers who love him. I pulled up his site, scrolled to pricing, and hit a wall. 'Contact us for a custom quote.' Nothing else. No range, no starting point, no hint of what a company like his best customer actually pays.
He had his reasons ready, and they sounded good. 'Our pricing is complex.' 'We don't want competitors to see it.' 'If they see the number cold, they'll bounce before we can explain the value.' Every founder I meet has some version of this speech. It's almost word for word the same speech, which is the first clue that it isn't really about his pricing.
Here's what I saw that he didn't. His best customers pay him gladly. The value is real. But the only place that value ever gets explained is on a Zoom call, by him, forty minutes in. The website never even tries. The 'Contact us for pricing' box isn't protecting his deals. It's admitting the page can't make the case.
What's actually broken when you hide your pricing?
The thing you're hiding behind has a name. I call it the Quote Wall. It's the 'Contact Sales for Pricing' gate you put up because your message can't defend the value without a human standing next to it. The wall feels like leverage. It's actually a confession.
The Quote Wall is Solution-Centric Marketing wearing a poker face. You've built a page that describes what you ARE, the platform, the features, the categories, and then when the buyer asks the one question that decides everything, 'what does this cost me,' you go quiet and make them book a call. A warm buyer who already trusts you will book that call. A cold stranger comparing three vendors just closes the tab and keeps the two who told him.
Understand what the wall is really telling you. If the only reason you hide the price is fear that a cold buyer will reject it, that fear isn't a pricing problem. It's a message problem. A strong message makes the price feel earned by the time the buyer reaches it. A weak one leaves the number naked, so you hide it. You can't out-hide a value you never made clear.
Why is this worse now than ever?
Because the buyer doesn't start with you anymore. He starts with a machine. He asks ChatGPT or Claude or Perplexity to compare vendors in your category, and the machine builds a shortlist from whatever it can actually read. A 'Contact us for pricing' page gives it almost nothing to read. You've hidden the one thing the buyer most wants to know from the exact place the decision now gets made.
Gartner's research on the B2B buying journey found buyers spend only about 17% of their time meeting with potential suppliers across the entire decision. The other 83% is independent research, most of it now run through an AI that briefs the buyer before a rep ever gets a hello. Your Quote Wall doesn't stop a competitor from seeing your price. It stops the machine from being able to recommend you.
This is what we mean when we say brand is the new backlink. In AI search, a clear and consistent story is what gets you cited, the way backlinks once drove rankings. A page that answers 'what is this, who is it for, what does it cost, what changes for me' gives the machine something to repeat. A page that answers none of it, that just says 'let's talk,' gets skipped. The machine can't recommend a mystery.
How do you tell if your pricing page is the real problem?
Before you argue about whether to publish a number, run these three tests. They tell you whether you have a pricing problem or a message problem. It's almost always the second one.
- 1The Fear Test. Write down the real reason your price isn't on the site. If the honest answer is 'a cold buyer would reject it,' you've just diagnosed a message problem, not a pricing one. The number isn't scary. The unearned number is scary.
- 2The Cold-Read Test. Have someone outside your company read the page up to where the price should be, then ask them: would you pay for this, and roughly what would you expect it to cost? If they can't ballpark it or can't say why it's worth anything, your page isn't defending the value, with or without a number on it.
- 3The Machine Test. Ask ChatGPT or Perplexity to compare vendors in your category and recommend one for a company like your best customer. If you don't show up, or show up as a vague 'contact for pricing' also-ran, that's the buyer's real first impression, and the Quote Wall helped build it.
What I see across the companies I work with
Across the founder-led B2B companies I sit with in the $5M-$75M range, nearly every one hiding its price gives the same three reasons, and underneath all three is the same real one: they've never written down why the value is worth the number, so they need a human in the room to improvise it every time. The complexity excuse is usually real but overstated. Most 'custom' pricing has a floor, a starting point, a 'most companies your size pay in this range.' Publishing that band costs nothing and does most of the work.
The competitor fear almost never survives contact with reality. Your competitors already know roughly what you charge, they've lost and won deals against you, and they can get a quote in ten minutes by pretending to be a buyer. The only person your Quote Wall reliably blocks is the good-fit stranger who wanted to self-qualify and move fast, and the machine trying to recommend you to him.
How this played out for one company
One founder I worked with, a roughly $12M compliance-software company, had 'Contact us for pricing' up for years. His team burned dozens of intro calls a month on tire-kickers who bounced the second they heard the number, because the number never had a chance to be framed. We didn't just publish a price. We rebuilt the message first, so the page made the case, named who it's for, named what it kills for them, and then showed a clear starting range with a short line on what moves it. The unqualified calls dropped. The calls that did come in already knew the ballpark and showed up ready to talk scope, not sticker shock. The number didn't change. The story around it did, and that's what changed who booked.
The Quote Wall versus a page that earns the number
| The Quote Wall | A page that earns the number |
|---|---|
| Hides the price so a rep can 'sell the value' live | Makes the case so the price feels earned before you talk |
| Describes what you are: platform, features, category | Names what changes for the buyer: money, risk, time |
| Forces a cold stranger to book a call to learn anything | Lets a good-fit buyer self-qualify and come in warm |
| Gives the AI nothing to read, so it recommends someone else | Gives the machine a clear answer it can repeat and cite |
| Feels like leverage, reads like fear | Feels like exposure, reads like confidence |
What should you do about it?
You don't fix this by slapping a number on the page tomorrow and hoping. You fix the message the number sits inside, so the price lands as the last logical step instead of a cold shock. Start here this week.
- 1Run the Fear Test and the Cold-Read Test on your own pricing page. Get honest about whether you're hiding a number or hiding a weak case for it.
- 2Write down, in one page, why your best customer gladly pays what they pay: the problem you kill, who it's for, and what it's worth in their terms. That page is the thing your website is missing, with or without a dollar sign.
- 3Then publish at least a starting range or a 'most companies like you pay' band, wrapped in that case. Watch who books a call now, and how ready they are when they do.
That second step is the whole game, and it's why the fix isn't a pricing page. It's the Magnetic Messaging Framework (MMF), the strategic narrative system Greg Rosner built across more than 300 founder engagements around four anchors: category design, villain framing, an old-way / new-way contrast, and a promised-land outcome. Written down once, it becomes the source your homepage, your pricing page, your reps, and your AI tools all pull from, so the value is already made by the time a buyer reaches the number, and you don't need to be in the room to defend it. That matters because the buying decision now happens where you aren't, in independent research briefed by a machine. If your value only survives when you explain it live, it doesn't scale, and the machine can't repeat it. PitchKitchen builds Magnetic Messaging Frameworks for founder-led B2B companies in the $5M-$75M range. Founded by Greg Rosner, author of Story Craft for Disruptors, PitchKitchen fixes broken marketing messages and underperforming websites for CEOs whose sales are stalling because their message isn't doing the work. If the price is where your deals actually stall, start here: Why do we keep losing deals on price?. If your customers explain your value better than your own site does, the fix is the same one: Why do our customers describe what we do better than our own website?. And here's why a clear message outlasts every tactic in the AI era: Strategic Positioning Is the Only Moat AI Can't Copy. Hiding your price doesn't protect your value. It hides that you never made the case for it. This is just truth.
Questions People Ask
FAQ
Should you show pricing on a B2B website?
Usually yes. At least publish a starting range or a 'most companies your size pay' band. The deeper question isn't the number, it's whether your message can defend the value when you aren't on the call. If the only reason you're hiding the price is fear a cold buyer will reject it, that's a message problem, not a pricing one. Fix the case, then show the number.
Won't showing pricing help my competitors?
Almost never in a way that matters. Your competitors already know roughly what you charge from deals you've won and lost, and they can get a quote in minutes by posing as a buyer. The only person your 'contact us' wall reliably blocks is the good-fit stranger who wanted to self-qualify, and the AI trying to recommend you to him. You're protecting the number from the wrong people.
What if our pricing is genuinely custom and complex?
Real, but usually overstated. Most 'custom' pricing still has a floor, a starting point, or a typical range for a company of a given size. Publishing that band costs nothing and does most of the work of qualifying buyers. Wrap it in a clear case for the value and a short line on what moves the price. Complexity is a reason to frame the number, not to hide it.
Does hiding pricing hurt us in AI search?
Yes. B2B buyers now run most of their research through AI engines before a rep says hello, and Gartner found buyers spend only about 17% of the journey meeting suppliers. A 'contact us for pricing' page gives the machine almost nothing to read, so it recommends the vendor who answered the question. In AI search, a page that names what you cost and what changes for the buyer is what gets you cited.
