Blog · Studio notes
— Studio notes··11 min read

How to write a project proposal that wins without being the cheapest

Joona Heinonen· Choco Media · Rovaniemi

Writing proposals used to be one of the tasks we dreaded most at Choco Media. Not because we lacked ideas or couldn’t articulate what we do, but because the standard agency proposal format works against you. It invites comparison on price before the client has had a chance to understand what they’re actually buying. After roughly 50 pitches over the past few years, we’ve landed on a structure that shifts that dynamic — one where the decision becomes about fit and approach, not about who quoted the lowest number. This post walks through that structure, the reasoning behind each section, and the specific things we changed after proposals that didn’t land.

This is written for small agencies and freelancers pitching clients in the €3,000–€25,000/month range. If you’re running a large agency competing on formal procurement frameworks, some of this won’t apply. But if you’re in the room (or on the video call) with a decision-maker who has two or three options in front of them, the framework here will help you make the case without dropping your price.

By the end, you’ll have a clear structure, know which sections most agencies skip, and understand the framing changes that make the difference between “we’ll think about it” and a signed contract.

Why most agency proposals fail before they’re read

The single biggest mistake agencies make in proposals is leading with deliverables. Deliverables are easy to compare, easy to copy, and easy to evaluate purely on cost. When you open with “we’ll produce 8 posts/month, run 2 ad campaigns, and provide monthly reporting,” you’ve turned a strategic conversation into a procurement exercise.

Clients who are evaluating proposals on deliverables are looking for the cheapest person who can produce a similar list. That’s not a race you want to be in. The clients worth working with aren’t buying deliverables — they’re buying outcomes and the judgment that gets them there.

The second failure mode is the generic proposal. We’ve seen agencies send proposals where the company name is the only thing that changes. If your proposal could be sent to any client in any industry, it communicates one thing: you haven’t thought hard about this specific client’s situation. Even if the work you’d do is identical, the proposal needs to show you listened.

The structure we landed on after 50 pitches

Our current proposal runs five to seven pages depending on the scope. It’s not short for brevity’s sake — it’s short because every section earns its place. Here’s the structure, in order.

1. The situation summary (not your credentials)

Open with two to three paragraphs that demonstrate you understood what you heard in the discovery call. Name the specific problem they described. Reference the context they gave you. If they mentioned a competitor they’re losing ground to, name it. If they said their current agency isn’t communicating well, acknowledge that that’s frustrating and explain what you do differently.

This section is not about you. Your job here is to make the client feel genuinely understood. If you get this right, they’ll read the rest with the assumption that your recommendations are grounded in their reality, not a template.

2. What we’re going to do and why

This is where you describe your approach — not a list of deliverables, but a narrative about the strategy. Why this channel before that one. Why you’d start with a positioning audit before running ads. Why the first 90 days look different from months four through twelve.

The framing should feel like a thinking partner walking through a plan, not a service menu. If there are things you’ve decided not to do (which you should have thought about), say so and explain the reasoning. Scope constraints are a form of judgment, and showing that judgment builds trust.

3. The deliverables and timeline (brief)

Now you include the deliverables. Two to three bullet points per phase, not an exhaustive list. The goal is to confirm that the approach translates into concrete outputs, not to give them a comparison spreadsheet.

If the engagement has distinct phases, structure it that way. “Phase 1: Foundation (weeks 1–4) — brand audit, ICP refinement, channel selection. Phase 2: Build (months 2–3) — content creation, campaign setup, tracking implementation. Phase 3: Optimise (ongoing) — performance review, iteration, reporting.” This format communicates that you think in sequences, not just tasks.

4. What this costs and why

Don’t bury the price. Don’t reveal it awkwardly late as if you’re ashamed of it. Put it in its own section with a header, and structure it cleanly. If there are tiers, show two — never three, because three options produce analysis paralysis more often than they produce upsells.

Immediately after the number, write a short paragraph about what drives the price. Not a justification — a context. “This reflects fifteen hours of strategy work per month, senior-level involvement throughout rather than handoff to junior staff, and weekly communication rather than monthly check-ins.” That paragraph prevents the client from comparing you to an offshore freelancer on a rates basis, because they now understand what the number actually includes.

The client is always asking one question underneath whatever question they’re asking: “Can I trust these people to care as much about this as I do?” The proposal is your first extended opportunity to answer that question.

5. How we work together

This section is the one most agencies skip, and it’s often the most persuasive. Describe your process for communication, decision-making, and feedback. How often do you meet? What does your reporting look like? How do you handle changes in direction mid-engagement?

Clients who’ve been burned by agencies in the past — which is most clients — are specifically anxious about these operational questions. An agency that addresses them unprompted communicates something important: we’ve thought about the parts of this relationship that typically go wrong, and we have a plan. Our bespoke retainer approach is built around this kind of operational transparency.

6. Social proof in context

Don’t open with testimonials. Don’t close with them either, as if they’re a trophy shelf. Place one or two pieces of social proof at the point in the proposal where the client is most likely to be wondering “but have they actually done this before?”

That point is usually right after the approach section. A one-paragraph case study summary (“We worked with a B2B SaaS company in a similar situation — unclear positioning, underperforming paid campaigns, and a website that wasn’t converting organic traffic. In twelve months, we rebuilt the positioning, redesigned the landing pages, and shifted their acquisition mix from 80% outbound to 60% inbound”) is worth more than a logo grid.

