Skip to content
SaaS Development4 June 2026 · 8 min readUpdated 30 September 2026

Building a B2B SaaS Pricing Page That Converts in 2026: A Builder's Playbook

How many tiers a B2B SaaS pricing page needs, which billing model to show, and where annual pricing, feature gates and Contact Sales go, separating documented facts from my own recommendations.

Building a B2B SaaS Pricing Page That Converts in 2026: A Builder's Playbook

You're building the pricing page for a B2B SaaS and every decision feels like a guess: how many plans, which billing model, where the sales button goes. Your first action is to write one sentence per plan naming the buyer it's for. If two plans get the same sentence, you have one plan too many, and you can settle that before any layout work.

Most advice on a b2b saas pricing page comes with confident numbers attached. I've removed the ones I couldn't trace to a primary source, so what follows separates what the documentation and studies say from what I'd recommend. Where it's my judgement, I say so.

How many tiers should a B2B SaaS pricing page have?

Start with three: an entry plan, the main paid plan and a contact-sales plan. Add a fourth only when your data shows a real gap between two existing plans. The research on too many options is weaker than the popular rule suggests.

Abstract Brutalist composition: three concrete panels of ascending height, sharp shadows, single electric cyan accent on the middle form

The rule that six tiers push buyers into research mode is often repeated as settled. The best-known test of it is a meta-analysis by Scheibehenne, Greifeneder and Todd in the Journal of Consumer Research, covering 63 conditions from 50 experiments with 5,036 participants. It found a mean effect of virtually zero, with considerable variance between studies, and no sufficient conditions that reliably trigger choice overload (Scheibehenne et al., 2010, retrieved 30 September 2026). Those were mostly consumer choices, not SaaS plans, so I'm not claiming it proves anything about pricing pages. It does mean "never more than four tiers" isn't a law.

There is one documented ceiling, and it's a tooling one. Stripe's embeddable pricing table shows a maximum of four products, with up to three prices per product (Stripe pricing table docs, retrieved 30 September 2026). If you use it, four is your limit whatever your preference.

This is my working heuristic for what each count asks of the visitor, not measured data:

PlansWhat it asks of the visitorWhen I'd use it
TwoFree or paid, with no middleA single-buyer product with one clear upgrade trigger
ThreePick your sizeThe default for an early SaaS MVP
FourPick your size, with a custom-terms optionWhen sales-assisted deals already exist
Five or moreCompare a gridOnly when each plan has a distinct buyer

Stripe's table also lets you highlight one product, which is how most pages implement a "most popular" label. I haven't found primary evidence on whether that label changes what people choose. If you use it, mark the plan that customers really pick most, because a badge on a plan nobody buys invites a question you can't answer. Until you have plan-mix data, I'd launch without it. That's a recommendation, not a finding.

For a real data point from my own work, Callidus, the clinic SaaS I built with React, Firebase and Stripe Connect, is listed at £15 per month on the Starter plan and £50 per month on the Aesthetics plan. It adds £25 per month per extra user and a 14-day free trial, per its case study. That's two plans plus a seat add-on, so it doesn't follow the three-plan default, and I don't have conversion data to tell you whether that helped or hurt.

Which billing model should a B2B SaaS pricing page show?

Choose the billing model before the layout, because the page can't hide a model the buyer can't predict. Flat-rate and per-seat plans let buyers calculate a bill, while usage-based plans need a stated floor or cap.

Stripe's pricing-model documentation defines four patterns, and the pricing table supports three of them (Stripe pricing models, retrieved 30 September 2026):

ModelStripe's descriptionPricing table supportMy view on the page
Flat rateCustomers pick a service tier and pay a flat rateYesSimplest to read, one number per plan
Per-seatEach pricing unit represents one userYesBuyers can calculate their own bill
TieredUnit cost changes with quantity or usageYesNeeds an example so the math is visible
Usage-basedCharges based on usage, including fixed fee and overageNoShow the fixed fee first, then the overage rule

The pricing-table column comes from the limitations section of Stripe's pricing table docs, which says the table supports flat-rate, per-seat, tiered and trials but doesn't support usage-based models. The last column is my judgement. If your product bills on usage, the fixed-fee-and-overage variant is the one that gives the visitor a number to start from, and metering and usage-based billing covers the build side.

Two smaller details from the same docs affect per-seat and tiered plans. The pricing table's default maximum quantity is 99, and tiered options for quantities above the maximum don't appear in the selector unless you raise it. If your plan is sold per seat and larger teams exist, check the selector shows the tier a 150-person customer would land in.

Trials have a documented catch too. The table can start a free trial without collecting a payment method, using the option to only collect payment method information if required, but Stripe's docs say to set up email reminders to collect payment details before the trial ends, because otherwise Stripe pauses the trial. A trial with no card is a pricing decision and an email decision at the same time.

I'd avoid a pure pay-as-you-go headline for a B2B buyer who has to get a budget approved. That's a recommendation, not a finding, and a developer tool with a generous free allowance may be the exception.

Where do annual pricing, feature gates and Contact Sales belong?

Show the annual option where the price is read, gate features the user only needs after their first win, and keep contact-sales visually separate from self-serve plans. These are layout recommendations, and only one has a documented constraint.

