Why most freelance web development proposals get ignored
A freelance web development proposal is not a price list. It is a risk-reduction document. The client is about to hand money to someone they met three emails ago, and their real question is never “how much?”. It is “what happens if this goes wrong?”
Most proposals fail because they answer the wrong question. They open with a bio, list technologies nobody asked about, drop a single number at the bottom and finish with “let me know your thoughts”. Then the client goes quiet, and the freelancer blames the market.
This guide breaks down the exact structure of a proposal that converts, with copy-and-paste wording for a fixed-price website build and for an hourly retainer, plus the specific lines that make clients disappear. No template download required, although you can build one from what follows in about an hour.
Before you write anything: the 15-minute qualification call
Writing a proposal without a discovery call is how you end up producing six free documents a month and closing none. Experienced freelancers on forums repeat the same advice: ask for designs before you write a proposal, and if no designs exist, ask for a budget range instead.
Get these answers before you open a blank document:
- What is the business outcome? More leads, online sales, fewer support emails, faster load times.
- Do designs exist? Figma files, a brand kit, or nothing at all.
- Who owns the content? Copy and images are the number one cause of delayed launches.
- What platform is expected? WordPress, headless, Shopify, custom stack.
- Who is the decision maker and who signs?
- What is the budget range and the deadline driver? A trade show, a funding round, a campaign launch.
If the client refuses to give a budget range and refuses to say what they want built, that is not a lead. That is unpaid consulting.

