Budget planner
The budget planner takes what you spent per channel, puts it beside the calls and revenue those channels produced, and tells you where the next pound is better spent. It works from attribution you already have — there is nothing new to install.
You enter the spend. We do not read it from anywhere. Proofbell reads Google Ads for the keyword behind a click, not for cost, and Microsoft Advertising, Meta and GA4 only ever receive from us. So no figure on this page is reconciled against your billing, and it is only as right as what you typed. We would rather say that than infer spend from clicks and an assumed cost-per-click, which would produce a table that looks reconciled and is arithmetic on a guess.
What it will not tell you
Worth reading first, because these are the questions every tool in this category answers confidently and this one does not:
- Whether to spend more or less in total. It reallocates a fixed budget. Answering "what if I doubled Paid Search" needs a response curve — an estimate of what the next pound returns as opposed to the average one — and measuring that is what marketing mix modelling does, over years of spend history with real variation in it. We do not hold that history, and a number produced without it would be an assumption wearing a chart.
- Anything beyond a 20% move. For the same reason. Within a fifth of a channel's current spend, assuming returns are roughly flat is defensible; beyond it the assumption is doing the work rather than the data. The cap is the honest boundary, not a setting we forgot to raise.
- Whether a channel is causing the calls. Attribution measures correlation with credit rules. Proving causation needs a randomised holdout — advertising deliberately withheld from part of your market — which we cannot arrange, because we do not control delivery in your ad accounts.
Entering spend
Under Budget, add a figure per channel with the dates it covers. The channel name must match what Proofbell's attribution calls the channel — "Paid Search", "Paid Social", "Organic Search", "Direct", "Referral" and so on. Case and spacing do not matter; the words do.
Enter one figure per channel per period. If two entries for the same channel overlap in dates, the planner refuses rather than adding them together — summing an overlap double-counts the spend, which halves that channel's cost per conversion and is the one arithmetic error here that would be confidently wrong in the expensive direction. Correcting an existing figure just replaces it.
When it refuses, and why that is the useful part
The planner declines to produce a plan at all in six situations. Each of them is a case where a plausible-looking table would move real money the wrong way.
| It refuses when | Because |
|---|---|
| No spend has been entered | There is nothing to allocate, and we cannot get the figure for you. |
| Only one channel has spend | A plan is a comparison. With one channel there is nothing to compare it to. |
| Spend is in more than one currency | Adding them needs an exchange rate for a specific date. Choosing one silently would make every figure on the page wrong by however far the rate moved. |
| Two entries for a channel overlap | The spend is counted twice, so the cost per conversion is halved. |
| Fewer than 20 credited conversions in the period | Channels cannot be told apart. A plan on this reshuffles month to month for no reason. It is the same floor the data-driven attribution model refuses below — deliberately, so one report does not decline while another confidently disagrees on the same data. |
| The window is shorter than your sales cycle | See below. This is the one nothing else checks. |
The sales-cycle check
If your median deal takes 140 days from the call to closing and you plan over 30 days, then this month's revenue was produced by spend from four months ago. Dividing one by the other gives a cost per conversion for two unrelated periods. It reads as a perfectly normal number, and the error is largest for the businesses with the biggest deals.
So the planner refuses and tells you the window that would work — long enough that a typical deal's spend and its revenue both sit inside it. It is a refusal rather than a warning because a warning above a table of costs per conversion is read as a caveat, and the table is what gets acted on.
If you have no closed CRM deals with an identified originating call, the planner says the check was not made rather than passed. Your window may still be too short and we cannot tell you.
Reading the plan
Each channel gets a verdict. Three of the six are refusals, and the distinction between them is the point:
| Verdict | What it means |
|---|---|
| Scale | Returns more per pound than the account average, by more than the uncertainty in its own numbers. Gets some budget, capped at 20% of what it has now. |
| Trim | Returns less, by more than the uncertainty. Trim rather than cut: this measures calls and the revenue attached to them, and a channel can be earning its place through something we do not see. |
| Hold | Above or below average by less than the noise in its own conversion count. Keeps its budget, and the reason tells you how wide that band is. Moving money on a gap this size produces a plan that reverses itself next month. |
| Not enough evidence | Fewer than 10 credited conversions. No recommendation, and it says how many more it needs. A channel with three conversions can have the best cost per conversion on the account and still be indistinguishable from the worst. |
| Not converting | Traffic arrived and nobody rang, in enough volume that zero is a real signal rather than a quiet month. Still no automatic movement — a tracking fault looks identical from here. |
| Cannot measure | See below. This is never a reason to cut. |
"Cannot measure" is about us, not about the channel
Real spend against a channel we saw no traffic on at all. Two explanations are equally consistent with what we hold and we cannot tell them apart: the name may not match what our attribution calls the channel, or the links may be untagged so their traffic arrives as Direct.
Either way it is evidence about our visibility, not about the channel's performance — so the planner refuses to move budget out of it. Cutting a channel because we cannot see it would be acting on our own blind spot, and it is the most expensive mistake this page could invite.
It is also the most actionable thing on the page. Money going somewhere you cannot measure is worth fixing before any reallocation: check the channel name, then check that the ads point at tagged URLs.
The uncertainty band
Every channel with conversions shows a band — "give or take 62%" is what ten credited conversions buys you. It is computed from the conversion count alone, which makes it a floor rather than the whole of the uncertainty: which attribution model you choose adds more spread than the count does, and multi-touch credit is fractional. Treat it as the minimum.
The plan also flags whether the gap between a channel and the one below it in the ranking is real. A ranking is only as useful as its gaps, and adjacent rows that swap places every month for no reason are how a tool stops being believed.
Money it did not move
A reallocation is bounded on both sides, and the plan reports whichever side fell short:
- Could be freed, nowhere better to put it. A channel is measurably below average and nothing is measurably above it. That is really the question "should I just spend less overall", and the planner will not answer it — see the top of this page.
- Could be absorbed, nothing safe to release. Your good channels could take more, and the channels below average either do not exist or cannot release it inside the 20% cap in one step. Run the plan again after a move has had time to show.
Before you move any money
Run the plan under a second attribution model. The models disagree by construction, and a channel that is above average under last non-direct and below it under linear is a channel this cannot rank — which is a genuinely useful thing to know and takes ten seconds to check.
Then check the cannot measure list. Fixing tagging on a channel you are already paying for usually beats reallocating between two you can see.