How should you display the annual discount?

Put the discount where visitors already look, which is next to the price, not behind a control they have to discover. Whether to offer annual at all is a separate question with its own trade-offs on cash and churn measurement, covered in annual versus monthly pricing for B2B SaaS. I haven't found a primary study on toggle versus callout placement, so test it on your own traffic.

What belongs on each plan card?

Show three or four differentiators per plan, written as outcomes, and push the long feature list below the cards. Stripe's pricing table supports a marketing feature list per product, such as a seat limit or a board count, so the structure is there to keep it short. That length is my preference. I haven't seen primary evidence for an exact number, and a plan with a single clear difference is easier to describe than one with fifteen checkboxes that look alike.

Which features should be gated?

Gate features that matter after the first win, such as audit logs, exports or API access, and leave adoption features such as team invites and the core workflow open. This is my reasoning, not a measured rule: a gate in front of the first successful use blocks the experience you need the buyer to have before paying. The same reasoning applies to trials, which a free trial that converts explores further.

Where does Contact Sales go?

Below or beside the self-serve plans, with its own button and framing, so it reads as a different buyer path and not a fourth price. Stripe's pricing table allows exactly one product with a custom call-to-action that redirects to any URL, which suits a contact-sales plan. The same page says its call-to-action takes customers directly to checkout, with no intermediate step such as asking them to create an account first.

What should a pricing FAQ answer?

Answer the questions that stop a purchase: changing plans, what counts toward a limit, what happens over the limit, and whether there are extra fees. Write each answer to match your real configuration, because buyers will hold you to it.

Plan changes are the clearest example. In Stripe Billing the default proration behavior creates proration items when a subscription changes, and Stripe's own example shows a customer who upgrades from a 10 USD monthly plan to a 20 USD plan halfway through the period being billed an additional 5 USD. The docs also say positive prorations aren't immediately billed unless you choose to bill them (Stripe prorations, retrieved 30 September 2026). So "you'll be charged the difference immediately" may be false in your setup. Check what your integration does before you publish that sentence.

How do you know your pricing page converts?

You know only by measuring visitors through to paid accounts, and a small site rarely has the traffic to read a pricing test quickly. Before changing any number, check whether a test is even possible.

The sample-size problem is covered in pricing page A/B testing, including what to do when you don't have the traffic. The short version is that you can still learn from structured conversations. Consider a founder who asks three people matching their ideal customer to talk through the page aloud without help. The points where they pause or ask a question are the points to fix. That's a hypothetical illustration of a method, not a result from a client.

I'd also keep the honest limits in view. I can tell you what the docs and studies above support. I can't tell you that any layout lifts conversion by a given percentage, and I'd distrust any post that does without showing its data. BookBed, my Flutter, Firebase and Stripe booking app, has subscriptions wired and tested at €9 per month for up to twenty units but not activated for paid traffic, so it has no pricing-page conversion data either. The wider billing picture is in SaaS billing and payments.

Write the one-sentence buyer for each plan now. Which two plans share the same sentence?

Free resource

Free SaaS MVP Scope Template

A Notion document with the full feature checklist, MVP vs. nice-to-have table, pre-build questions, and cost signals — so you walk into any developer call knowing exactly what to ask for.

Get the template →
DL

Dusko Licanin

Full-Stack Developer · Banja Luka, Bosnia

Full-stack developer shipping SaaS MVPs, web apps, and mobile apps using AI-augmented workflows — without agency coordination overhead. Live portfolio: BookBed, Callidus, Pizzeria Bestek.

Frequently Asked Questions

How many pricing tiers should a B2B SaaS pricing page have?

Start with three: an entry plan, the main paid plan and a contact-sales plan, and add a fourth only when your data shows a real gap. The popular claim that six tiers hurt conversion is not well supported: a 2010 meta-analysis of 63 conditions and 5,036 participants found a mean choice-overload effect of virtually zero. The one hard limit is tooling, since Stripe's embeddable pricing table shows at most four products. Treat tier count as a hypothesis to test with your own traffic.

Which billing model works best on a B2B SaaS pricing page?

Flat-rate and per-seat models are the easiest for a buyer to calculate, so they suit most self-serve plans. Stripe defines flat rate, per-seat, tiered and usage-based models, and its pricing table supports the first three but not usage-based. If you bill on usage, show the fixed fee before the overage rule so the visitor has a starting number. There is no single winner, so pick the model whose bill your buyer can predict before they sign up.

Where should Contact Sales go on a SaaS pricing page?

Place it below or beside the self-serve plans with its own button and framing, so it reads as a separate buyer path and not a fourth price. Stripe's pricing table allows one product with a custom call-to-action that redirects to any URL, which suits a contact-sales plan. Its call-to-action goes straight to checkout for the other plans, with no account-creation step in between. The placement advice is my recommendation, so test it against your own signup data.

What should a B2B SaaS pricing page FAQ cover?

Cover the questions that stop a purchase: changing plans, what counts toward a limit, what happens over the limit, and whether there are extra fees. Write each answer to match your real billing configuration. In Stripe Billing, the default proration behavior creates proration items, and positive prorations are not billed immediately unless you choose to, so a promise to charge the difference at once may be wrong for your setup. Check what your integration does before you publish the answer.