ARTICLE SUMMARY

Under campaign budget optimisation, one ad set routinely takes nearly the whole budget while the others sit at pennies a day. That is the feature working as designed. On a small budget it is frequently the wrong outcome, because a confident allocation made from a thin signal is still a confident allocation.

Open any campaign running campaign budget optimisation with four or five ad sets and look at the spend column. In a large share of the accounts we have taken over, the picture is the same. One ad set has nearly all the money. The others are running at a couple of dollars a day, or at zero.

People report this as a bug. It is not a bug. It is exactly what CBO is built to do, and the interesting question is whether what it is built to do is what you want on your budget.


What CBO actually does

Campaign budget optimisation moves the budget from the ad set level up to the campaign. You set one number for the campaign and Meta decides, continuously, how to split it across the ad sets underneath.

The allocation is not a fixed split and it is not proportional to performance. It is closer to a running bet. Meta forms an estimate of which ad set will produce the cheapest result for the next increment of spend and routes that increment there. Repeat this many times a day and you get a winner-take-most distribution, because each increment that goes to the leading ad set also produces more data about the leading ad set, which tends to reinforce the estimate.

That is the mechanism. It is a reasonable design. It concentrates money where results are cheapest and it does so faster and more often than a human would.


Why concentration is frequently the wrong outcome

Three reasons, and they compound on small budgets.

The early decision is made on very little information. On a campaign spending a modest daily amount across several ad sets, the difference in early results between ad sets is mostly noise. Meta will act on that noise, because it has to act on something. The ad set that happened to get two cheap results in the first afternoon can become the designated winner, and then it keeps getting the budget, which keeps confirming the choice. The other ad sets never get enough delivery to demonstrate anything either way.

The starving ad sets stop being a test. The usual reason to have multiple ad sets is to compare something: two geographies, two audiences, two offers. If one of them gets 90 percent of the money, you no longer have a comparison. You have one ad set running and three decorative ones. Whatever question the structure was supposed to answer goes unanswered.

Concentration into one ad set is concentration into one geography or one audience. For a client whose business needs coverage across a service area, having the budget collapse onto whichever county happened to convert cheaply first is a business problem even if it is an efficiency win. Cheap leads from one corner of the territory do not fill the pipeline for the rest of it.

Note the shape of this. The problem is not that CBO makes bad allocations. It is that CBO makes a confident allocation from a thin signal and then acts on it consistently, and on a small budget the signal stays thin.

90% Share of a campaign budget a single ad set routinely takes under CBO
2 to 3 Ad sets per campaign, above which CBO behaves noticeably worse
8 Ad sets carving up one small budget, the structure behind most budget hog complaints

The practical fix

Split the campaign to ad set budgets. In Meta's terminology that is turning CBO off and setting a budget on each ad set individually, which most people still call ABO.

The result is unglamorous and it works. Each ad set gets the money you assigned it. The comparison you set up actually runs. The geography you promised to cover gets covered.

Two notes on doing it well:

Set the per ad set budgets deliberately rather than dividing evenly. If one geography holds three times the opportunity, weight it. The point of splitting is that you control the allocation, so control it rather than defaulting to equal shares.

Do not then micromanage it daily. The reason to move away from CBO is to stop the system from making confident decisions on thin data. Making your own confident decisions on the same thin data, every morning, reproduces the problem with a slower loop and adds edit churn on top. Set the split, leave it alone for a meaningful period, then review.

The reason to move away from CBO is to stop the system making confident decisions on thin data. Making your own confident decisions on the same thin data every morning reproduces the problem with a slower loop.


When CBO is genuinely the right choice

CBO is not a mistake and we run plenty of it. The conditions where it earns its place:

The ad sets are interchangeable from the business's point of view. If you genuinely do not care which of your ad sets produces the lead, because all of them are the same customer for the same offer, then letting Meta concentrate is a pure win. The classic case is several creative themed ad sets all pointed at the same audience and area.

The campaign has enough budget that even the minority share is meaningful delivery. When the losing ad sets are still getting real spend rather than pocket change, the comparison survives and you get the reallocation benefit as well.

You are consolidating rather than proliferating. A single campaign with two or three ad sets under CBO behaves much better than one with eight. If you are reaching for CBO, reach for a simpler structure at the same time.

