Ranking Campaigns by Contribution Margin to Cut Ad Spend

When cash tightens, the instinct to slash ad spend is immediate but rarely strategic. Most founders cut campaigns by gut feel or surface-level metrics, removing budget from channels that look expensive while leaving genuinely unprofitable spend untouched. The result is predictable: reduced reach, diminished pipeline, and no meaningful improvement to the bottom line.
The disciplined alternative is to rank every campaign by contribution margin after variable costs, then work that ranked list from the bottom up. This approach forces the cuts to land on spend that was never converting to profit in the first place.
This guide delivers the full cut sequence. You will learn why return on ad spend cannot set the cut order, which cost inputs you need before ranking anything, how to calculate contribution margin per campaign, and how to work the ranked list top to bottom. You will also get the review trigger that tells you when to restore ad spend. Cut by margin, restore by trigger. That is the framework.
When Cash Tightens, Most Founders Cut the Wrong Ad Spend
Revenue holds. Cash does not. The response is almost always identical: a flat percentage reduction applied identically across Google, programmatic and affiliates. It feels disciplined. It is not.
This is the Blunt-Instrument Budget Cut. A uniform reduction takes identical money out of a campaign returning real profit on ad spend and a campaign that never covered its own variable costs. One cut protects the business. The other sabotages it. Precision scaling: eliminating blunt-instrument budget cuts only works when you can tell the two apart.
The Dashboard Illusion explains the repetition. Dashboards report return on ad spend, reach and revenue, three numbers that can all look healthy while contribution margin per order sits below zero. If profit never appears on the screen, the cut is made on the numbers that are visible. Eliminating the Dashboard Illusion with real-time intelligence starts with admitting the screen is not showing you the decision you are about to make.
The consequence is predictable. Budget comes out of the campaigns carrying the business and stays in the ones quietly draining it. Cash gets tighter, not looser, and the next round of cuts digs deeper into the wrong place.
The reframe worth holding: cutting ad spend is a ranking problem, not a size problem. How much comes out matters far less than which pound comes out first. Rank by contribution margin after variable costs and the sequence writes itself. Keep cutting by percentage and you are guessing with real money.
Why Return on Ad Spend Cannot Set the Cut Order
ROAS divides revenue by ad spend. Nothing else. It does not know what the sale cost you to fulfil, so two campaigns sitting at 4.0 can produce opposite commercial outcomes. To take a hypothetical: one retains £35 in contribution margin per order; the other retains £10. Same dashboard, different business.
Three failures matter here. ROAS ignores variable costs and product margins. It rewards revenue over profit. And it reports at channel level, obscuring SKU and campaign performance exactly where a cut decision needs precision.
Profit on ad spend is a step forward over ROAS, because it subtracts the ad cost itself. Platform attribution windows can count some orders that would have happened without the ad, however, so profit-on-ad-spend figures may overstate incremental cash.
Search campaigns tend to capture demand that already exists; programmatic must create it, making the cost per incremental order harder to attribute and typically higher. Rank them by ROAS and you flatter search while hiding what programmatic is really costing per incremental order.
Contribution margin after variable costs is the only input that answers the question a cash crunch actually asks: if I turn this off, does cash improve? Use return on ad spend to manage campaigns day to day. Use contribution margin to decide what dies.
The Cost Inputs You Need Before You Rank Anything
Margin decides what dies, but only if the inputs behind it are right. Ranking on contribution margin needs an order-level cost picture, not a monthly P&L reconciled after the fact. Assemble it in this sequence.
Start with net revenue per campaign. Gross revenue minus discounts, refunds, chargebacks, and any marketplace, channel, or platform fee taken before the money reaches you. Gross is the wrong starting point and flatters every campaign equally. Where you sell through marketplaces or act as agent rather than principal, gross versus net decides the number you rank on (gross versus net revenue guidance).
Then list every variable cost per unit attributable to the order. Cost of goods, inbound freight and duty, pick, pack and fulfilment, outbound shipping and subsidy you absorb, payment processing, returns and restocking, packaging, and affiliate or platform commissions. Anything that rises with volume belongs here, and calculating the true cost of scaling beyond ad spend is where most hide.
Costs most often missed scale with order volume but never appear next to the ad: shipping subsidies triggered by free-delivery thresholds, premium payment fees on buy-now-pay-later orders, return rates that vary sharply by SKU, and shipping cost of a return that cannot be resold. BNPL volumes keep expanding, so that fee line grows with them (CFPB BNPL market report).
Contribution margin per campaign is net revenue minus all variable costs minus attributed ad spend. What remains is contribution toward fixed costs and profit. Below zero, cash leaves the business to generate revenue.
Assemble from existing sources: order records, fulfilment invoices, payment statements, returns logs, ad platforms. The complete cost picture normally arrives weeks late, reconciled in accounting rather than assembled in operations. Hawk Margin’s Profit Clarity System unifies fragmented channel, order, and cost data into a live view, so ranking reflects this week, not last quarter.
The Ranking Method: Contribution Margin per Campaign
With cost inputs assembled, the method is four steps, run in order.
Net revenue (as defined above) and per-unit variable costs (assembled in the previous section) feed the first two inputs.
3. Contribution margin in currency. Net revenue minus variable costs. This is cash, not a ratio, and cash is what a crunch asks about.
4. Contribution margin ratio. Margin divided by net revenue, expressed as a percentage. Useful, but secondary.
Then rank on absolute contribution margin contribution, not the ratio. A campaign at 60% margin on £8,000 of net revenue contributes less cash than one at 30% on £90,000. During a cash crunch the question is how much cash each campaign moves in total, so the ratio only breaks ties between campaigns of comparable size.
Next, give every campaign a floor. Break-even return on ad spend is one divided by the contribution margin ratio: a 40% ratio needs 2.5x to pay for itself, a 25% ratio needs 4x. Below that line, each order removes cash, however healthy the dashboard looks. This is the mechanism behind measuring contribution margin and true ad spend impact, and it is where ROAS reporting stops being useful.
Set your own threshold rather than adopting a published benchmark. Your floor comes from your fixed cost base and the monthly cash needed to fund it. A brand carrying high fixed costs needs a higher contribution margin than a lean operator. Copying a benchmark does not change your cost structure.
Finally, sort descending by contribution margin contribution. That order is your cut sequence. Keep it live, because it moves as costs move.
The Cut Order: Working the Ranked List Top to Bottom
The ranked list is the input. The sequence is the output. Work it top to bottom.
Tier One: Negative Contribution Margin
Every campaign with negative contribution margin comes out in the current week. Not tapered. Not held at a test budget to protect learning. Not given another fortnight to find its footing. Negative contribution margin means each additional order makes the cash position worse. Every pound left in a negative-margin campaign after the cut date is a deliberate choice to worsen cash.
Tier Two: Positive Margin, Below Break-Even ROAS
These campaigns are not yet destroying cash in absolute terms, but they are not funding themselves. Once variable costs are in, they sit below the break-even return on ad spend you calculated from their contribution margin ratio. Reduce budget toward the break-even line rather than switching them off. Recheck in one cycle. Some will cross back above the line at lower spend; others will confirm they belong in tier one.
Tier Three: Low-Contribution Profitable Campaigns
Next out are profitable campaigns with the lowest contribution margin contribution. Broad programmatic ad spend and top-of-funnel prospecting usually sit here. Cut the segments inside them too, so the highest-cost placements come out before the efficient ones.
Tier Four: Demand Capture
Brand and non-brand search, high-intent retargeting, and channels with proven repeat purchase behaviour come last, and they come with a taper. Switching these off removes revenue that arrives without further ad spend.
Two Rules That Keep the Sequence Honest
Make cuts in one cycle and measure the following week, so cause and effect stay legible. Track the cumulative contribution margin of what remains after each tier. If total cash contribution does not improve, you cut the wrong thing.
The cut order is not a judgement call. It is arithmetic.
The Review Trigger for Restoring Ad Spend
Before the first cut, write the restoration trigger. Without one, spend returns on sentiment, usually the first week revenue looks better, and the business lands back in the same position with the same blind spots.
A workable trigger has three parts. Contribution margin per campaign must be positive after variable costs. Cash coverage must be met, measured as weeks of runway or cash on hand against committed costs. And the contribution margin ratio for the campaign being restored, measured over a consistent, agreed period, must sit at or above the decision rule you set earlier. That rule only holds if it is anchored to net profit rather than gross profit; gross profit systematically overstates what a campaign earns because it excludes the variable costs counted above.
Restore in reverse order: the lowest-contribution profitable campaigns come back first, in small increments, one campaign at a time, with the ranking rechecked after each addition. This sequencing is a practitioner heuristic, not an empirically tested protocol. Bringing back the cheapest incremental cash first keeps the measurement clean.
Stage every restore. Reinstate at a materially reduced budget for one full cycle, confirm contribution margin per order holds at that level, then move to full budget. If margin per order falls after restoration, the increment was buying unprofitable volume and comes straight back out.
Run this on a fixed weekly cadence: one owner, the same ranked list, one meeting. A trigger checked when someone remembers is not a trigger, and what we call the Profit Accountability Gap — the widening divergence between cash performance and leadership’s awareness of it — grows every week the list goes unread.
Cut by Margin, Restore by Trigger
The sequence is now complete: rank, cut in tiers, restore on trigger. What remains is making it a habit rather than an event.
The visibility problem precedes the spending problem — marketing’s cash contribution rarely surfaces in the dashboards leadership already watches. When you cannot see contribution margin per campaign, every cut is a guess dressed up as discipline, and guesses compound.
Three things to carry out of this:
- Rank campaigns by contribution margin after variable costs, not by return on ad spend. Only one of those answers whether switching a campaign off improves cash.
- Cut in tiers from the bottom of that ranking. Negative margin first, demand capture last.
- Write the restoration trigger before the first cut, and hold to it.
Set the variable cost inputs correctly once and the ranking takes minutes each week. That is the shift from Dashboard Illusion to Commercial Clarity: the cut sequence stops being a crisis decision and becomes a routine one, repeatable whenever cash tightens and reversible the moment it does not.
Conclusion
When cash tightens, cut by contribution margin, not by return on ad spend. Rank every campaign after variable costs, then work the list from the bottom up. Negative margin goes first; demand capture goes last. Before you cut, write the restoration trigger and assign one owner to check it on a fixed schedule.
This method turns ad spend from a guess into a repeatable system. You protect the campaigns funding the business, stop the ones draining cash, and restore spend the moment the trigger says yes.
Your next step: pull your campaign data, set the cost inputs once, and build the ranked list this week. Then put a recurring meeting on the calendar. Cut by margin. Restore by trigger. Make clarity your default.



