Annual Marketing Plan and Budget Template
Four documents and three sheets that work backward from your revenue target through your own win rate to the budget it actually requires.
Free download · No account needed
Plan Presentation
Marketing Plan and Budget, One Page
Read aloud in the room. Every figure already lives on Plan Narrative, Target Model or Budget by Channel.
The ask, in one line
$______ funds the board's $______ marketing-sourced revenue target, a ______ increase over last year's $______ approved budget.
Why this number, not a negotiated one
| Input | Value |
|---|---|
| Opportunities needed | |
| Trailing win rate | |
| Average contract value | |
| Retroactive check error |
What less money buys instead
| Budget | Opportunities | Revenue | % of target |
|---|---|---|---|
The one question to answer before this leaves the room
Is the target firm? If yes, this is the number that funds it. If not, Scenario Comparison shows exactly what a smaller number buys.
Most annual marketing plans start from last year's budget and add a percentage on top. Gartner's 2026 CMO Spend Survey puts the industry norm at 7.8% of company revenue, which answers what other companies spend, not what this year's specific target requires. This pack works backward instead: a revenue target, divided by your own trailing win rate and average contract value, becomes an opportunity count, and pricing that count at each channel's own trailing rate becomes the budget.
On this pack's own worked plan, a fictional B2B software company, Harlow Analytics, needs $4,800,000 in marketing-sourced revenue next year, up 77% from the $2,705,000 it actually delivered. At a 22% win rate and a $32,000 average contract value, that target needs 682 opportunities, costing $1,544,000 at Harlow's own channel rates. The same model, run backward through last year's approved budget, predicted $2,642,000 against $2,705,000 actually closed, within 2.4%. That is why the forward number is worth defending rather than negotiating down.
Finance's counteroffer rarely arrives priced in opportunities, so Scenario Comparison prices it before the meeting instead of during it. An 18% increase over last year sounds generous until it is run through the model: it funds 65% of the target, not the full ask. The budget then splits by channel using the same fully loaded cost logic, ties back to last year's performance report, and assumes the funnel converts at its trailing rate. When it does not, the funnel analysis finds the stage that broke.
What's in the pack
Plan Narrative
The target, what it requires worked backward, why last year's numbers are trusted enough to build on, and the funding gap against Finance's actual offer.
Assumptions
Win rate, average contract value, and each channel's share, MQL:Opp rate, and cost per MQL, pulled trailing 12 months and dated so a stale rate cannot hide inside a budget line.
Channel Rationale
Why the mix is not just funded at the cheapest cost per MQL, using cost per opportunity instead, which is the number that actually reorders the channels.
Target Model
The revenue target divided by win rate and contract value into opportunities needed, plus a retroactive check against what last year's approved budget actually produced.
Budget by Channel
The total budget split four ways, every line traceable back to Target Model's opportunity count rather than entered as a round figure.
Scenario Comparison
What Finance's actual counteroffer buys, priced before the meeting rather than argued about during it, next to a flat-budget scenario and a win-rate-improvement lever.
Plan Presentation
The one page read aloud in the room, lifting its figures from the other six files rather than re-deriving them, so nothing can drift between what gets said and what the sheets say afterward.
How to use it
- 1
Open in River, or take it blank
Open the pack and send your trailing CRM and channel exports, or download the Word documents and CSV sheets and build the model yourself.
- 2
Check the model against last year first
Run last year's approved budget back through the same arithmetic before projecting forward. A prediction within a few points of what actually closed is a model worth trusting; a wide miss means a rate has shifted and is worth naming first.
- 3
Work the real target backward
Revenue target, divided by win rate and contract value, becomes opportunities needed. Priced at each channel's own trailing rate, that becomes the budget by channel.
- 4
Price whatever Finance actually offers
Run the real counteroffer, and a flat-budget scenario, through the same model before the next conversation instead of during it.
Frequently asked questions
Is this template free?
Yes, and the download is not cut down. The zip holds all seven files in Word and CSV, no signup and no card. Edit with AI is the other branch: send your trailing win rate, contract value, and channel data, and River runs the retroactive check before building next year's number. More packs in the template library.
What format are the downloaded files?
Word (.docx) for the four documents and CSV (.csv) for the three sheets, in one zip. The sheets open in Excel, Numbers or Google Sheets and the documents open in Word or Pages, so nothing needs converting. Add ?format=pdf if you want to read them rather than fill them in.
How is this different from the monthly performance report pack?
The performance report pack explains what already happened, dated so a comparison is not read too early. This pack uses those same trailing rates to size what has not happened yet: next year's budget. Build the report first; the plan's Assumptions doc reads straight from it.
What if we don't have a full trailing year of channel data?
Use whatever window you have and say so on the Assumptions doc rather than presenting six months as twelve. A shorter window widens the honest error bar on the retroactive check, which is itself useful information about how much to trust the forward number this year.
Does the budget also cover the team's own capacity?
Media and program cost, not headcount capacity. If ad-hoc requests are already eating the team's time before this budget funds a single new campaign, size that separately with the marketing team capacity and intake pack, then decide whether the fix is a hire this budget should include.
What if the funnel doesn't convert at the assumed rate?
Then the budget is sized to a target it will not reach, and the model is built to say so rather than hide it: a win rate or MQL:Opp rate move is exactly what the retroactive check catches. Run the fully loaded CAC review to see whether a channel's real rate has already drifted from what Assumptions still assumes.
What does Edit with AI actually do?
It creates a free account, installs these seven files as a private workspace, and opens by asking for your revenue target and trailing rates. Then it runs the retroactive check first, states the error, and only builds forward once you have seen how much to trust the model.
Build a budget you can defend line by line
Send your revenue target and trailing rates. River checks the model against last year first, then works your real number backward to a budget by channel.
Edit with AI