Agency field notes / Pricing

How to price website design without guessing your margin

A five-page website is not a unit of effort. Five supplied pages and a working contact form are a different project from five unwritten pages, an import, and a booking integration. Price the work you are accepting.

By Lindo TeamPublished Updated 6 min read

Published by Lindo, a website-builder vendor. Worked examples and templates are illustrative, not customer results, market benchmarks, or income promises.

From scope to a defensible quote. Scope: Pages and templates, Content responsibility, Acceptance tests. Cost: Delivery hours, Direct expenses, Risk allowance. Price: Margin calculation, Payment milestones, Change boundaries. Markup and margin are different calculations.
Use the three decisions in sequence. A margin target cannot rescue an incomplete scope. Open the diagram for full-size labels.

The short answer

Define the deliverables and acceptance tests, calculate the cost of doing that work, then choose a selling price that covers risk and leaves room to operate. A competitor’s package can inform positioning; it cannot tell you your delivery cost.

A good fit
Freelancers and small agencies quoting a defined marketing website or redesign.
Pause if
The project depends on untested integrations, unclear content ownership, or a migration you have not inventoried. Quote discovery before the build.

1. Replace page counts with a scope ledger

Start the estimate with a list of outputs, not a number. Name each page type, who supplies its content, what the visitor must be able to do, and how you will check it. A repeated service page can reuse an approved layout; a single custom calculator may need more work than the rest of the site.

Ask to see the actual source material. ‘We have the copy’ may mean approved text, a slide deck, or an old website nobody wants to keep. Those inputs have different editing costs. Record the number of content rounds and the person authorized to approve them before assigning hours.

Example scope ledger for a small service website
DeliverableIncludedAcceptance
Home + three servicesOne shared service layout; client supplies factsApproved copy and mobile layouts
Contact flowOne form, one recipient inboxValid and invalid submissions tested
Content preparationEdit supplied text; one approval roundNamed client reviewer signs off
LaunchDomain connection and live checksHTTPS, links, form delivery verified

2. Calculate a cost floor before setting the price

Here is a hypothetical estimate in USD, not a market rate or a recommendation for your business. Suppose discovery takes 4 hours, content preparation 6, building 12, and QA plus launch 6. That is 28 delivery hours. Use a loaded delivery cost that reflects how you actually pay for the work, including your own labor; unpaid founder time is still a capacity cost.

At an assumed $50 per delivery hour, labor is $1,400. Add $100 of direct expenses and a $200 project risk allowance: the planning cost is $1,700. If you choose a 40% project contribution margin, the calculation is $1,700 ÷ (1 − 0.40), or $2,833.33. Rounding the quote to $2,850 leaves $1,150 before unallocated overhead and tax. This is not net profit.

Multiplying cost by 1.4 gives $2,380, which is a 40% markup but only about a 28.6% margin. Keep the denominator explicit. Also avoid counting the same overhead twice: if your loaded hourly cost already includes software, do not add that software again as a project expense.

Copyable estimate model — illustrative inputs
Labor = (4 + 6 + 12 + 6) hours × $50 = $1,400
Direct expenses = $100
Risk allowance = $200
Planning cost = $1,700
Price at chosen 40% margin = $1,700 / 0.60 = $2,833.33
Rounded quote = $2,850
If an extra 8 hours are needed: cost becomes $2,100
Contribution at the same quote = $750, or 26.3%

3. Choose the model that matches the uncertainty

A fixed fee makes sense when both sides can describe done. Time-based work is more useful for a backlog whose next item changes, provided the client can see time records and a budget ceiling. A discovery engagement buys a decision: a tested integration, content inventory, or scoped plan. It should produce something the client can use even if they do not buy the build.

Use business value to decide which problem is worth solving and what options to offer. Do not turn an unverified revenue assumption into a price justification. If the client asks whether the website will pay for itself, explain what you can deliver and what would still depend on traffic, demand, follow-up, and their offer.

Pricing model decision
ModelUse whenControl
Fixed projectInputs and outputs are agreedWritten exclusions and change approval
Time-basedPriorities change during deliveryTime log, budget cap, regular review
Paid discoveryA dependency is unprovenExplicit decision and handoff artifact
Monthly serviceUseful work repeatsCapacity limit and service record

4. Write the change boundary into the proposal

Separate correction from expansion. Fixing a form that fails the agreed test is a defect. Replacing an approved contact form with a multi-calendar booking system is new scope. A revision round should mean one consolidated response from the authorized reviewer, not unlimited feedback from each stakeholder.

When the client requests an addition, show the original requirement, the requested difference, the fee or time effect, and the effect on launch. Wait for approval before doing the extra work. Reducing the first release is often more useful than discounting the same workload.

Change request wording
Original scope: one enquiry form sent to one inbox.
Requested change: route enquiries to three teams by location.
Investigation needed: confirm routing and fallback behavior.
Additional fee / hours: [estimate after validation].
Schedule impact: [revised milestone].
Work begins after: [named approver] accepts this change.

5. Separate the launch fee from ongoing service

Show one-time and recurring charges separately. List who pays for the platform, domain, third-party services, and your continuing work. A monthly fee should identify a recurring responsibility, such as a tested enquiry path or a defined editing allowance—not an unexplained charge for keeping the site online.

Set payment milestones around observable handoffs, such as accepted scope, approved draft, and launch readiness. The percentages, cancellation terms, and ownership transfer need to suit the actual agreement and local requirements; there is no universal deposit rule. Explain what happens if the client delays content or the project is paused.

6. Use completed projects to improve the next estimate

Track estimated and actual hours under the same categories. If content routinely takes twice the estimate, change the input requirements or sell content preparation separately. If QA is over budget, find whether reusable components are failing or whether the original acceptance criteria were missing.

Review price and process together. Raising a quote without addressing revision churn may still leave you overworked. Keep a short closeout record: original scope, approved changes, delivery hours, direct cost, and what you would scope differently. That evidence is more useful than a generic rate chart.

Take it into the project

Website quote worksheet

Copy this into your project brief, assign an owner to each item, and attach evidence before marking it complete. No email required.

  • Scope lists templates, content owners, integrations, and acceptance tests.
  • Estimate includes discovery, content, revisions, QA, and launch—not only building.
  • Loaded costs and direct expenses are not double-counted.
  • Margin calculation uses selling price as its denominator.
  • Change approval, payment milestones, and recurring fees are explicit.
  • Actual hours will be compared with the estimate after delivery.
Download editable checklist (.txt)

Includes a scope ledger, cost and margin formulas, change-request wording, and estimate-versus-actual fields.

Common questions

Should an AI-built website cost less?

Faster assembly can reduce your cost, but discovery, content verification, design judgment, integrations, and testing remain work. Quote the agreed outcome and responsibilities transparently. Measure actual time savings before changing the economics.

What if the client cannot afford the quote?

Offer a smaller first release with a genuinely smaller scope, a paid planning phase, or a respectful no. Do not remove testing or quietly rely on unpaid revisions to make the number fit.

Can I charge per page?

A per-page line item works for repeated pages with the same template and supplied content. Price unique layouts, content creation, and integrations separately so the unit still describes the work.

Put your pricing into action.

Calculate your rate with our tool, then start billing clients in Lindo.ai.