Pricing Pages for Studios: Clarity Without Racing to the Bottom
Studio pricing pages should publish package jobs, boundaries, and cost drivers so buyers self-qualify — without hiding fees or racing marketplace templates.
William Spurlock Founder — Spurlock Studios Updated 14 MIN
Studio pricing pages fail in two directions. They hide everything behind “contact for pricing,” which trains buyers to assume they cannot afford you — or they publish a menu that invites SKU shopping and a race to the bottom. Clarity without cheapness is the job. Publish the work each package does, what is in and out, what moves cost, and a path for work that does not fit a card. This spoke is the commercial layer of Websites That Feel Like Films. It is structure and decision content, not a Spurlock rate card.
The short answer
- Name the job of each package in a sentence a stranger can repeat. If they cannot pick a tier in twenty seconds, the names are wrong.
- Publish inclusions, exclusions, and cost drivers. Silence is not premium. Silence is a guessing game you will lose on the call.
- Three or fewer tiers. More options look generous and convert like a jam aisle — people stall. Iyengar and Lepper (2000) found people more likely to buy from 6 choices than from 24 or 30.
- Show a number, a tight range, or a minimum when the work is repeatable. When it is not, publish qualification criteria and a quoted path. Do not invent a fake starter SKU for enterprise work.
- Pair price with proof and a custom CTA. Price without proof feels arbitrary. Proof without price feels evasive. Both, plus
/contact?intent=…, is the page.
Why do studio pricing pages fail in two directions?
Hidden pricing and bargain menus look like opposites. They create the same sales problem: the wrong people book the call, and the right people bounce.
| Failure | What the buyer learns | What you inherit |
|---|---|---|
| “Contact for pricing” with no range or minimum | “If they will not say it, I cannot afford it” or “they will invent a number after I talk” | Qualified fear, or tire-kickers who want a secret discount |
| Theme-shop “starting at $99” energy | You are a commodity SKU | Comparison shopping against templates and overseas bids |
| Forty add-ons that read like airline fees | The published number is bait | Resentment before kickoff |
| Perpetual “limited time” strikethroughs | The sale is the product | Buyers wait; you train a discount culture |
| Five-plus tiers with poetic names | Nobody knows which card is theirs | Every call starts with “so which one am I?” |
The page has one job: self-qualification. A stranger should know whether they are a sprint, a full build, a custom system, or a polite no. If they cannot, you did not write a pricing page. You wrote a brochure with a table glued on.
Decision list — you are in the failure zone when:
- Sales spends the first fifteen minutes explaining what the cards already should have said.
- Every inbound asks for the cheapest tier, then lists enterprise scope.
- You refuse to publish any number because “we are premium,” then wonder why serious buyers ghost.
- You published numbers you cannot deliver profitably, then discount to win the work.
Hidden prices do not protect craft. They protect discomfort. Bargain menus do not create volume you want. They create the volume you will resent.
What do good agency pricing page examples actually share?
Study pages you admire. Copy their clarity, not their numbers. Another studio’s sprint price is not your cost structure, and it is not a Spurlock package price.
Patterns that work:
| Pattern | What the visitor can do in 20 seconds | Where it breaks |
|---|---|---|
| Packages with boundaries | Name the job, the timeline shape, and what is out | Poetic names that hide the job |
| Honest good / better / best | See scope and outcome differences | Fake checkmarks for “email support” on every tier |
| Range plus custom | Self-qualify, then book a fit call for outliers | Ranges so wide they mean nothing |
| Offer page as pricing page | Read craft and commercial terms as one story | A bare table orphaned from work and process |
Nielsen Norman Group treats comparison tables as a decision tool for pricing packages, not only ecommerce SKUs. Their rule of thumb: a static table (you pick the columns) works when you have about five offerings or fewer. Studio pages almost always belong in that bucket. If you need a dynamic “pick any six add-ons to compare,” you published too many products.
NN/g’s other rule is blunter: state the difference between options explicitly. If the only delta is a checkmark the buyer cannot interpret, they will pick wrong or pick nothing. Highlight the rows that actually change — pages, motion budget, CMS depth, integrations, timeline — and stop decorating identical cells.
Weak patterns to refuse:
- Endless “starting at” theme-shop energy with no exclusions
- Hidden prices with no qualification path
- Add-on forests that feel like baggage fees
- Undated “limited time” theater on an evergreen offer
- Competitor-name mud wrestling in public copy
Checklist — a stranger can answer all four, or the page is not done:
- Which package is for me?
- What will I not get if I pick it?
- What would make this cost more?
- What do I click if nothing fits?
How should you present website package pricing?
Five moves. Skip one and the page starts lying.
1. Name the job of each package
If a visitor cannot tell which package is theirs quickly, rewrite names and summaries before you touch the layout. “Sprint” should mean a bounded engagement with a sharp deliverable. “Build” should mean fuller IA and pages. “Retainer” should mean ongoing ownership. Do not invent poetic names that obscure meaning.
| Name that works | Job the buyer hears | Name that fails |
|---|---|---|
| Website sprint | Bounded commercial surface, fast | “Ignite” with no definition |
| Brand site build | Replace a dated marketing site | “Signature” with no scope |
| Custom system | Quoted after discovery | “Infinity” that promises everything |
| Care retainer | Named monthly outcomes | “Gold support” with hours-only fog |
2. Publish inclusions and exclusions
Inclusions: page types (not “unlimited pages”), motion budget, CMS training, launch checklist, revision rounds. Exclusions: brand identity from zero, photography production, copywriting novels, endless stakeholder workshops. Exclusions prevent resentment and protect delivery quality.
3. Explain what changes price
Page count, migrations, languages, custom integrations, motion ambition, compliance, rush. Listing drivers educates buyers and cuts awkward negotiation later. This is the same honesty as why custom sites cost five figures — you are teaching the work, not publishing a secret menu.
4. Show a path for custom work
Not everything fits a package. A clear “talk to us” path with intent beats forcing enterprise work into a starter SKU. Use contact intents like /contact?intent=websites-sprint.
5. Pair price with proof
Near pricing, link case studies and process. Price without proof feels arbitrary. Proof without price feels evasive. Balance both.
Procedure — write one card:
- Job in one sentence.
- Who it is for, and who should skip it.
- Timeline shape (weeks/months as a range, not a dare).
- Includes / does not include.
- What moves the number.
- Starting-at, from, fixed, or quoted — pick one verb and keep it.
- CTA with intent.
These templates stay honest only if delivery matches them. A card you cannot staff is a liability.
How many tiers should a studio publish?
Usually three or fewer. More tiers create paralysis and SKU shopping. Make differences meaningful.
Simon-Kucher describes why good / better / best works when it is real: three choices, people avoid the extremes, and the middle often carries the work you actually want. They also warn what happens when everyone ships the same three-column costume — tiers commoditize, teams pad “Pro” with meaningless features, and the “Good” tier becomes a race to the bottom. Their packaging research finds more than 60% of top-quartile SaaS companies use a GBB model. That is SaaS telemetry, not a studio commandment. Steal the clarity, not the feature-grid cosplay.
Iyengar and Lepper’s choice-overload experiments are the other half: a limited array beat an extensive array on actual purchase. A studio page with five packages, twelve add-ons, and three “bundles” is the 24-jam booth.
| Tier count | Use when | Risk |
|---|---|---|
| One published offer + custom | You sell one repeatable job | Looks thin if you also do systems work and never say so |
| Two (sprint + quoted custom) | Most inbound is one shape | Mid-size buyers feel unspoken-for |
| Three (sprint / build / custom) | You have three real delivery shapes | Fake third tier for symmetry |
| Four or more | Almost never for a studio site | Paralysis, SKU shopping, sales confusion |
Kill a tier that exists only because the grid looked lonely. NN/g is explicit: if options differ on only a few attributes, highlight those attributes — do not invent a fourth column to fill space.
Decision list:
- Can you staff this tier next month without a heroics week?
- Can a non-designer tell it apart from the adjacent card in one breath?
- Would you be happy if 70% of inbound picked it?
- If the answer to any of those is no, it is not a tier. It is decoration.
Should you show exact dollars, ranges, or minimums?
When packages are repeatable, show a number or a tight range. When work is highly variable, publish a minimum and qualification criteria. Silence trains assumptions — usually the wrong ones.
This is not a Spurlock price list. It is a format decision.
| Format | Use when | Buyer reads it as | Failure mode |
|---|---|---|---|
| Fixed package price | Scope is fenced and you have delivered it enough times to trust the fence | “I know the ask” | Scope creep you were too polite to exclude |
| Tight range | Same job, two or three complexity bands | “I am in the neighborhood” | Range so wide it is a shrug |
| Minimum + “quoted after fit” | Custom systems, migrations, heavy integration | “There is a floor; we will talk” | Minimum that is theater because you always come in at 3× |
| Qualifying criteria only | Partner constraints or true enterprise variance | “I can tell if I belong” | Criteria so vague they are a black hole with extra words |
Harvard Business Review (Dorie Clark) is useful here for the level, not the page layout: overpricing can scare people off, but low prices can signal low quality and make serious buyers hesitate. A studio that publishes a marketplace-shaped number to “stay approachable” often filters in the buyers who will fight every revision and filters out the ones who wanted a film-grade system. See when a custom website is worth it for the buyer-side threshold. The page should not pretend those are the same product.
Checklist before you publish a number:
- You can deliver this scope at this number without unpaid nights.
- Exclusions are written next to the number, not buried in a PDF.
- Sales is forbidden from treating the number as a starting bid.
- Currency is stated. Tax posture is stated where it matters (included vs plus tax vs “we will confirm”).
- The number matches the proposal template, or you will eat a trust hit in week one.
If you truly cannot publish numbers, publish orientation: typical engagement shape, minimum, what you need before a quote, and who should not book. “Contact us” with no floor is not orientation. It is fog.
What belongs on each package card?
A card is a contract preview, not a mood. If a line does not help a buyer choose or trust, cut it.
| Field | Required | Notes |
|---|---|---|
| Job sentence | Yes | What they walk away with |
| Who it is for | Yes | Role + situation, not a persona novel |
| Who should skip it | Yes | One honest “not a fit if…” |
| Timeline shape | Yes | Range, plus what slips it |
| Includes | Yes | Deliverables a non-designer can picture |
| Does not include | Yes | The resentment preventers |
| Cost drivers | Yes, even if short | “Price moves when…” |
| Price format | Yes | Fixed / from / range / quoted |
| Proof link | Preferred | One case that matches this job |
| CTA | Yes | Intent-bearing URL |
Worked example — three-tier website studio structure (jobs and fences, not prices):
Tier 1 — Website sprint. Fold and key pages, light motion budget, CMS training lite, launch checklist. For brands that need a sharp commercial surface quickly. Does not include a custom WebGL world, a 40-page sitemap, or brand-from-zero. CTA: start a sprint.
Tier 2 — Brand site build. Fuller sitemap, design-system recipes, CMS collections, case-study templates, performance and accessibility pass. For companies replacing a dated marketing site. CTA: talk build.
Tier 3 — Custom system. Unique interaction model, integrations, advanced content ops, longer timeline. Quoted after discovery. CTA: book fit call.
Beneath the tiers, list cost drivers and a note on retainers for ongoing care. Link proof that maps to Tier 2 and Tier 3. Keep Tier 1 honest — do not promise a film-length motion system inside a sprint. That promise is how packages die.
Retainers die when they sound like rent for nothing. Frame them as named outcomes: monthly performance checks, content publishing support, a small experiment backlog, priority bugfix, quarterly conversion review. Hours-only retainers feel vague. Outcome-named retainers feel like a product. If you do not want retainers, say how ad-hoc requests are billed. Silence here creates unpaid “quick asks” that erase the margin the card claimed.
What changes the price — and why say it in public?
Buyers already suspect the published number is incomplete. Agree with them, in writing, before the call.
| Driver | Why it moves cost | What to write on the page |
|---|---|---|
| Page types / templates | Design and build multiply by unique layouts, not by “page” count | “Priced by templates, not by an unlimited-page slogan” |
| Migration / redirects | Old URL debt is a project | “Migrations quoted; redirects are in scope when we own the map” |
| Languages | Design, CMS, and QA multiply | “Each additional language is a scoped add” |
| Integrations | Auth, sync, failure modes | “Custom integrations are quoted, not bundled into a sprint” |
| Motion ambition | Engineering ownership, not decoration | “Film-level motion is a budget, not a checkbox” |
| Compliance / accessibility depth | Audit and remediation time | “We build to a stated bar; legal review is yours unless scoped” |
| Rush | Overtime and cut scope | “Rush is a cost driver or a no — we will say which” |
| Stakeholder count | Workshops and revision politics | “One content owner; extra workshops are change orders” |
A public driver list does two jobs. It educates the buyer you want. It gives sales a script when someone asks you to “just match” a cheaper bid that omitted half the rows.
Do not turn drivers into a second store. If every driver is an à la carte SKU, you rebuilt the airline-fee page. Keep drivers as explanations, and keep rare extras as a short “quoted separately” list.
- Drivers are written as causes, not as a shopping cart
- The cheapest tier still includes a launch checklist and a performance pass you will stand behind
- Rush is either priced as a driver or refused in public
- “Unlimited revisions” does not appear anywhere
Unlimited revisions is how packages die. Define a revision round: who reviews, how many passes, what counts as new scope. Ambiguity invites pressure campaigns.
How do you stay premium without fog?
Premium is not the absence of numbers. Premium is specificity, standards, and selectivity. You can publish a sprint price and still decline a bad-fit inbound. You can refuse bargain hunters by describing the quality bar — Lighthouse, access, motion discipline — that cheaper vendors skip.
Clark’s HBR note is the posture, not a dare to invent a vanity number: the answer to fear of walking away is not a fee so modest you will resent the work. Resentment shows up in the site. Buyers can feel it.
| Move | Reads as premium | Reads as fog or cheap |
|---|---|---|
| Publish a floor or a tight range | Confidence | “If you have to ask…” |
| Name the craft bar | Standards | Adjective pile with no test |
| Say who you will not take | Selectivity | “We work with everyone” |
| Show proof next to the number | Receipts | Awards row with no relevant case |
| State revision and rush rules | Operations | “We’ll figure it out” |
If partner constraints or true enterprise variance block public numbers, publish qualification criteria and a minimum engagement instead of a black hole. “Typical engagements begin at a stated floor; we quote after a fit call” is still orientation. A contact form with no floor is not.
Fit copy you can adapt:
If you need a template installed cheaply, we are not the right studio. If you need a site with a fold that works, motion that survives phones, and a CMS your team will use, start here.
That line only works if the delivery matches the film-grade standard. Pricing copy cannot rescue a template in a tuxedo.
How do you package without training a discount culture?
Avoid public coupons, fake strikethroughs, and “this month only” theater on evergreen studio offers. Seasonal promotions can exist if they are real and dated — remove them when the window ends. Perpetual sales train buyers to wait.
This is not only taste. In the U.S., the FTC’s Guides Against Deceptive Pricing (16 CFR Part 233) treat a “bargain” as false when the former price is fictitious. § 233.1 says a former-price comparison is legitimate only when that former price was the actual, bona fide price offered to the public on a regular basis for a reasonably substantial period. An inflated number invented so you can slash it is not a sale. It is a prop. § 233.5 also flags “limited” offers that are not limited, and advance-sale claims you do not in good faith expect to raise later.
Baymard’s sales UX work is ecommerce-shaped, but the transferable point is the same: if you show a discount, convey the current price and the reference clearly. Studio pages that borrow strikethrough theater from DTC product pages inherit DTC legal and trust risk without DTC margins.
| Tactic | Allowed when | Refuse when |
|---|---|---|
| Dated seasonal attach | Real window, real scope, removed on the end date | It becomes the only reason someone buys |
| Launch-week courtesy for a new offer | You can prove it is new | It stays up for eighteen months |
| Scope trade, not rate cut | Buyer drops pages, motion, or languages | You cut the number and keep the scope |
| Matching a competitor’s public number | Never as a public promise | Sales does it quietly and the page becomes fiction |
Do offer clear maintenance retainers so clients do not treat every copy change as a hostage negotiation. Ongoing care is part of healthy pricing architecture. State deposit norms and when final payment is due; summarize change-order posture and leave the rest to the contract.
If you run a real seasonal attach — a summer sprint add-on, a year-end care month — date it, scope it, and delete it when the window ends. Expired promos read as neglect, the same way expired banners do on a homepage.
What should sit above the pricing table?
Before tiers, state who the packages are for and who should skip them. A single honest “not a fit if…” line saves everyone time. Example: not a fit if you need a marketplace theme installed this weekend; not a fit if you require a committee of twelve to approve every sentence without a content owner.
Keep the fold disciplined: brand, commercial posture, path into packages — not a spreadsheet above the fold.
| Fold block | Job | Common miss |
|---|---|---|
| Headline | State the commercial posture | Clever line that hides that this is pricing |
| Short intro | How engagements work | Manifesto with no next step |
| Not-a-fit line | Bounce the wrong buyer kindly | Buried in FAQ |
| Package cards | Self-qualify | Feature soup |
| Drivers | Pre-answer “why more than X” | Omitted, then argued on Zoom |
| Proof | Make the number feel earned | Logo wall with no relevant case |
| Per-tier CTA | Start the right conversation | One generic “contact” for every card |
Page composition checklist:
- One headline that states the commercial posture
- Short intro on how engagements work
- Package cards with scannable inclusions and exclusions
- Drivers of cost
- FAQ about payments, timelines, and what you need from clients
- CTA per tier plus a general contact path
- Link to work that matches the tiers
- Currency and tax posture where relevant
Intro copy you can adapt:
We publish clear engagement models so you can self-qualify. Packages cover common website needs; custom systems are quoted after a short fit call.
Drivers copy you can adapt:
Price moves when we add languages, complex migrations, deep integrations, or film-level motion systems that need engineering ownership.
If a sentence on the pricing page does not help a buyer choose or trust, cut it. Clarity converts. Fog creates calls you will hate taking.
How do you compete with DIY builders without racing them?
Buyers will compare you to template marketplaces. Do not compete on price with them. Compete on authorship, conversion craft, performance, and ownership. Name the difference: a template install is not a film-grade brand system. That positioning only holds if you actually deliver the standard in Websites That Feel Like Films.
The buyer question underneath is usually whether custom is worth it yet. Your pricing page should make the products non-comparable, not “$X vs $20/month.”
| They compare | You answer with | You do not answer with |
|---|---|---|
| Builder monthly fee | What five figures of labor buys vs a login — see custom cost | A matched low number |
| Theme marketplace bid | Authorship, IA, motion budget, CMS model, launch checklist | “We’re cheaper than the other studio” |
| Overseas page-rate | Ownership, accessibility, performance, revision structure | Public mud wrestling |
| “My nephew can do it in Webflow” | Who owns strategy, QA, and the accounts after launch | A sneer |
Decision list — you are racing the bottom when:
- The first sentence on the page is a number with no job.
- You added a “Lite” tier whose only job is to look cheaper than a builder setup.
- Sales is authorized to “get close” to any inbound budget.
- Exclusions disappeared because they made the cheap tier look honest.
You will lose a builder-price bake-off. Win the bake-off you designed: buyers who want a site that can win premium deals, not a theme with new photos.
Which objections must the page kill before the call?
If the page does not answer these, the call becomes tech support for your own marketing.
| Objection | Answer on the page | Do not do |
|---|---|---|
| Why more than a marketplace bid? | Standards: performance, accessibility, motion budget, launch checklist, proof | Insult the marketplace; it is a different product |
| Can we start smaller? | A real smaller package or a discovery path | A fake tier you hope nobody picks |
| Need it in two weeks? | Rush as a driver, or a clear no | Silent yes, then a ruined launch |
| Match Competitor X? | Restate inclusions; handle edges in sales | Public price-match promise |
| What if we hate it? | Revision rounds and checkpoints | “Unlimited until you’re happy” |
| What do you need from us? | Content owner, assets, decision SLA | Discover this in week three |
Write the answers as short FAQ-style blocks above the legal footer. Buyers who are afraid of being trapped will not scroll to a 40-page MSA.
Failure mode I see on studio sites: the cards look clean, the FAQ is cute, and sales still says “we can probably do something custom for less.” The page just became fiction. The next inbound will ask for the fictional price.
- Each objection has a one-sentence public answer
- Rush is binary or priced — never implied
- Revision structure is a number of rounds, not a vibe
- “Match Competitor X” is not a published policy
Ambiguity creates fear. Clarity creates trust. Fear books the wrong calls. Trust books the right ones.
How do you keep a pricing table usable and accessible?
A pricing table is a data table. Treat it like one.
NN/g wants options as columns, attributes as rows, short cell text, consistent attributes across columns, and sticky column headers on long tables. Missing cells kill the tool: if one tier has “CMS” and another has a blank, the table is decoration. They also warn against cute synonyms in cells (“Zip / Zero / Zilch / Nada”) — personality does not belong where people are scanning for differences.
W3C’s tables tutorial and WCAG technique H51 are the implementation bar: real <table>, <th>, and <td> so relationships survive when someone cannot see the grid. A CSS card layout that only looks like a table fails that test. If you use cards on mobile, keep a real table (or an equivalent structured comparison) for the people who need row/column context.
| Practice | Do | Do not |
|---|---|---|
| Structure | Semantic table with header cells | Div soup that looks like columns |
| Attributes | Same rows for every tier | Mystery blanks |
| Differences | Highlight the rows that change | Checkmarks for identical fluff |
| Mobile | Two columns or stacked cards that keep the same attributes | Pinch-zoom a 12-column grid |
| Language | Plain verbs (“3 templates,” “quoted”) | Internal jargon (“IA sprint lite+”) |
Checklist before you ship the table:
- A screen-reader user can hear which tier a cell belongs to
- Sticky headers on desktop if the table is longer than a viewport
- Contrast holds on “recommended” highlights (color is not the only signal)
- The recommended tier is recommended because of fit, not because it is the only one with a button
- Identical attributes are visually quieter so differences can be found
Do the work for the buyer. Do not ask them to hold three columns in memory while they scroll. That is NN/g’s golden rule for comparison tables, and it is the whole page in one line.
What breaks when the page and sales disagree?
Whatever you publish must match what sales says on calls. Divergence destroys trust. Update the page when offers change — stale pricing is worse than none.
Track the boring numbers:
| Signal | Healthy read | Sick read |
|---|---|---|
| Tier CTA clicks | Mix matches the jobs you staff | 90% cheapest tier, then enterprise scope on the form |
| Contact completes with intent | Intent field matches the card they clicked | Everyone lands in a generic inbox |
| Time on page | Enough to read cards + drivers | Bounce at the first number, or a ten-minute stall |
| Outbound to case studies | Proof is doing work | Proof links are below a second fold nobody reaches |
| Discount rate on closed work | Rare, scoped trades | The published number is a fiction |
Give yourself (or sales) a one-pager that mirrors the public page: talk tracks, discount policy (ideally: rare), and escalation for custom quotes. When public and private stories diverge, buyers smell it.
Internal enablement checklist:
- Proposal template uses the same package names as the site
- Discounting requires a scope cut, not a vibe
- Custom quotes have a named owner and a turnaround
- The page is updated the same week an offer changes
- Deposit and payment timing in the proposal match the public summary
I have shipped hundreds of production sites. The studios that stay profitable are not the ones with the prettiest grid. They are the ones whose published fences match the work they will actually do on a Tuesday.
How do you redesign a weak pricing page without another mood board?
UI polish will not fix a package you do not want to sell. Fix the offer economics first, then the layout.
- Interview sales (or your last-ten-deals notes) about which scope axes actually changed price.
- Kill tiers that exist only for symmetry.
- Rewrite inclusions as deliverables and boundaries a non-designer can understand.
- Align CTAs with CRM or form intent fields.
- Place one proof asset near each major tier.
- Ship, then read call notes for two weeks before more UI tweaks.
| Week | Output | Done when |
|---|---|---|
| 1 | Offer inventory | Every live promise is listed, including the ones only sales says |
| 1 | Kill / keep / quote | Each promise has a home or a grave |
| 2 | Card copy | Jobs, fences, drivers, CTAs |
| 2 | Proof map | One relevant case per staffed tier |
| 3 | Table + a11y pass | Semantic comparison, mobile path |
| 3–5 | Listen | Call notes vs cards; one copy pass, not a redesign |
Final commercial check: read the pricing page out loud. If you wince at a promise, cut it. If a tier cannot be delivered profitably at the published number, change the number or the scope. Published pricing is an operations commitment, not a mood.
Rehearse the page like a fold: one job per section, then ship. Explore the commercial layer on /websites if you want that model built — or you want to buy the sprint itself.
FAQ
What are good agency pricing page examples built around?
Clear packages, inclusions and exclusions, cost drivers, proof nearby, and a custom path. They avoid both black-hole pricing and bargain-bin menus. Study the clarity of pages you admire and ignore their numbers — another studio’s rate card is not your cost structure.
How should studios present website package pricing?
Name the job of each package, publish boundaries, explain what changes cost, pair the number with proof, and use CTAs that carry intent. Keep composition clean and on-brand. If a stranger cannot pick a tier in twenty seconds, rewrite the names before you restyle the cards.
Should we show exact dollar amounts?
When packages are repeatable, yes — or give a tight range. When work is highly variable, publish a minimum and qualification criteria, then quote after a fit call. Silence trains assumptions, and those assumptions are usually lower than your real floor or higher than your actual sprint.
How many tiers should we offer?
Usually three or fewer. More tiers create paralysis and SKU shopping. Make differences meaningful — scope and outcomes, not a checkmark for email support on every column. Kill any tier you would not be happy to staff if it won 70% of inbound.
Do pricing pages hurt premium brands?
Opaque fog hurts more than a published floor. Clarity with standards reads as confidence. Discount theatrics, fake strikethroughs, and undated “limited” offers are what hurt premium brands — and they can collide with the FTC’s former-price guides if the “was” number was never a real offer.
Should pricing live on a separate page or on the offer page?
Either works if it is linked clearly from the offer and the nav. Many studios do better integrating pricing posture into the offer page so craft and commercial terms stay one story. A bare /pricing table with no proof and no exclusions is the version that fails.
CTA
Clarity on the page is a craft standard, same as the fold. If you want that commercial layer built — or you want the sprint itself — start on /websites or book at /contact?intent=websites-sprint.
What questions does this article answer?
- What are good agency pricing page examples built around?
- Clear packages, inclusions and exclusions, cost drivers, proof nearby, and a custom path. They avoid both black-hole pricing and bargain-bin menus. Study the clarity of pages you admire and ignore their numbers — another studio’s rate card is not your cost structure.
- How should studios present website package pricing?
- Name the job of each package, publish boundaries, explain what changes cost, pair the number with proof, and use CTAs that carry intent. Keep composition clean and on-brand. If a stranger cannot pick a tier in twenty seconds, rewrite the names before you restyle the cards.
- Should we show exact dollar amounts?
- When packages are repeatable, yes — or give a tight range. When work is highly variable, publish a minimum and qualification criteria, then quote after a fit call. Silence trains assumptions, and those assumptions are usually lower than your real floor or higher than your actual sprint.
- How many tiers should we offer?
- Usually three or fewer. More tiers create paralysis and SKU shopping. Make differences meaningful — scope and outcomes, not a checkmark for email support on every column. Kill any tier you would not be happy to staff if it won 70% of inbound.
- Do pricing pages hurt premium brands?
- Opaque fog hurts more than a published floor. Clarity with standards reads as confidence. Discount theatrics, fake strikethroughs, and undated “limited” offers are what hurt premium brands — and they can collide with the FTC’s former-price guides if the “was” number was never a real offer.
- Should pricing live on a separate page or on the offer page?
- Either works if it is linked clearly from the offer and the nav. Many studios do better integrating pricing posture into the offer page so craft and commercial terms stay one story. A bare `/pricing` table with no proof and no exclusions is the version that fails.
Last reviewed
Websites
Websites Linktree is a leak — build the house
Spotify does not send you the fan’s email. Instagram rents the following. Linktree is a hallway with no register. The House is the owned room: site, membership, checkout, follow-up.
Websites The shop site that answers the phone
A Midwest shop does not lose the job to a prettier hero. It loses the job to whoever looks real and picks up. Here is what the site has to do on a Saturday.
Websites A media kit the brand can steal in sixty seconds
Influencers need a brand-safe /media or /kit with rates and demographics you can stand behind — not a Google Doc with dead links. This is not a booker EPK.
Websites Discord is unpaid labor — put a register on the house
Keep Discord if the room lives there. The house is the owned URL, checkout, and join path so the community collects money instead of leaking attention.
Will's Journal in your inbox.
What I learned this week building for shops, floors, and houses.
You're on the list.
Sign-up failed — try again.
By subscribing, you agree to the Privacy Policy.