The 9 sections of a winning freelance web development proposal
Here is the structure. Order matters, because clients skim top to bottom and often stop after page two.
| # | Section | Purpose | Length |
|---|---|---|---|
| 1 | Cover and project summary | Prove you listened | 1 paragraph |
| 2 | Understanding of the problem | Show you get the business, not just the code | 150 words |
| 3 | Scope and deliverables | Define the boundary of the work | The longest section |
| 4 | Out of scope | Kill scope creep before it starts | Bullet list |
| 5 | Timeline and phases | Make delivery feel real | Table |
| 6 | Investment and payment milestones | Price plus cash flow protection | Table |
| 7 | Revisions and change requests | Protect your margin | Short and firm |
| 8 | Client responsibilities | Shift delay risk where it belongs | Bullet list |
| 9 | Next steps and acceptance | Remove friction from saying yes | 3 lines |
1. Cover and project summary
One paragraph, written in the client’s language. Name the company, the project, the date and the validity window.
Sample wording: “Proposal for Northgate Dental: design and build of a 12-page WordPress website with online appointment booking. Prepared 29 August 2026 by [Your Name]. Pricing valid for 21 days.”
The validity window is not aggressive, it is standard practice and it gently creates a deadline.
2. Understanding of the problem
This is the section that separates you from the five other freelancers who sent a template. Repeat back what you heard on the call, in their words.
Sample wording: “Your current site was built in 2019 and is not mobile friendly. Roughly 70% of your traffic is on phones, and patients call reception instead of booking online, which costs your team around 10 hours a week. The goal of this project is to move at least half of new bookings online within three months of launch.”
Notice there is no technology mentioned yet. Clients buy outcomes and sleep at night, not frameworks.
3. Scope and deliverables
Be specific enough that a stranger could audit whether you delivered. Vague deliverables are the number one cause of disputes.
Weak: “Responsive website with modern design and SEO.”
Strong:
- Pages: Home, About, 4 service pages, Team, Pricing, Blog index, Blog post template, Contact, Privacy, 404. Total 12 unique templates.
- Build: WordPress 6.x, custom block theme, no page-builder bloat.
- Booking: Integration with your existing Dentally account via their public API, one booking flow, email and SMS confirmation.
- Performance target: Lighthouse mobile performance score of 85 or above on the Home and Contact pages, tested on the production server.
- Accessibility: WCAG 2.2 AA on colour contrast, keyboard navigation and form labels.
- SEO basics: Title and meta fields, XML sitemap, schema markup for LocalBusiness, 301 redirect map from the old URLs.
- Handover: One 60-minute recorded training session and a 5-page editing guide.
Numbers turn opinions into facts. “Modern design” is arguable. “12 unique templates” is not.
4. Out of scope (the section almost nobody includes)
This single list will save you more money than any other page in the proposal. List what a reasonable client might assume is included but is not.
- Copywriting and content entry beyond the 12 pages listed
- Logo design or full brand identity
- Photography and stock image licences
- Multilingual versions
- Email marketing setup and list migration
- Ongoing hosting, maintenance and plugin updates after the 30-day warranty
- Third-party licence fees, listed separately below
Sample wording: “Anything not listed in Scope is considered out of scope and can be added through a written change request at the hourly rate below.”
5. Timeline and phases
Never give a single launch date with no conditions attached. Give phases, durations and dependencies.
| Phase | Duration | Client input needed |
|---|---|---|
| Discovery and sitemap | Week 1 | Kickoff call, brand assets |
| Design of key templates | Weeks 2 to 3 | Feedback within 3 business days |
| Development | Weeks 4 to 6 | Final copy delivered by end of week 4 |
| Booking integration and QA | Week 7 | API credentials, test account |
| Review, fixes, launch | Week 8 | Consolidated feedback, DNS access |
Sample wording: “The timeline assumes feedback is returned within 3 business days at each review point. Delays in feedback or content shift the launch date by the same number of days.” The reasoning is set out in this piece.
6. Investment and payment milestones
Call it Investment, not Cost. Then show what the money buys, not just a total.
Fixed-price project example
| Milestone | Trigger | Share | Amount |
|---|---|---|---|
| Deposit | On signature, before work starts | 40% | 3,400 |
| Design approval | Key templates signed off | 30% | 2,550 |
| Launch | Site live on production | 30% | 2,550 |
| Total | 100% | 8,500 |
Sample wording: “Invoices are payable within 7 days. Work pauses on any invoice unpaid after 14 days. Files and code transfer to you on receipt of the final payment. Third-party costs (hosting, premium plugins, SMS credits) are billed at cost and estimated at 380 for year one.”
Hourly retainer example
Retainers are sold differently. The client is not buying a deliverable, they are buying availability and response time. Say so.
| Plan | Hours per month | Effective rate | Response time | Monthly |
|---|---|---|---|---|
| Care | 5 | 90 | 2 business days | 450 |
| Growth | 15 | 82 | 1 business day | 1,230 |
| Partner | 30 | 75 | Same day, priority queue | 2,250 |
Sample wording: “Retainer hours are reserved in my schedule and are billed monthly in advance. Unused hours roll over for one month only. Work beyond the plan is billed at 110 per hour with your written approval. Either party may cancel with 30 days’ notice. All time is logged and a summary is shared on the first of each month.”
Fixed price or hourly: which to propose
| Situation | Best model | Why |
|---|---|---|
| Designs exist, scope is clear | Fixed price | You can estimate accurately and keep the upside |
| No designs, vague requirements | Paid discovery, then fixed price | Charge for the thinking that produces the estimate |
| Legacy codebase, unknown bugs | Hourly with a cap | Nobody can quote a fixed price on someone else’s mess |
| Ongoing changes and support | Monthly retainer | Predictable revenue, predictable cost for the client |
7. Revisions and change requests
Unlimited revisions is not generosity, it is a trap that turns a profitable project into a hostage situation. Define rounds and define what a round is.
Sample wording: “Two rounds of revisions are included at the design stage and one round at the development stage. A round means one consolidated set of feedback submitted in a single document or Notion board. Feedback that changes an approved direction (new layout, new page, new feature) is treated as a change request, quoted in writing and approved before work continues.”
Add a warranty line, it removes fear without giving away free work forever:
“Bugs reported within 30 days of launch that relate to work in this proposal are fixed free of charge. New features requested after launch are quoted separately.”
8. Client responsibilities
Roughly nine out of ten late projects are late because of missing content or slow approvals. Put that in writing before it happens, politely.
- Single point of contact with authority to approve
- Final copy and images by the dates in the timeline
- Feedback consolidated into one document per round
- Admin access to hosting, DNS, analytics and any third-party APIs
- Approval or feedback within 3 business days at each review point
Sample wording: “If content or feedback is delayed by more than 15 business days, the project is paused, the current milestone becomes payable, and the remaining work is rescheduled into the next available slot.” Free Web Design Proposal is a useful companion to this.
9. Next steps and acceptance
End with an action, never with “let me know if you have questions”.
Sample wording: “To start: reply to approve this proposal or click Accept below. I will send the contract and the deposit invoice the same day, and I can hold a kickoff slot for the week of 14 September. My next available start date after that is October.”