You want fewer ad sets splitting one budget, not more. This is the underrated one. A lot of accounts have the budget hog problem as a symptom of a different disease, which is too many near duplicate campaigns and ad sets carving up a small amount of money. Merging them is often a better move than switching allocation modes, and it is one of the most common structural faults behind the pattern in why mobile home dealer Facebook ads fail in the first 14 days.


The rule we actually use

The decision comes down to one question:

Would you be unhappy if one ad set took almost all of this budget?

If yes, that ad set represents something you need covered, a geography you promised, an audience you are testing, an offer you need read, and losing it is a real cost. Split to ad set budgets.

If no, if any of these ad sets winning would be a fine outcome, leave CBO on and let it work.

That question resolves most cases in about ten seconds, and it puts the decision where it belongs, which is on what the business needs rather than on which setting is fashionable. If you have not yet decided what the campaign budget itself should be, that is the prior question, and how much to spend on paid ads works through it.

KEY TAKEAWAY

Ask whether you would be unhappy if one ad set took almost all of the budget. If yes, that ad set represents a geography you promised or a test you need read, and you should split to per ad set budgets. If any of them winning would be fine, leave CBO on and let it work.


Two adjacent things people confuse with this

Budget concentration is not the same as creative concentration. Inside a single ad set, Meta also concentrates delivery onto one or two ads. That is a separate mechanism with a separate set of tradeoffs, and splitting to ad set budgets does nothing about it. If you want a creative comparison read, you need a structure built for that, not a budget change.

A non-spending ad set is not always a budget hog problem. Ad sets fail to spend for a long list of unrelated reasons: an audience that is too small, a bid cap that cannot win, a disapproved ad, a schedule that has not started, an optimisation goal that is not delivering for this account. We covered one of those in the optimisation goal that has not delivered for us. Before you restructure a campaign, confirm the ad set can spend at all.


Caveats

This is our own observation from lead generation accounts we operate, current through 2026, mostly at modest daily budgets across manufactured housing, real estate and local service clients. Larger accounts at higher spend levels have a different experience of CBO, and there are credible practitioners who run CBO almost exclusively and are right to, because their volume makes the allocation decision well informed rather than a guess.

Meta changes budget allocation behaviour and the naming of these settings regularly, and newer campaign types restructure where budget lives entirely. Treat the mechanism described here as the thing to check in your own account rather than as a permanent property of the platform.


Our methodology

We compared spend distribution across ad sets on lead generation campaigns in client accounts we manage, looking at the share of campaign budget taken by the top ad set over rolling periods rather than single days. Where a campaign showed persistent concentration and the underlying ad sets represented distinct geographies or offers that the client needed covered, we split to per ad set budgets and watched both coverage and cost per lead afterwards. We are not publishing account level figures, and the outcome of any such change depends on the account, the offer and the market. Results vary.

Share this article

Frequently Asked Questions

Why is one ad set spending the whole CBO budget?

Because that is what campaign budget optimisation is designed to do. Meta estimates which ad set will produce the cheapest next result and routes the next increment of spend there, many times a day. Each increment to the leader also produces more data about the leader, which reinforces the estimate.

Is the CBO budget hog a bug?

No. It is the intended behaviour. The useful question is not whether it is a bug but whether winner take most allocation is what your business needs from this particular campaign.

When should I switch from CBO to per ad set budgets?

When the ad sets represent things you need covered rather than interchangeable options: separate geographies in a service area, a test you need read, an offer you need a verdict on. If losing one of them would be a real cost, split the budget so each one runs.

When is CBO the right choice?

When the ad sets are interchangeable from the business's point of view, when the campaign has enough budget that even the minority share is meaningful delivery, and when you are consolidating to two or three ad sets rather than proliferating to eight.

Does splitting to ABO fix creative concentration too?

No. Inside a single ad set Meta also concentrates delivery onto one or two ads. That is a separate mechanism with separate tradeoffs, and a budget change does nothing about it. A creative comparison needs a structure built for that.

My ad set is not spending at all. Is that a budget hog problem?

Not necessarily. Ad sets fail to spend for many unrelated reasons: an audience that is too small, a bid cap that cannot win, a disapproved ad, a schedule that has not started, or an optimisation goal that is not delivering for the account. Confirm the ad set can spend at all before restructuring.


Keep reading

Campaign Structure Review, Before You Change Settings

Most budget hog complaints are a symptom of too many near duplicate campaigns splitting a small amount of money. We will look at the structure first and tell you whether the fix is a setting or a merge.

GET YOUR FREE STRATEGY SESSION

Or call us: 512-877-5541