“Should I show prices on my small-business website?” is really a question about what the buyer can know before talking to you. A fixed service with stable deliverables can usually earn a clearer decision by publishing its price. A job whose scope depends on a site visit, diagnosis, eligibility check, or customer choices may need a quote. In between, a starting price or range can be useful if it is honest and the page explains what moves the number.
There is no universal conversion rule that makes one format correct for every business. Use the framework below to choose a format, write the boundaries around it, and run a measurement test that values qualified work over raw inquiry volume.
Start with the short answer
Choose the clearest format your offer can support:
| Offer condition | Best first format | What the page must make clear |
|---|---|---|
| Defined service, stable deliverables, predictable effort | Fixed price or small package table | Inclusions, exclusions, unit, timing, taxes or fees, and how to buy |
| Repeatable service with a few meaningful variations | Price range or tiered packages | What moves the buyer from one tier or end of the range to another |
| Minimum scope is clear, final scope varies | Starting price plus quote path | What the starting case includes, what triggers a higher quote, and whether that case is available |
| Diagnosis, site conditions, eligibility, urgency, or custom work determines scope | Quote or consultation | The inputs required, review process, response expectation, and a useful next step |
“No public price” should not mean “no useful information.” Explain the pricing model, the variables, a realistic next step, and what the buyer will receive after contacting you. A hidden number creates a different kind of uncertainty from a transparent quote process.
Score whether your offer is ready for a public price
Use this 100-point scorecard as an original decision aid, not as an industry benchmark. Score each factor from 0 to 5, then multiply by its weight. A high score means your offer is ready for more specificity; it does not mean you must publish a price if legal, operational, or strategic constraints say otherwise.
| Factor | Weight | 0 points | 5 points |
|---|---|---|---|
| Scope stability | 25 | Every job is materially different | Deliverables and effort are repeatable |
| Buyer self-selection | 20 | Fit cannot be assessed without diagnosis | A buyer can tell whether the offer fits from the page |
| Price accuracy | 20 | Costs change often or are not yet known | The displayed number is current and attainable |
| Capacity and response | 15 | More inquiries would overwhelm the team | The next step and delivery capacity are defined |
| Competitive and commercial context | 10 | Price alone would misrepresent value or fit | Scope and proof make comparison meaningful |
| Operational readiness | 10 | Payment, quote, fulfillment, or cancellation rules are unclear | The customer and internal handoff are documented |
Calculate each row as (your score ÷ 5) × weight. Interpret the total as a starting signal:
- 0–39: publish the model and decision inputs first. Do not force a number that the operation cannot defend.
- 40–64: test a starting price, range, or one defined package while keeping a human path for exceptions.
- 65–84: a public price or tiered package is a strong candidate if inclusions, capacity, and payment steps are ready.
- 85–100: publish the clearest purchasable price you can support, then maintain it like a product surface rather than a forgotten page.
One severe weakness can override the total. An offer can be easy to describe but impossible to fulfill at the advertised rate. Treat the score as a way to expose that weakness before the number becomes a public promise.
Choose among fixed price, range, starting price, and quote
Use a fixed price when the unit is clear
A fixed price works when the buyer can understand what one purchase includes. State the unit: per visit, per room, per project, per month, per location, or another concrete basis. Name the deliverables and limits. If revisions, travel, rush work, materials, or third-party charges are outside the base price, say so beside the number rather than burying them in a later conversation.
Fixed pricing is not the same as one price for everything. Three defined packages can be easier to evaluate than one broad promise. The website package checklist is useful if your own offer includes strategy, content, build, hosting, or post-launch support that buyers may otherwise assume is bundled.
Use a range when the variables are explainable
A range can be honest for work with a small number of known drivers. For example, a service page might say that a standard project usually falls between two points because the customer chooses one of three service levels, two locations, or a defined amount of content. Put the driver next to the range. “Most projects are between X and Y” is weaker than “X covers one location and Y covers three, with the same core deliverables.”
Keep the range narrow enough to inform a decision. A range that spans every possible project is a disguised quote request. Review the small-business website cost guide when your range needs to account for content, integrations, migrations, hosting, or ongoing work separately.
Use a starting price only when the starting case is real
“Starting at” can help when there is a legitimate smallest package, but it can also become an attractive number that almost nobody can buy. Name the starting package, what it includes, who qualifies, and the conditions that change the quote. If the amount is an introductory promotion, limited capacity offer, or price available only after a condition, label that condition near the number.
For online purchases, the Federal Trade Commission’s current fee rule is narrower than a general website-pricing requirement: it addresses covered live-event tickets and short-term lodging, including how total prices and mandatory fees are presented. Its FAQ says covered businesses must disclose the total price upfront and that mandatory fees generally cannot be hidden from that total. Do not present the rule as legal advice for every small business; use it as a reminder to check the rules that apply to your industry, transaction, and jurisdiction with qualified counsel.
Use a quote when discovery genuinely changes the work
A quote path is appropriate when the service depends on information the customer and business do not yet share. A roofer may need roof size, access, materials, and damage details. A professional service may need eligibility, records, or a defined engagement. A website build may need an inventory of pages, integrations, content responsibility, and launch requirements.
Replace “contact us for pricing” with a useful quote contract:
- what information the buyer should provide
- which person reviews the request
- when the buyer should expect a response
- what the quote will contain, such as scope, assumptions, timeline, and total cost
- which situations require a call, site visit, diagnosis, or additional fee
The qualified-lead intake guide can help decide when a form should collect enough context to make the next conversation useful without turning the first step into an unnecessary interrogation.
Write the price so a buyer can use it
Price display is a content and interaction problem as much as a layout problem. Put these details within the same decision area as the number:
- Unit and timing: Say whether the amount is per project, visit, month, user, location, or another unit, and when payment is due.
- Inclusions: List the deliverables, service level, quantity, duration, and support that are actually part of the price.
- Exclusions: Name optional upgrades, customer-supplied inputs, travel, materials, rush work, taxes, shipping, or third-party costs where relevant.
- Eligibility: Explain locations, minimum order, appointment type, business size, or other constraints that make the number attainable.
- Next step: Let the buyer buy, choose a package, request a quote, or ask one defined question.
When a buyer enters information, labels and instructions matter too. W3C’s guidance for WCAG 2.2 Success Criterion 3.3.2 says labels or instructions should be provided for inputs, including optional fields. Use visible labels and clear instructions in a pricing calculator, quote form, or checkout; do not rely on placeholder text or a decorative card to explain what the buyer must provide.
If the offer can be purchased online, a hosted checkout can keep the payment mechanics separate from the marketing page. Stripe’s official pricing-table documentation describes displaying product and pricing information and sending customers into Stripe Checkout, while also listing limits and security considerations for the embed. Treat those implementation limits as part of the product decision: a pricing table is not a substitute for accurate scope, tax handling, policy links, or a tested confirmation path.
Make the page useful for people and search
Do not create a pricing page only because a keyword tool suggests “pricing” has demand. Google’s Search Central guidance says helpful content should be made for an existing audience, provide original value, and leave readers able to achieve their goal. That is a practical test here: a useful pricing page should help a real buyer decide fit, compare options, understand the next step, or know why a quote is necessary.
Give the page one clear purpose. If a fixed package has its own decision, link to that package from the relevant service page. If a quote is required, link to the inputs and proof that make the quote meaningful. Avoid publishing several near-identical pages with the same prices for slightly different wording; the page-planning guide explains why each page should have a distinct buyer job.
Pricing information becomes stale when ownership is unclear. Define who changes the number, who approves discounts, where the source of truth lives, and which forms, checkout links, ads, PDFs, and structured lists need updating together. The account ownership guide helps keep the website, payment, analytics, and recovery access under business control.
Worked example: a local website build
Imagine a local business deciding whether to publish a price for a new website. Its smallest useful build has a stable page set, managed hosting, a contact path, and a defined launch process. Additional locations, copywriting, booking integration, and migration work change the scope.
| Decision question | Evidence from the offer | Pricing treatment |
|---|---|---|
| Can the smallest scope be described? | Yes, the core pages, responsive build, form, and launch checks are repeatable | Publish a fixed base package with the page and handoff limits |
| What changes the work? | Extra locations, content responsibility, migration, and booking integration | Show add-on or range guidance and explain the driver beside each item |
| Can buyers buy immediately? | Some can; others need a content and integration review | Use a package path for the defined build and a quote path for exceptions |
| What must remain accurate? | Deliverables, hosting terms, response boundaries, and renewal details | Name an owner and review the page when the offer or operating cost changes |
The best page would not hide every variation behind a form, and it would not pretend every business receives the same project. It would make the standard decision easy while preserving a clear, qualified path for work that needs discovery. The website build packages and web-designer scorecard offer useful adjacent checks for scope, ownership, and handoff.
Measure the decision, not just the click
Publishing a price changes who contacts you and what they already know. Measure the full path for a defined period before drawing a conclusion:
| Stage | Useful measure | Question it answers |
|---|---|---|
| Page engagement | Pricing-section views, package selections, calculator starts | Do visitors use the information? |
| Qualification | Qualified inquiries, disqualified requests, quote completeness | Did the page change fit before contact? |
| Sales process | Response time, calls required, proposal hours, close rate | Did the price reduce or increase avoidable sales work? |
| Commercial outcome | Completed purchases, booked work, average order value, gross margin where available | Did the format produce viable work? |
| Customer experience | Refunds, cancellations, scope disputes, support questions | Did the displayed price create an expectation the offer could not meet? |
Track the source, service, device, and price format where doing so is appropriate and privacy-conscious. The website measurement guide explains why traffic and clicks are inputs, not the business outcome. A price-page test that produces fewer forms but more qualified, completed work may be better; a test that produces more clicks but more disputes is not.
Keep the promise current
Prices age through more than inflation. A supplier changes, a service takes longer, a platform fee renews, a team loses capacity, or a booking path changes. Set a review trigger for any change that affects the displayed number or the conditions around it. Keep a visible “last reviewed” note when it helps the buyer understand freshness, but do not update a date without reviewing the substance.
Test every route where the price appears: service pages, ads, quote forms, checkout, confirmation email, PDFs, comparison pages, and structured data if used. The maintenance-plan decision guide can help assign ownership for content, forms, payment paths, and post-change checks.
If a price is wrong, correct it promptly and record the reason. Do not silently honor a number the business cannot fulfill, and do not remove all pricing information simply because one package changed. Explain the new scope or quote process and give the buyer a useful next action.
Use this decision tree before publishing
- Can the buyer understand the unit and scope? If no, define the offer before choosing a price format.
- Can the business keep the number accurate and fulfill the starting case? If no, publish the model and quote inputs instead of an attractive but unreliable anchor.
- Do a few variables explain the normal variation? If yes, use tiers or a range and name the variables. If no, use a quote path with a response contract.
- Are mandatory fees, taxes, optional add-ons, and timing clear for the applicable transaction? If no, fix the disclosure and get qualified legal or tax advice where necessary.
- Can the customer complete or start the next step? If no, improve the checkout, booking, or intake path before blaming the pricing format.
- Can the team measure qualified outcomes? If no, establish a baseline and event plan before declaring the page a success or failure.
Primary sources used for this pricing decision guide
These first-party references support the fee-disclosure, checkout, accessibility, and people-first content checks above. Rules and platform capabilities can change; confirm the version that applies to the business, transaction, and jurisdiction.
- Federal Trade Commission, Rule on Unfair or Deceptive Fees FAQ, for the covered transactions and total-price and mandatory-fee examples.
- Google Search Central, Creating Helpful, Reliable, People-First Content, for audience usefulness, original contribution, and avoiding search-first pages.
- Stripe Documentation, Embeddable pricing table for subscriptions, for displaying pricing information, routing to Checkout, supported models, and implementation limits.
- W3C WAI, Understanding WCAG 2.2 Success Criterion 3.3.2, for visible labels and instructions in quote forms, calculators, and checkout inputs.
The right answer is not “always show prices” or “never show prices.” Publish a fixed amount when the scope is fixed, a range or starting price when the variables are explainable, and a transparent quote model when discovery is real. Then keep the promise current and judge the choice by qualified, completed work and buyer clarity.