Key Takeaways
Three-tier pricing pages convert 31% better than pages with 4+ tiers -- choice overload is real and measurable
The middle tier should be visually dominant and labelled 'Most Popular' -- anchoring works even when buyers know it's anchoring
Hiding pricing behind 'Contact Sales' loses 61% of B2B buyers who prefer self-service
Annual vs. monthly toggle placement affects perceived savings by 15-20%
The pricing page is the last page before a decision -- every element either builds confidence or introduces doubt
The highest-intent page on your site
Your pricing page is where people go when they're seriously considering buying. Not browsing. Not researching. Considering.
By the time someone clicks "Pricing" in your navigation, they've already read your homepage, probably looked at a feature page or two, maybe read a case study. They have a reasonable understanding of what your product does. Now they want to know what it costs and whether it fits their budget.
This page converts or it doesn't. And the difference between a pricing page that converts at 4% and one that converts at 1.5% is rarely about the actual price. It's about how the page is structured and how much work it makes the visitor do.
I've audited dozens of SaaS pricing pages over the last few years and the same mistakes keep showing up. Most of them are fixable in a day.
Why three tiers win
This is the most well-documented finding in SaaS pricing design: three-tier pricing pages convert 31% better than pages with four or more tiers.
The psychology is straightforward. When faced with too many options, people hesitate. It's called the paradox of choice, and it's been studied extensively since Sheena Iyengar's jam experiment in 2000. The more choices you present, the higher the likelihood someone chooses nothing.
Three tiers give you exactly what you need:
A low tier that's your entry point. It captures people who aren't ready for a full commitment. It's also a price anchor — it makes the middle tier look like better value by comparison.
A middle tier that's where you actually want most people to land. This should be your best-margin option, the one that balances features and price in a way that works for your typical customer.
A high tier that exists partly for the customers who genuinely need it and partly to make the middle tier feel reasonable. If the high tier is R5,000/month and the middle tier is R1,500/month, the middle tier feels like a sensible choice. Without the high tier, R1,500 might feel expensive on its own.
Four tiers? People compare options instead of choosing one. Five tiers? You've built a spreadsheet, not a pricing page. The cognitive overhead of comparing five plans with different feature combinations is enough to make visitors close the tab.
The anchoring game
The middle tier should be visually dominant. Larger card. Different colour. "Most Popular" badge. Slightly offset from the other two.
This is anchoring, and it works even when people know it's happening. When you visually highlight one option, you shift the comparison frame. Visitors don't evaluate each tier independently. They evaluate the other tiers relative to the highlighted one.
The enterprise tier anchors high. The starter tier anchors low. The middle tier sits in the sweet spot of "not the cheapest but clearly the best value." Most buyers will pick it. That's by design.
One thing I see SaaS companies get wrong: they highlight the highest tier instead of the middle tier, hoping to upsell. This backfires. When the most expensive option is visually dominant, the whole page feels expensive. The visitor's reference point shifts upward, and even the middle tier starts to feel like a compromise rather than a smart choice.
The "Contact Sales" tax
61% of B2B buyers prefer a completely rep-free buying experience. When you replace a visible price with "Contact Sales" or "Request a Quote," you're not protecting your pricing strategy. You're filtering out the majority of potential buyers.
I understand the reasoning. Enterprise deals are complex. Pricing depends on seat count, usage, contract length, integrations. You can't put a single number on it.
But you can put a starting number on it. "Starting at R2,000/month" gives buyers a reference point. It tells them whether they're in the right ballpark. It lets them self-qualify before taking the next step. And it builds trust, because transparency signals confidence.
The companies that hide pricing are usually afraid of one of two things: sticker shock or competitor analysis. Neither fear justifies the conversion cost.
Sticker shock happens when expectations are misaligned. If someone expects R500/month and your product starts at R5,000/month, they were never your customer. Finding that out earlier saves everyone time.
Competitor analysis? Your competitors already know your pricing. They signed up for a trial, or they asked someone who did. The only people you're hiding pricing from are actual buyers.
The annual/monthly toggle
Most SaaS pricing pages include a toggle between monthly and annual billing. Small detail. Big impact.
The default selection matters. If monthly is pre-selected, visitors see the higher number first. If annual is pre-selected, they see the lower number. The first number they see becomes their reference price. Everything after that is compared to it.
For most SaaS companies, defaulting to annual makes sense. You want to anchor on the lower number and present monthly as the premium option. "R1,200/month billed annually" feels different from "R1,500/month billed monthly" even though the annual commitment is the one that costs more upfront.
How you frame the savings also matters. "Save 20%" is more effective than "Save R3,600/year" for most audiences, because percentages feel larger and require less mental math. But there's an exception: when the absolute saving is dramatic (say, R50,000/year), lead with the number instead.
And please stop putting the toggle in a place where visitors miss it. I've seen pricing pages where the toggle is above the tier cards, right below the section heading, in a size and colour that blends into the background. If half your visitors don't even notice the annual option exists, you're leaving money on the table.
Feature comparison tables that don't overwhelm
Feature comparison tables are necessary but dangerous. They help buyers understand what they get at each tier. They also create analysis paralysis when done poorly.
The worst version: a 40-row table comparing every feature across every plan, with checkmarks and X marks in a grid that requires horizontal scrolling. Nobody reads this. People scan for the two or three features they care about and give up when they can't find them.
Better approach: show 8-10 differentiating features. Not every feature your product has — only the ones that differ between tiers. If all plans include email support, don't put email support in the comparison table. It adds noise without adding information.
Even better: use progressive disclosure. Show the top 5-6 differences by default. Put a "See all features" expander below for the people who genuinely want the full comparison. The 80% who don't won't be overwhelmed, and the 20% who do can still find what they need.
Highlight the differences, not the similarities. The decision between tiers hinges on what's different. Make those differences impossible to miss.
Trust signals on the pricing page
Trust matters more on the pricing page than anywhere else on your site. This is the moment where the visitor is closest to spending money. A single unanswered question or moment of hesitation can kill the conversion.
Logo rows work here. If recognisable companies use your product, showing their logos near the pricing tiers provides social proof at the exact moment it's needed. "If Company X trusts this product, maybe I can too."
Testimonials on the pricing page should be specific. Not "We love this product!" but "We reduced our onboarding time by 40% in the first month." A specific outcome near the price makes the cost feel justified. A vague endorsement feels like filler.
Money-back guarantees or free trial mentions reduce perceived risk. "Start free for 14 days" next to the CTA button does more work than the same message buried in your FAQ page. The buyer is deciding right now. Put the risk-reducer right where the decision happens.
The mistakes I see constantly
Per-seat pricing confusion. If your pricing is per seat, make it obvious. "R150/user/month" is clear. "R150/month" followed by a footnote that says "per user" is deceptive. Buyers figure it out eventually and the surprise doesn't build trust.
Pricing that requires math. If I need to calculate my total cost using a combination of base fee, per-seat pricing, usage overages, and add-ons, I'm going to close the tab and call your competitor whose pricing I can understand in 5 seconds. If your pricing model is complex, build a calculator. Don't make the buyer build their own.
Too many add-ons. Add-ons should enhance a plan, not complete it. If the base plan feels stripped and I need three add-ons to get a usable product, your tiers are wrong. The add-on approach works for genuinely optional extras, not for features most customers need.
No CTA below the fold. Your pricing page is probably longer than one screen. If the "Start free trial" or "Get started" button only appears at the top of the tier cards, you're asking people to scroll back up after reading your comparison table. Put CTAs at the bottom too. Sticky CTAs work even better.
The bottom line
Your pricing page is the last page before a decision. Every element on it either moves people forward or gives them a reason to leave.
Keep it simple. Three tiers. Clear differences. Visible pricing. Trust signals where the decision happens. And test it — the difference between a good pricing page and a great one is usually a few small changes that compound into significantly higher conversion rates.
If you're tracking your funnel properly (and if you're not, read our analytics guide), you should be able to see exactly where on the pricing page people drop off. Start there.
Related reading
- Analytics that matter: sales funnel reports and conversion tracking -- How to track where visitors drop off in your funnel.
- From template site to high-performing asset: our website redesign playbook -- The process for redesigning high-impact pages like pricing.
- Why your SaaS website's load time is costing you more than your ad budget -- If your pricing page loads slowly, none of the above matters.

Written by
Barry van Biljon
Full-stack developer specializing in high-performance web applications with React, Next.js, and WordPress.
Ready to Get Started?
Have questions about implementing these strategies? Our team is here to help you build high-performance web applications that drive results.
