Budget
How to cut 20% of your ad budget without losing sales
A step-by-step method to reduce ad spend by 20% while protecting qualified leads and sales: rank ads by cost per SQL, cut the long tail, fix waste, and reinvest in winners.
"Cut 20% of the ad budget by Friday. Which 20%?" Every marketing lead hears this sooner or later. The usual answer is to trim every channel equally or pause the campaigns with the highest cost per lead. Both are risky, because neither looks at which ads actually produce sales.
Here's a method that protects qualified leads and deals while you cut.
Step 1: get cost per SQL for every ad
You can't cut safely without knowing what each ad really produces. For the last 30 to 90 days, pull for every ad:
- Spend
- Leads
- MQLs and SQLs from your CRM
- Deals, if you have enough
Then calculate cost per SQL (spend ÷ SQLs) and % SQL (SQLs ÷ leads). If you're unsure what counts as an SQL, see MQL vs SQL. If you only have cost per lead, read why a cheap CPL can hide an expensive sale first.
Step 2: rank ads, with a minimum-leads rule
Sort every ad by cost per SQL, cheapest first. Exclude ads with too few leads to judge (for example, fewer than 20), or they'll float to the top or bottom by luck.
Zero Metrics' Find winners does this ranking in one click, scoring each ad on cost, lead quality and volume, with the minimum-leads rule built in.
Step 3: find the long tail
In most accounts, a small share of ads produces most of the SQLs. Add a running total of SQLs down your ranked list. Typically you'll see something like this (illustrative):
| Ad group | Share of spend | Share of SQLs |
|---|---|---|
| Top 20% of ads | 35% | 70% |
| Middle 40% | 40% | 25% |
| Bottom 40% | 25% | 5% |
The bottom group is your budget. Cutting it removes a quarter of spend and only a small fraction of sales opportunities.
Step 4: cut in this order
- Ads with cheap leads and very low % SQL. They fill your call centre with people who won't buy.
- Ads with zero SQLs after a fair test, both enough leads and enough days for follow-up.
- Overlapping audiences where two ad sets compete for the same people.
- Placements and times that never qualify, such as audience network or late-night delivery, if your data shows it.
- Duplicate lead sources: campaigns producing leads you already had from another channel.
Leave alone: ads with the lowest cost per SQL, even if their cost per lead looks high, and any ad still in its learning phase that you haven't judged fairly.
Step 5: fix waste that isn't an ad
Some of the best savings come from outside the ad account:
- Broken tracking. Leads with no campaign name can't be judged. Fix your naming convention and UTMs.
- Slow follow-up. If leads wait hours for a call, good ads look bad. Faster response raises SQL rates without extra spend.
- Bad lead data. Duplicates and wrong numbers inflate lead counts and hide true cost.
Step 6: reinvest part of the savings
Cutting 20% doesn't have to mean losing 20% of results. Move a slice of the savings into the top-ranked ads, gradually, so their cost per SQL holds as they scale. Increase budgets in steps rather than all at once, and watch cost per SQL weekly.
Step 7: report the cut in sales terms
When you report back, show what changed in the numbers leadership cares about:
| Before | After | |
|---|---|---|
| Monthly spend | AED 100,000 | AED 80,000 |
| SQLs | 160 | 152 |
| Cost per SQL | AED 625 | AED 526 |
A 20% cut with a 5% drop in SQLs is a stronger account, not a weaker one. Share a live view so leadership can see it hold over the following weeks; see how agencies do this in client reporting without decks.
The short version
Rank every ad by cost per SQL with a minimum-leads rule, cut the long tail first, fix tracking and follow-up waste, and reinvest a little in the winners. You'll spend less and keep most, sometimes all, of your sales opportunities.
See it on your own campaigns. Zero Metrics joins your ad accounts to your CRM and shows cost per lead, MQL, SQL and deal for every ad, refreshed every hour. Book a free 30-minute demo or see the product.