Marketing & GrowthFree
Pricing Page Clarity Analysis Template
Every price a visitor cannot compute from what you published is a variable, and the variables get ranked by how many buyers they block.
Larksmoor tried to price three named buyers on six pricing pages, using only what each page published. Six of the eighteen cells came out, which is 33.3%. Eight more needed the documentation, the terms or a separate price list. Four could not be priced at any published source. The largest of the three buyers, a four-seat account with 180,000 contacts, could not be priced from a single page in the set, including Larksmoor's own. That is the finding, not the layout.
Each failure is recorded as a named variable rather than as a note about clarity, and the variables get ranked by how many cells they block. Thirty-two blocking incidences landed across twelve blocked cells, 2.7 apiece. Top of the list was what counts as a billable contact, at nine cells. Second was what happens when a tier is crossed mid-period, at seven. Neither is a design problem, and neither is fixed by a redesign.
Written for whoever owns the pricing page and keeps being told it needs to be clearer. Pair it with the value proposition rewrite when the claims above the price are the problem, and the competitor teardown when you need their pricing history rather than today's page. The funnel decomposition sizes a page-level finding against the rest of the funnel, and the positioning canvas is the place to go when the packaging itself is what is wrong.
Where the price actually lives
The word contact does not mean the same thing at two vendors in one category. HubSpot bills for marketing contacts, and its billing article says these count toward your contact tier and affect the cost of the subscription, while contacts you do not market to are free. Mailchimp counts the opposite way: its pricing article says subscribed, unsubscribed and non-subscribed contacts are all included in your contact count. A comparison table with one price column cannot survive that.
The second blocker is what a crossed tier costs. HubSpot's billing article says exceeding your tier by even one marketing contact upgrades you, and that setting a contact back to non-marketing only takes effect on a monthly update date. Mailchimp's pricing article says going past the contact limit mid-cycle produces an additional charge rather than an interruption. Both rules are published. Neither sits on a pricing page, and both change the number a buyer is trying to compute.
Then the page against its own traffic. Larksmoor's pricing page took 22,140 sessions in the quarter, and 9,144 of them, 41.3%, came from accounts above the largest tier the page prints. Those sessions started a trial at 1.49% against 7.74% for sessions the page could price, a gap of 5.2 times. Adding contact-sales submissions lifts that group to 4.64%, still well short. At half the priceable rate it would be 218 more trials a quarter.
How it works
Fix the buyers
Two or three real accounts, with the seat counts and volumes that decide their price.
Price every page
Each buyer priced on each page in the set, from published figures only.
Name the blockers
Every variable that forced a trip off the page, ranked by the cells it blocks.
Test against traffic
Your pricing sessions split by whether the page could price them, and what each group did.
What you get
- Each named buyer priced on every page in the set, using only what is published.
- A quotable share per vendor, splitting page-only, documentation-only and not published anywhere.
- Every blocking variable named and ranked by how many buyer-and-vendor cells it blocks.
- The billing unit each competitor uses, quoted from their own documentation with a capture date.
- Pricing page sessions split by whether the page could state their price, with next-step rates.
- A Sheet of the price grid, a Doc of the specific fixes, and the recommendation slide.
Common questions
Isn't this just a competitor price comparison?
A comparison puts one price per vendor in a column, which only works if they all charge for the same thing. In Larksmoor's set the six vendors billed per seat, per marketing contact, per stored contact, per email sent, per usage credit and per revenue band. The only comparable cell is what one specific buyer would pay.
What if our prices genuinely depend on a conversation?
Then the review says which buyers that applies to and what it costs. Larksmoor's unpriceable segment was 41.3% of pricing page traffic and reached a next step at 4.64% against 7.74%. Requiring a conversation is a defensible choice. Requiring one from four fifths of your revenue base without knowing that number is not.
How do you pick the buyer profiles?
From accounts you already have, not from personas. Each profile needs the figures that actually band a price: seats, stored volume, active volume, contract length and any security requirement that moves a tier. Two or three is enough, and they should straddle your range so the top of the tier table gets tested.
Competitor pricing changes often. Does the grid go stale?
Every cell carries the page it came from and the date it was read, so a stale cell is visible rather than silently wrong. The blockers age far more slowly than the numbers do. A vendor that does not define its billing unit today usually still does not define it two quarters later.
What if a competitor publishes no pricing at all?
That is a result, recorded as not published anywhere rather than skipped. Four of Larksmoor's eighteen cells landed there. It matters because a buyer comparing three vendors who can all be priced against two who cannot is running a different evaluation than the one you think you are in.
Does it always recommend publishing prices?
No. It recommends publishing the variables, which is a smaller thing. A defined billable unit and a stated rule for crossing a tier let a visitor compute a range without you printing an enterprise price. On this account those two sentences were the entire first recommendation.
What actually gets delivered?
A Sheet with the price grid, one cell per buyer and vendor, each carrying the source page, the read date and the blocking variables. A Doc with the ranked blockers, the specific fixes and the traffic split behind them. A slide for whoever decides. Message-level copy stays in the page copy rewrite.
Pricing Page Clarity Analysis Template
Fill in the form and your workspace opens with the work already underway.