Red flags that make clients ghost you
Ghosting is rarely about price. It is usually about confusion or discomfort. These are the most common causes, in order.
- A single number with no breakdown. “12,000 for the website” gives the client nothing to justify internally. Break it into phases and deliverables so they can defend the spend to a partner or a board.
- Twelve pages about you before anything about them. Move your bio and case studies to the end, or to a linked page.
- Technical jargon with no translation. “Headless Next.js with ISR and a GraphQL layer” means nothing to a dentist. Say what it does for them, then name the tech in one line.
- No timeline, or a timeline with no conditions. Both signal inexperience.
- Unlimited revisions. Sophisticated clients read this as “this person has never finished a difficult project”.
- No deposit. Starting without money down attracts exactly the clients you do not want.
- Sending a 20-page PDF as an attachment. Use a link so you can see if it was opened and update it without resending.
- Three options with no recommendation. Options are good. Making the client do the thinking is not. Recommend one and say why.
- No expiry date. Proposals without a validity window sit in inboxes forever.
- Silence after sending. Agree the next contact point in the email: “I will follow up on Thursday if I have not heard back.”
Proposal length and format that actually gets read
- Aim for 4 to 8 pages for a typical small business site. Longer only for enterprise procurement.
- Send a web link, not a PDF, when possible. Add a PDF export for the client who wants to print it.
- One decision per page. Scope, then timeline, then price, then acceptance.
- Include an e-signature or Accept button. Every extra step between yes and signature costs you deals.
- Reuse a base document but rewrite sections 2 and 3 for every single client. Those two sections are what get you hired.

A 30-minute proposal workflow
- Copy your base document and rename it with the client and date.
- Paste your discovery call notes into the Understanding section and edit to 150 words.
- List deliverables with numbers. Count templates, integrations and hours.
- Write the Out of Scope list from your deliverables. Every assumption becomes a bullet.
- Build the timeline backwards from the client’s real deadline.
- Price the work, then set milestones at 40 / 30 / 30 or 50 / 50 for shorter builds.
- Set the validity date, add the acceptance button and send it with a two-sentence email.
- Follow up on day 3, day 7 and day 14. Then close the file.

Follow-up email that works
“Hi Sarah, quick check on the proposal I sent Tuesday. If the booking integration is the part that needs more thought, I can split it into a phase two and bring the first invoice down. Happy to jump on 10 minutes to sort it out. Otherwise I will keep the September slot open until Friday.”
It offers a solution instead of asking for a decision, and it repeats the deadline without pressure.
FAQ
How long should a freelance web development proposal be?
Four to eight pages for most small and mid-size projects. The scope section should be the longest part. Anything past ten pages usually means you are padding with information the client did not ask for.
Should I put the price in the proposal or wait?
Always include the price. A proposal without a number is a brochure. If you are unsure about scope, present a fixed price for a defined phase one plus an hourly rate for everything after.
How much deposit should I ask for?
Between 30% and 50% before work starts is standard for freelance web development. For clients you have never worked with, or for projects under 5,000, taking 50% up front is entirely reasonable.
Do I need a contract if I have a signed proposal?
A signed proposal that includes scope, price, payment terms and acceptance can function as an agreement, but a separate contract covering intellectual property, liability, confidentiality and termination is safer. Attach both and let the client sign once.
What should I do when a client asks for a discount?
Never cut the price without cutting the scope. Remove pages, move a feature to phase two, or shorten the support window. Discounting alone tells the client your first number was invented.
How many revisions should I include?
Two rounds at design and one at development covers the vast majority of projects. Define a round as one consolidated set of feedback, otherwise a client can send twenty emails and call it a single round.
Fixed price or hourly for a freelance web development project?
Fixed price when the scope and designs are clear, since you keep the efficiency gains. Hourly or a capped hourly arrangement when working on a legacy codebase, an unclear brief or a long-running relationship. Retainers work best for maintenance, iteration and ongoing support.
What if the client goes quiet after I send the proposal?
Follow up on day 3, day 7 and day 14 with a short message that adds something new each time, such as a phased option or a scope reduction. After three attempts, send a polite closing note and move on. The slot you were holding is worth more than the hope.
Final word
A winning freelance web development proposal is boring in the best possible way. It is specific, it is short, it names the risks before the client has to, and it makes saying yes a single click. Build the structure above once, rewrite the two client-specific sections every time, and your close rate will move faster than any change to your portfolio ever will.

