Plan vs Actual Analysis in Marketing: A Practical Guide
Most marketing teams build a plan in January and never look at it again until the year is over. The plan said 400 leads and $1.2M in pipeline. December comes, you got 290 leads and $740K, and nobody can explain where the gap opened. Was it traffic? Conversion? A channel that quietly stopped working in March? By then the budget is spent and the answer is academic.
Plan vs actual analysis is the discipline that closes that loop while you can still do something about it. You set targets per metric, compare them to what actually happened each month, and treat every variance as a question to answer, not a number to report. Done well, it turns your plan from a document into a steering wheel.
This guide covers how to build a plan that is comparable to reality, which metrics to track variance on, how to find the cause behind a gap instead of just naming it, and what to do when the actuals come in low (or surprisingly high). The math is simple. The judgment is where teams win or lose.
Why most plan vs actual reviews are useless
The common version goes like this: a slide deck shows planned spend next to actual spend, both numbers are roughly the same, everyone nods, the meeting ends. That tells you the finance team is competent at releasing budget. It tells you nothing about whether the marketing worked.
A useful review starts one layer down. Spend is an input. You committed that money to produce leads, pipeline, and revenue. The question is whether the outputs matched the plan at the efficiency you assumed. A team can hit its spend target exactly and miss its lead target by 40% because cost per lead doubled. If your report only compares spend, you never see it.
The second failure is reviewing too late. Annual or even quarterly-only reviews mean you discover problems after the money is gone. By the time Q3 numbers are final, you cannot un-spend Q2. Monthly cadence (with a weekly glance at the leading indicators) is what makes the analysis actionable.
Build a plan you can actually compare against
You cannot measure variance against a vague goal. "Grow leads" is not a plan. A plan you can compare against has a number, a timeframe, and an owner for each line.
Start from the outcome and work backward. This is the same logic behind setting a marketing budget from your revenue goals: you decide the revenue you need, then derive the activity that produces it.
A minimal plan has these layers, each with a monthly target:
- Revenue or pipeline generated by marketing
- Closed deals and average deal size
- SQLs (sales-qualified leads) and the lead-to-deal rate
- Leads / MQLs and the lead-to-SQL rate
- Cost per lead and total spend per channel
- Traffic or impressions feeding the top of the funnel
Each layer is connected by a conversion rate. If you plan 10,000 visits, a 3% conversion rate gives 300 leads; a 20% lead-to-SQL rate gives 60 SQLs; a 25% close rate gives 15 deals. Write those assumptions down. The assumptions are what you will test later, and most variance traces back to one of them being wrong.
One caution: do not plan every metric to the decimal. Set targets where you have a real basis (historical data, a documented benchmark, a tested channel) and mark the rest as estimates. A plan full of false precision invites arguments about rounding instead of attention to the lines that matter.
The metrics worth tracking variance on
Not every gap deserves a meeting. Track variance on the metrics that drive money and the ones that explain why money did or did not show up. A practical short list overlaps heavily with the B2B marketing metrics that actually matter:
| Metric | Why it earns a place in the variance report |
|---|---|
| Pipeline / revenue from marketing | The outcome the whole plan exists to produce |
| Cost per lead (CPL) | Tells you if efficiency, not just volume, moved |
| Lead-to-SQL and SQL-to-deal rates | Where quality problems hide; volume can be fine while quality collapses |
| Leads by channel | Isolates which source caused the aggregate gap |
| CAC and payback period | Catches the case where you bought growth at a price that does not pay back |
The reason quality rates matter so much: you can hit your lead target and still miss revenue badly. If a campaign floods the top of the funnel with leads that never qualify, your CPL looks great and your pipeline looks terrible. Variance on the conversion rates is what exposes that, often a month before the revenue gap becomes obvious.
How to read a variance, step by step
A number being off plan is the start of the analysis, not the end. Here is the sequence that separates a real diagnosis from a guess.
Compute variance in both absolute and percentage terms. "Leads were down 40" matters differently if the plan was 50 or 5,000. Percentage tells you severity; absolute tells you size of the dollar impact.
Decide if it is signal or noise. A 5% miss on a small channel in one month is usually noise. A 5% miss on your largest revenue line, three months running, is a trend. Set a threshold (say, anything outside plus or minus 10%) that triggers a closer look, so you are not chasing every wobble.
Walk the funnel to localize the gap. This is the core move. Start at the top and find the first metric that broke plan. Suppose pipeline came in 35% under. Check leads: on plan. Check lead-to-SQL: down by half. Now you know the problem is qualification, not volume, and you stop blaming the ad budget.
Separate volume from rate. A revenue miss is always either fewer units or a worse rate (or both). Decompose it. "We got the traffic we planned, but conversion fell from 3% to 1.9%" points at the landing page or the offer. "Conversion held, traffic was half" points at the channel or the spend. These lead to completely different fixes.
Find the cause, then the owner. Once you know which metric broke and whether it was volume or rate, ask what changed: a paused campaign, a competitor's price cut, a broken form, a seasonal dip, a sales team that stopped following up fast. The cause determines who acts. Diagnosing where leads leak in the funnel is usually the same work as diagnosing a variance, because a bottleneck is just a conversion rate that came in under plan.
A worked example (illustrative numbers)
Say the Q2 plan and actuals look like this:
- Planned: 9,000 visits, 3.0% CR, 270 leads, 20% to SQL = 54 SQLs, 25% close = 13 deals
- Actual: 9,400 visits, 1.8% CR, 169 leads, 22% to SQL = 37 SQLs, 24% close = 9 deals
Traffic beat plan. Close rate and SQL rate were basically fine. The entire shortfall traces to one number: site conversion fell from 3.0% to 1.8%. You did not have a budget problem or a sales problem. You had a landing page or offer problem, and the fix is a conversion test, not more spend. Without walking the funnel, the instinct would have been to pour money into traffic that was already on plan.
What to do when actuals come in low
Diagnosis without action is just a tidier way to miss your number. Once you know the cause, the response usually falls into one of a few buckets.
Reallocate, do not just cut. If one channel underperforms on CPL while another beats plan, move budget toward the winner mid-quarter. The plan was your best guess in January; the actuals are data. Treating the plan as fixed when the evidence has changed is how teams burn the back half of the year.
Fix the rate before buying more volume. If the gap is a conversion problem, more traffic multiplies the leak. Repair the form, the page, the offer, or the follow-up speed first.
Reset the target if the assumption was wrong. Sometimes the plan was built on a CPL that the market no longer supports, or a close rate that sales never actually hit. Adjust the plan and document why. A target you have already decided is unreachable demotivates the team and corrupts the next review.
Check whether the miss is real or a tracking artifact. Before you act, confirm the data. A broken conversion tag, a UTM that stopped firing, or deals attributed to the wrong source can manufacture a "gap" that does not exist. This is also the case for surprise overperformance: a number that beat plan by 80% is often a measurement error, not a triumph.
When actuals come in high
A favorable variance gets less scrutiny, which is a mistake. If you beat the pipeline plan by 50%, you want to know why as much as if you missed it, because you want to repeat it.
Sometimes the answer is real: a channel found product-market fit, a campaign hit a nerve. Double down. Sometimes it is borrowed from the future (you pulled forward demand that would have closed next quarter) or it is a one-off (a single large deal that skews the average). Knowing which one tells you whether to raise next quarter's plan or leave it. And occasionally a "great" result is just lax qualification: a flood of leads that inflates volume metrics while quietly lowering quality. Checking whether the marketing is actually profitable at the unit level keeps a vanity win from becoming next quarter's CAC problem.
A monthly cadence that keeps the analysis alive
The discipline only works if it has a rhythm. A workable cadence for most B2B teams:
- Weekly: a 10-minute glance at leading indicators (spend pace, lead volume, CPL by channel). Catch broken tracking and runaway spend early.
- Monthly: the full plan vs actual review. Variance on every key metric, funnel walk on anything outside threshold, one or two decisions written down with an owner and a date.
- Quarterly: re-plan. Update assumptions with the last three months of actuals. Reallocate budget across channels based on what the data now shows.
Keep the monthly review short and decision-focused. The output is not a prettier dashboard; it is a list of changes you are making because of what the numbers showed. If a review ends without a decision, it was a status update wearing an analysis costume.
Frequently asked questions
What is plan vs actual analysis in marketing?
It is the practice of comparing your planned marketing metrics (leads, pipeline, cost per lead, conversion rates, revenue) against what actually happened, then investigating the gap to find its cause and act on it. The comparison is the easy part. The value comes from diagnosing why a variance opened and changing something in response.
How often should I run it?
Monthly for the full review, with a weekly check on leading indicators like spend pace and lead volume, and a deeper quarterly re-plan. Annual-only reviews are too late to fix anything: the budget is already spent by the time you spot the problem.
What is an acceptable variance?
There is no universal number, and it depends on the metric's size and volatility. A common working rule is to investigate anything outside plus or minus 10% on a major metric, and to treat small single-month wobbles on minor channels as noise. The point of a threshold is to focus attention, not to pass or fail.
Why did I hit my lead target but miss revenue?
Almost always a quality problem. Your lead volume matched plan, but the lead-to-SQL or close rate came in lower, so fewer of those leads turned into deals. This is exactly why the variance report has to include conversion rates, not just volume and spend. Walk the funnel and you will find the rate that broke.
Should I change the plan mid-year when actuals diverge?
Yes, when the divergence reflects a real change rather than noise. The plan was your best estimate at the start; the actuals are evidence. Reallocate budget toward what is working and reset targets built on assumptions the market has disproven. Document the change so the next review compares against something honest.
What tools do I need?
You can run a credible plan vs actual review in a spreadsheet, as long as the underlying data is trustworthy. The harder requirement is reliable tracking: accurate conversion data, consistent UTM tagging, and CRM data that ties leads to deals. Most "mysterious" variances turn out to be measurement gaps, so fix the data layer before you invest in fancier reporting.
In short: the checklist
- Build a plan with a monthly target for each funnel layer, and write down the conversion-rate assumptions behind it.
- Track variance on outcomes (pipeline, revenue) and on the rates that explain them (CPL, lead-to-SQL, close rate), not just on spend.
- Compute variance in both percentage and absolute terms, and set a threshold so you chase signal, not noise.
- Walk the funnel top to bottom to find the first metric that broke, then separate whether it was volume or rate.
- Verify the data before you act: a broken tag fakes both misses and wins.
- Turn every meaningful variance into a written decision with an owner and a date.
- Re-plan quarterly with the latest actuals instead of defending a January guess.
If your plan and your actuals keep drifting apart and nobody can say why, the problem is usually upstream of the report: the tracking does not tie spend to revenue, so every variance is a guess. That is fixable. Book a 30-minute review of your funnel and analytics setup, and we will show you exactly where the gap is opening and which lever closes it.