Should your SaaS pricing page list every feature you have built?
No. List the features that change which plan a buyer picks, and move the rest to a full comparison further down or on its own page. A pricing page is a decision tool, not a product inventory. Every extra row makes the choice slower and the differences between plans harder to see.
This question usually comes up right after a big release. The team shipped something they are proud of, and the instinct is to add it to the pricing table so buyers see the value. Six releases later, the table has 60 rows, and nobody can tell the Starter plan from the Growth plan without a spreadsheet.
My position is firm on this one. A long feature list feels like proof of value to the team that built it. To a buyer, it reads like homework.
What is a pricing page actually for?
A pricing page helps a qualified buyer answer three questions fast: can I afford this, which plan fits me, and what happens next. Everything on the page should serve one of those three. Features belong there only when they help answer the second question, which plan fits.
That framing changes what you keep. A feature every plan includes does not help anyone choose between plans, so it does not need a row in the plan cards. It might belong in a short "every plan includes" line instead. A feature that only the top plan has, and that a real segment needs, is exactly what the page should show clearly.
It also changes how you think about length. A pricing page can be long if the buyer controls the depth. Plan cards up top, a short list of deciding features, then a full comparison that people can open if they want it. Depth on demand is fine. Depth by default is the problem.
Why do long feature lists hurt conversion?
Because they hide the differences that matter. When 50 rows show the same checkmark in every column, the five rows that actually differ get lost. Buyers skim, see a wall of checkmarks, and either pick the cheapest plan by default or leave to ask sales a question the page should have answered.
There is also a trust cost. Long lists tend to fill up with features that sound alike, such as "advanced reporting," "custom reports," and "report builder." A buyer cannot tell what they get, and vague rows make the whole table feel padded. Vague rows on a pricing page invite the exact objection you wanted to avoid: "what am I actually paying for?"
The third cost lands on the sales team. When the page does not show what separates plans, reps spend early calls explaining packaging instead of qualifying need. For a sales-assisted motion, that is time taken from the conversations that close deals.
Which features should make the cut?
Keep features that differ between plans and that a real buyer segment uses to decide. Cut features every plan shares, features almost nobody uses, and internal names buyers do not recognize. A good test: would removing this row change which plan anyone picks? If not, it does not belong in the plan cards.
I sort candidate rows into four buckets. Deciders are features that differ by plan and drive the choice, such as seat limits, integrations with Salesforce or HubSpot, single sign-on, and usage limits. Reassurers are things buyers worry about regardless of plan, like security, support response, and data export. Shared basics are the core product every plan includes. Everything else is noise.
Deciders go in the plan cards or the top of the comparison. Reassurers go in a short strip or an FAQ near the plans. Shared basics get one line: "every plan includes." Noise gets cut, or moves to a product page where it can be explained properly.
How many features should a plan card show?
Few enough that a buyer can compare plans at a glance, usually five to eight per card. The exact number matters less than the rule behind it: each line should say something the neighboring plan does not. If two cards share most of their lines, the cards are not doing their job.
A pattern I like is "everything in Starter, plus" on higher plans. It cuts repetition and puts the difference first. The Growth card then lists only what Growth adds. Buyers read the upgrade path in one pass instead of comparing two long lists line by line.
The number of plans affects this too. Three plans with six lines each is easy to scan. Five plans with twelve lines each is not. If your table is overloaded, the real issue may be the packaging rather than the page. I covered that decision in how many pricing tiers B2B software should have.
Where should the full feature comparison live?
Below the plan cards, collapsed by default, or on a dedicated comparison page linked from the pricing page. Technical buyers and procurement teams do want the full list. Give it to them in a format built for scanning: grouped by category, with plain-language row names and a short note on anything unclear.
Grouping does most of the work. Rows like "Integrations," "Security and admin," "Reporting," and "Support" let a buyer jump to what they care about. Inside each group, put the rows that differ by plan first. I go deeper on layout in designing a pricing comparison table in Webflow.
A separate comparison page also helps with AI search. When someone asks an assistant whether your Growth plan includes single sign-on, a clean, labeled comparison table gives the engine a clear passage to quote. A wall of checkmarks with internal names gives it very little to work with.
What about enterprise buyers who want to see everything?
Give them a path, not a longer table. Enterprise buyers usually need security details, compliance documents, admin controls, and contract terms. Those belong on a security page, a trust center, or a sales conversation. Adding them as rows on the main pricing page slows down every smaller buyer who will never need them.
The enterprise column on most SaaS pricing pages works best as a short list of what changes at that level, plus a clear "talk to sales" action. Single sign-on, audit logs, custom contracts, and dedicated support are typical deciders here. Keep that column honest about what is included versus what is negotiated.
If your enterprise price is hidden, the copy around it matters even more. Buyers need to know what they will get and what the next step looks like. I wrote about that situation in what your pricing page should say when you hide prices.
How do you trim a pricing page without upsetting the product team?
Move features, do not delete them. Every feature still lives somewhere: the comparison section, a product page, or the docs. The pricing page just stops carrying all of them in the plan cards. Framed that way, trimming becomes a placement decision rather than a judgment on anyone's work.
Bring data to the conversation. Look at which features sales gets asked about on calls, which ones show up in closed-won notes, and which ones trigger upgrades. Those are your deciders. Features nobody asks about can live one click deeper without hurting anyone.
Then test it. Ship the trimmed version, keep the full comparison one click away, and watch plan mix, demo requests from the pricing page, and pricing questions on sales calls for a few weeks. If those move the right way, the argument is over.
What should you do next?
Print your current pricing table and mark every row as a decider, reassurer, shared basic, or noise. Rebuild the plan cards from deciders only, add one "every plan includes" line, and move the full list into a grouped comparison below. Then watch how buyers and sales respond for a month.
A pricing page earns its keep by making a hard choice feel easy. The fastest way to get there is usually to show less, more clearly.
If you want a second opinion on your SaaS pricing page or help rebuilding it in Webflow, reach out and let's chat.
Get found, cited and the back office automated
Let's make your site the source AI engines quote and wire up the systems behind it.
Read more blogs
Let's get your website found and cited by AI
Tell me what you're working on, whether AI search is skipping your product, your back office is buried in manual work, or you need a build that does both.