7. The next step

Close with a specific call to action. Not “let us know if you have questions” — that’s a deferral. “We suggest a 30-minute call this week to walk through the approach and answer any questions. Here are two times that work for us.” If you’re sending the proposal by email, include a direct calendar link.

The closing paragraph should also contain a direct path to move forward — something like “If you’re ready to move forward without a call, you can reach us directly.” It removes a step for the client who’s already decided.

The framing shifts that changed our close rate

The structure above is the skeleton. These are the framing choices that put flesh on it — the things we changed after proposals that almost won but didn’t.

Stop positioning your price as a cost

Price is a cost when it’s presented without anchoring. “Our retainer is €6,500/month” lands differently than “Our retainer is €6,500/month. At the traffic volume you described, a 15% improvement in conversion rate — which is conservative for an unoptimised funnel — would generate roughly [X] in additional monthly revenue.” You’re not inflating projections; you’re putting the number in context.

Name the alternatives explicitly

The client isn’t choosing between you and nothing. They’re choosing between you and hiring in-house, a larger agency, a cheaper freelancer, or doing nothing. If you name those alternatives and explain why each one doesn’t fit their specific situation as well as you do, you’ve done their homework for them. This is uncomfortable to write, but it’s honest, and it’s persuasive.

Write to the person who didn’t attend the call

In most B2B deals, your proposal gets forwarded. The marketing manager who liked you sends it to the CEO or CFO who wasn’t on the call. Write the proposal so that person — who has no context, no warmth from the conversation, and no patience for jargon — can understand the reasoning and the value. If your proposal requires the context of the discovery call to make sense, it’s not doing its job.

What to do about price sensitivity

Some clients will tell you you’re too expensive. The right response is not to discount reflexively, because that signals that your original price was arbitrary. The right response is to ask where the gap is and whether there’s a scope adjustment that closes it.

We’ve found that when clients say the price is too high, they usually mean one of three things: they have a genuine budget constraint; they don’t yet see enough value to justify the number; or they’re testing to see if you’ll move. The first case requires a scope conversation. The second requires more clarity on outcomes. The third requires you to hold the line calmly.

Our AI automation work is a good example of a place where we can sometimes restructure scope without reducing outcomes — automating parts of the delivery that would otherwise require manual time lets us hold on core strategy while reducing the blended hourly cost.

The sections you should cut

Most proposals are too long because of sections that exist to signal effort, not to communicate value. Here’s what we’ve cut from our own proposals over time.

Sending and following up

Send proposals within 24 hours of the discovery call, while the conversation is still fresh and the client is warm. Proposals sent three or four days later arrive into a different mental context — the urgency has faded and competing priorities have moved in.

Send as a PDF, not an editable document. PDFs signal finality; Word documents look like drafts. If you use a proposal tool like Proposify or PandaDoc, the read-receipt data is genuinely useful — knowing whether the proposal has been opened and how long was spent on each section tells you a lot about where the hesitation is.

Follow up once, 48 hours after sending, with a short message: “Wanted to make sure this arrived clearly — happy to answer any questions or walk through the thinking on a short call.” That’s the whole email. Don’t apologise for following up, don’t pad it with pleasantries, don’t ask if they’ve had a chance to review it. You know they have.

When the proposal doesn’t win

Ask for feedback every time. Not “what did we do wrong” — “what would have made this an easier decision?” You’ll get useful signal roughly one time in three. The rest will be politeness or vagueness, but the third is worth asking for.

In client work, we’ve found that the proposals that lose on price usually had a pricing section that didn’t do enough work to establish value in context. The proposals that lose to a competitor usually had an approach section that was too generic — the client felt less confident we understood their specific situation than they did about the other agency. Both of these are fixable with iteration.

A note on proposal tools

We’ve used Google Docs, Notion, Canva, Proposify, and PandaDoc at various stages. None of them is the right answer in all cases. The tool matters less than the structure. A well-written Google Doc in your brand font will outperform a beautiful Proposify template with weak copy every time.

That said, if you’re sending more than five proposals a month, a tool with read receipts and e-signature is worth the subscription. The time you save on formatting alone justifies it, and the data on reading behaviour is useful for coaching yourself on which sections clients actually engage with.

If you’re refining your pitch and want to talk through your current proposal structure, we’re happy to look at it. Reach out here — even a 20-minute conversation usually surfaces something worth changing.

— Work with Choco Media

Want posts like this working for your business?

10–40 SEO + AI-optimised blog posts a month, researched, senior-edited and published straight to your site. Built to rank on Google and get cited by ChatGPT, Claude and Gemini.

See plans — from €199/mo →
No start-up fee · Price locked for 12 months · Cancel any time after
← All storiesNext story →
— Free tips, monthly

Get the playbook, for free.

One short letter a month — the prompts we use, the campaigns that worked, the AI tools worth the time. No sales pitch, just field notes.

— Want us to do it for you?

Hire the agency.

AI-accelerated content, paid media, brand and web — delivered by one small team that talks to itself. Currently taking on a handful of clients each quarter.

Book a call