Media Spend Planner
Plan where the media budget goes, what each channel is expected to return, and whether spend is pacing to plan. Shows what the whole plan delivers against the target before you commit. Runs entirely in your browser. Nothing is uploaded.
Version 1.0.0 · Updated Aug 20, 2026
Use Media Spend Planner now
Runs in your browser · nothing is uploaded
This in-page version cannot save your work between visits — browser storage is switched off inside the sandbox. The full version saves your work locally after download.
Overview
Frequently asked questions
How does the Media Spend Planner licence work?
It is a one-time purchase for a downloadable tool — no subscription. You buy it once and the file is yours to keep and use.
Can I try the Media Spend Planner before buying?
Yes. Use the Try online button for a fully interactive demo with sample data already loaded — nothing to install and nothing is saved.
Can I import my data from a spreadsheet?
Yes. Use the Spreadsheet template button to save a CSV with the right headings, fill it in Excel or any spreadsheet, then Import spreadsheet to load it back. The file is read in your browser — nothing is uploaded.
Does my data stay private?
Yes. The tool is a single HTML file that runs entirely on your computer and makes no network requests, so nothing you enter is ever uploaded or shared.
Do I need Excel or any other software?
No. It replaces the spreadsheet template entirely: open the file in your browser (Chrome, Edge, Firefox or Safari) on Windows, Mac, Linux or a tablet, and start working.
How to use Media Spend Planner
The complete in-tool guidance, reproduced here so you can read it before you download.
What this tool does
CM8-371 plans where the media budget goes and what it is expected to bring back. It adjusts each channel's cost per customer for the fact that spending more makes customers more expensive, totals what the plan actually delivers against the target, and tracks whether spend is pacing to plan once it is running.
Everything runs inside this single file — no account, no upload, no network request of any kind.
What one row is
One row is one channel or campaign for one period. Keep the lines at the level you can move money between: separating brand from non-brand search matters here, because one of them has almost no room to absorb more spend and the other does.
Record lines you have decided against as not going ahead rather than deleting them. A plan that shows what was considered is far more useful three months later than one that shows only what survived.
Diminishing returns, and why every plan ignores them
This is the single correction that separates a media plan from a wish. Almost every plan is built by taking last quarter's cost per customer and multiplying — and that assumes the tenth thousand you spend buys customers as cheaply as the first, which it never does.
The cheapest audience goes first. As spend rises you bid on broader keywords, reach less interested people and compete harder for the same attention, so cost per customer rises.
Doublings = log₂(planned spend ÷ spend the CPA was measured at) Adjusted CPA = measured CPA × (1 + rate) ^ doublings Expected customers = planned spend ÷ adjusted CPA
Twelve percent per doubling is the default and is conservative. In a small or specialised audience it can be thirty percent or more; in a very large one it may be less. Measure your own if you can: compare cost per customer in a month you spent heavily against a month you did not.
The tool shows what a flat cost per customer would have promised beside every adjusted figure, and totals the difference on a tile. In the sample it is around a tenth of the plan's expected customers, which is roughly the amount by which most annual plans overshoot.
The baseline spend field
The adjustment needs to know what spend level your cost per customer was measured at. Enter it for the same length of period as the planned spend — if you are planning a quarter, enter last quarter's spend in that channel.
Leave it blank and no adjustment is made, which is the same as assuming flat returns. That is occasionally right — a channel you are planning to spend the same in — and usually not.
The tool refuses a plan more than twenty times the measured level, because at that point no adjustment makes the forecast meaningful. Plan such a channel in stages and measure between them.
Pacing
Spent share = spent to date ÷ planned Period elapsed = days gone ÷ days in the period Pacing gap = spent share − period elapsed, in points
Set the period dates in Settings and every live line is compared against a straight line through the period. More than ten points either way is worth a look; more than twenty needs a decision this week.
Underspending is not saving money. A line at 30% spent when the period is 60% gone will not deliver its customers, and the budget usually cannot be spent late — platforms need time to learn, and a rushed December does not buy what a steady October would have.
The straight line takes no account of seasonality. If your demand is genuinely seasonal, use the pacing shape field to record the intent and read the gap accordingly — a back-loaded line is meant to be behind in the first half.
Committed money
Sponsorships, upfront buys and anything with a signed contract cannot be moved when the plan needs changing. Tick the box and the tool tracks what share of the plan is immovable.
This matters at exactly one moment, and it is always the same moment: something is not working, the budget needs reallocating, and half of what you would have moved turns out to be already spent. Knowing the number in advance changes how much you commit.
The reserve
Holding back five to ten percent is not caution, it is the ability to respond: a competitor's campaign, an unexpectedly good channel, a platform change. A plan committing every unit has no way to react except by cutting something that is working.
The unallocated tile counts the reserve as spoken for, so a plan that fills the budget shows as over.
Closing the gap
Where the plan delivers fewer customers than the target, the second table lays out the honest options: spend more in the cheapest channel with room, spread it across the plan, improve conversion instead, or move the target.
Two things it does deliberately. It excludes committed lines from the cheapest-channel option, because that money is already spent. And it adds a further margin on top of the adjusted cost per customer for the extra spend, because incremental money buys the most expensive customers of all.
The last option is on the list on purpose. Telling the business in month one that the plan delivers 900 against a target of 1,200 is a manageable conversation; telling them in month eleven is not.
Using it in a monthly review
Update spend to date and customers to date, then look at three things in order: which lines are badly off pace, which lines are costing materially more per customer than planned, and whether the plan still reaches the target. Twenty minutes, and it is nearly always the same two or three lines.
The actual cost per customer column is the one that tells you whether the plan's assumptions were right. A line consistently beating its adjusted figure has room you have not used.
What this does not do
- It plans media cost only. Creative production, agency fees and people time are real and belong in a fuller budget.
- It assumes channels are independent. They are not — prospecting builds the audience retargeting sells to, and cutting one damages the other.
- Pacing assumes an even period, with no seasonality.
- The diminishing-returns rate is a single figure applied to every channel. In reality it differs enormously, and a channel with a small addressable audience saturates far faster.
- It says nothing about lead time. Money spent in the last month of a period usually produces customers in the next one.
Printing and sharing
The Report tab prints the tiles, charts and both tables with a title block you fill in. The plan table is the approval document; the gap table is what to bring when the answer is "we need more budget".
Saving your work
The plan is held in this browser, on this computer, and stays there between visits. Use the backup button to write a JSON file you control.
Accuracy & disclaimer
A plan is a set of assumptions with money attached, and every assumption here is yours. The tool makes the arithmetic explicit and applies one correction most plans omit; it cannot make a forecast come true.
Where this fits
Part of Paid Media in Marketing & Growth.
Related tools
Turn the return-on-ad-spend figure the platform reports into one your accounts would recognise: corrected for margin, refunds and incrementality, against the break-even ROAS your margin actually requires. Runs entirely in your browser. Nothing is uploaded.
Work out cost per lead and cost per acquisition, then break it apart: what you pay for a thousand impressions, what share click, and what share convert. Shows which of the three is actually driving the cost. Runs entirely in your browser. Nothing is uploaded.
Before spending anything, work out what a campaign has to achieve to break even: the ceiling on cost per click, the conversion rate needed, and the volume that makes the fixed costs worthwhile. Runs entirely in your browser. Nothing is uploaded.
Plan what gets published and when, keep the cadence steady, and see which topics and buying stages you are covering — and which you have quietly stopped writing for. Runs entirely in your browser. Nothing is uploaded.
Map every search term to the one page that should own it: find the terms with no page, the pages competing with each other, and rank the work by the traffic value actually within reach. Runs entirely in your browser. Nothing is uploaded.
Judge content on what it returns over its whole life rather than its first month: cost per visit falling with age, pieces still growing against pieces decaying, and which ones are worth updating. Runs entirely in your browser. Nothing is uploaded.