
Meta Ads Not Spending? 2 Fixes for CBO Ad Sets and $0 Spend
Meta Ads Not Spending? 2 Fixes for CBO Ad Sets and $0 Spend
If you're running Meta Ads and your campaigns are not spending, there are a couple of things you should check before assuming something is wrong with your ad account.
Maybe you're running a CBO campaign with multiple ad sets, but only one of them is getting most of the budget.
Or maybe you just launched a new campaign, opened Meta Ads Manager, and everything shows $0 spent.
The second situation can be especially frustrating because your ads might already be running. You're just not looking at the correct reporting period.
I recently had a similar situation come up inside my community. We were thinking about all sorts of complicated problems, but the actual issue was simply the date range selected in Ads Manager.
So in this guide, I'm going to walk through two common Meta Ads spending issues and explain how to troubleshoot them.
We'll cover:
Why CBO campaigns sometimes allocate almost the entire budget to one ad set
How to set minimum and maximum ad set spending limits
Why an existing spending limit might contribute to delivery problems
How to check whether your ads are actually spending
How to fix apparent $0 spend by selecting the correct reporting dates
I'll also share a real example from an ad account where a new test appeared to have zero spend, but had actually spent $57 that day.
If you prefer watching me go through the settings inside Meta Ads Manager, here's the full video:
Watch the Meta Ads Not Spending tutorial:
Why Are My Meta Ads Not Spending?
First, there's an important difference between a campaign that isn't spending and an individual ad set that isn't receiving budget.
These are not necessarily the same problem.
If you're running a CBO campaign, you set your budget at the campaign level.
Meta then distributes that budget between the ad sets based on the delivery opportunities its system identifies.
So even if one ad set receives almost no spend, the overall campaign might be spending its budget normally.
That's how campaign budget optimization is designed to work.
The other situation is when the reporting dashboard shows zero spend.
Sometimes the campaign is actually delivering, but the dates you're viewing don't include the period when the ads started running.
Let's go through both situations.
Fix #1: Your CBO Campaign Is Not Spending on Certain Ad Sets
CBO stands for Campaign Budget Optimization.
You may also see Meta refer to this as Advantage+ campaign budget.
Instead of assigning a separate budget to every ad set, you're giving Meta one campaign-level budget and allowing the system to distribute the money.
Let's use a simple example.
You have a CBO campaign with a budget of $100 per day.
Inside that campaign, you have three ad sets:
Ad Set 1
Ad Set 2
Ad Set 3
Now imagine Ad Set 1 is performing really well.
It's generating conversions, so Meta starts allocating most of your budget to it.
You check your account and see that Ad Set 1 is taking around 90% of the spend.
Meanwhile, Ad Sets 2 and 3 are barely spending anything.
This can be completely normal.
But what if Ad Sets 2 and 3 are new creative tests?
You might want to give those tests some budget so you can actually collect performance data.
That's where ad set spending limits can be useful.
Why Meta Allocates Most of Your Budget to One Ad Set
Before changing anything, it's worth understanding why CBO behaves this way.
The main benefit of using CBO is that you don't have to manage the budget of every individual ad set manually.
Meta tries to allocate your campaign budget toward the ad sets where it expects better results.
For example, if Ad Set 1 is consistently generating demos while the other ad sets are not showing the same performance, Meta might give Ad Set 1 most of the budget.
And that's not necessarily a bad thing.
In fact, this is one of the reasons I like using CBO.
You can let Meta handle more of the budget allocation while you focus on creative testing, performance, and campaign optimization.
In many cases, I prefer trusting the system instead of constantly interfering with it.
However, there's one situation where I might want more control.
When I'm running new tests, I sometimes want to make sure they have an opportunity to collect enough data.
How to Set a Minimum Ad Set Spending Limit in Meta Ads
Let's go back to the $100 daily budget example.
You have a winning ad set that's taking most of the spend.
You also have a new copy test that you want to evaluate.
But Meta isn't allocating much budget to the new test.
You could set a minimum spending limit for that ad set.
For example, you might configure a minimum of 20% of your campaign budget.
With a $100 daily budget, that represents a target of approximately $20 per day for the new test.
The idea is to give your new ad set more opportunity to deliver and collect data.
Here's how I demonstrate the setup inside Meta Ads Manager.
Step 1: Open your CBO campaign
Go into Meta Ads Manager and select the campaign where you're using campaign budget optimization.
Make sure you're looking at the ad set level rather than the campaign or individual ad level.
Step 2: Select the ad set you want to test
Find the ad set that's receiving little or no budget.
Select it and click Edit.
Step 3: Find Budget and Schedule
Inside the ad set settings, scroll down until you find the Budget and Schedule section.
Look for the spending limit controls.
Depending on your current Ads Manager interface and campaign setup, the exact placement or wording might be different.
Step 4: Configure a minimum spending limit
Open the spending limit settings.
In the setup I demonstrate in the video, you can choose a percentage value or a dollar amount.
For example:
Campaign daily budget: $100
Minimum ad set spending target: 20%
Equivalent amount: $20
This gives Meta a budget allocation target for the selected ad set.
Keep in mind that a minimum limit isn't an unconditional guarantee of spending. Actual delivery still depends on the campaign's setup and available delivery opportunities.
Step 5: Save and publish
Once you've configured the limit, save your changes and publish them.
Then monitor the ad set to see whether it's receiving spend and generating useful results.
The point is not just to spend money.
It's to collect enough data to understand whether the new ad set is worth keeping.
For more on organizing your testing campaigns, check out my Meta Ads campaign structure guide.
How to Set a Maximum CBO Ad Set Spending Limit
The same spending limit settings can also work in the other direction.
Let's say you have three ad sets, and Ad Set 1 is taking 90% of the budget.
You want to reduce how much of the campaign budget that one ad set can consume.
Instead of setting a minimum for another ad set, you can set a maximum spending limit on the top spender.
For example, you could set its maximum to 50% of the campaign budget.
In a $100 daily budget campaign, that would represent a $50 target cap for the selected ad set.
This leaves more budget available for the other ad sets.
It doesn't guarantee they'll each receive an equal share, but it can prevent one ad set from taking almost everything.
This can be useful when you deliberately want to allocate more budget toward testing.
But here's my recommendation.
Don't add maximum spending limits just because Meta is allocating most of your budget to one ad set.
First, check whether that ad set is actually performing well.
If it's getting most of the conversions at an acceptable CPA, restricting it could work against what you're trying to achieve.
I would only add limits when there's a clear reason behind the decision.
Be Careful With Existing Spending Limits
There's another part of the CBO spending limit strategy that's worth mentioning.
Sometimes an existing spending limit can contribute to delivery issues rather than solving them.
This actually happened to me.
I duplicated an ad set for a new test.
The original ad set already had a 20% minimum spending rule applied.
When I duplicated it, that spending rule was carried over.
The new ad set wasn't spending.
After I removed the minimum spending limit, the ad set started delivering.
So if you have an ad set that's not spending, it's worth checking whether you accidentally copied an existing spending rule.
This is particularly important when you duplicate ad sets regularly for creative testing.
You might be copying settings without realizing it.
Before adding another spending limit, check what's already configured.
Sometimes removing a restriction is the better troubleshooting step.
This doesn't mean minimum limits always prevent spending. It's simply something I experienced in an ad account and a useful setting to inspect.
Should You Trust Meta's CBO Budget Allocation?
In general, yes.
I wouldn't recommend forcing spend on every new ad set.
The advantage of CBO is that Meta handles more of the budget distribution for you.
If you constantly override it with minimum and maximum limits, you might reduce that flexibility.
Let's say one ad set is already generating good results.
You don't necessarily want to take money away from it just to make sure your other tests spend the same amount.
Equal spending doesn't automatically mean better testing or better performance.
At the same time, a new ad set receiving little spend doesn't prove it's a bad creative.
It might simply not have enough delivery or conversion data yet.
That's why I look at the context.
If I want Meta to optimize toward the best opportunities, I normally let CBO allocate the budget.
If I specifically need to evaluate a new creative and it's not receiving enough spend, then I might consider setting a minimum limit.
And if I need more predictable spending for individual tests, I can also consider a separate ad set budget approach.
The important thing is to choose the budget structure based on what you're trying to achieve.
For a broader explanation of Meta Ads budgets, testing, and optimization, check out my Meta Ads training resources.
Fix #2: Your Meta Ads Show $0 Spend Because of the Date Range
Now let's look at the second issue.
This one is much simpler.
But it's also surprisingly easy to overlook, especially if you're just getting started with Facebook or Instagram ads.
Imagine you launch your first campaign today.
You open Meta Ads Manager to see how it's doing.
The campaign says Active.
Your ad sets are in the learning phase.
But the Amount Spent column shows $0.
So you start thinking something is wrong.
Maybe the campaign isn't delivering.
Maybe there's an issue with the budget.
Maybe you need to change the ads.
But before troubleshooting anything else, check the date range in the top-right corner of Ads Manager.
Why the Wrong Date Range Makes Your Ads Look Like They're Not Spending
Ads Manager lets you choose different reporting periods.
For example:
Today
Yesterday
Last 7 days
Last 30 days
This week
This month
Custom date range
Some presets can exclude the current day.
If your campaign launched today but your reporting period only includes previous days, you won't see today's spending in the dashboard.
This can make a perfectly active campaign appear to have no delivery.
The fix is simple.
Make sure the date range includes today.
This was the exact issue I demonstrated in my video.
Real Example: The Ad Looked Like It Spent $0, but It Had Spent $57
In the video, I opened a real creative testing campaign.
I had started two new ad sets that day.
When I selected the Last 7 Days reporting period, the new ad sets appeared to have zero spend.
They were in the learning phase, but the dashboard wasn't showing their current spending.
So I opened the date range dropdown.
I changed the reporting period to Today.
And suddenly the spending showed up.
One of the new copy tests had already spent $57 that day.
The campaign wasn't broken.
The ads weren't necessarily having a delivery issue.
I was simply looking at a reporting period that didn't include the activity I wanted to see.
That's why I always recommend checking the reporting dates before making changes to a campaign.
Especially when you're dealing with newly launched ads.
How to Fix the Date Range in Meta Ads Manager
Here's the quick process.
Step 1: Open Ads Manager
Go to the campaign or ad set that appears to have zero spend.
Step 2: Find the date range selector
Look in the top-right corner of the reporting interface.
Step 3: Select Today
If your campaign launched today, select Today or another date range that includes the current day.
Step 4: Check Amount Spent
Look at the spending data again.
If the campaign is already delivering, you should now be able to see its relevant spend data, subject to reporting updates.
Step 5: Check the delivery status
If you still see zero spend, look at the Delivery column and check whether the ads are active, in review, or showing another status.
The date range is only one possible reason for zero spending.
If the selected dates are correct and the ads genuinely aren't delivering, you'll need to investigate the actual delivery issue.
For beginners learning how to navigate Ads Manager, my Meta Ads campaign setup guide walks through the overall campaign setup process.
My Quick Meta Ads Not Spending Troubleshooting Checklist
Whenever you think your Meta Ads aren't spending, I would follow this order before making complicated changes.
1. Check the reporting dates
Does the selected date range include the day your ads started running?
If you launched them today, select Today.
Don't start changing budgets before confirming you're looking at the correct reporting data.
2. Check whether the entire campaign or just one ad set isn't spending
This is an important distinction.
If you're using CBO and one ad set is receiving nearly all the budget, that's different from a campaign that isn't delivering at all.
Look at the campaign-level spend first.
Then look at the individual ad sets.
3. Check your CBO budget allocation
Is one ad set taking 90% of the campaign budget?
Is it also generating most of your conversions?
If so, Meta might be allocating spend exactly where it expects the best results.
That doesn't automatically mean you need to interfere.
4. Check existing ad set spending limits
Open the Budget and Schedule settings.
See whether any minimum or maximum limits are already applied.
If you duplicated an ad set, check whether those settings were copied over.
5. Decide whether you really need a spending limit
If you have a new creative test that needs more delivery, a minimum spending limit may be useful.
If you need to reduce how much one ad set consumes, a maximum limit might make sense.
But only use these settings when you have a reason.
6. Check whether the ads are genuinely delivering
If the campaign still shows zero spend after checking the dates and budget settings, check its delivery status.
There may be another issue with the campaign that isn't covered by these two fixes.
The goal is to diagnose the actual problem before changing anything.
Common Questions About Meta Ads Not Spending
Why is my Facebook ad active but showing zero spend?
One possibility is that your Ads Manager reporting date range doesn't include the period when the ad started delivering.
Check whether Today is included.
If the dates are correct, inspect the delivery status to determine whether the ad is genuinely spending.
Why is my CBO campaign spending on only one ad set?
CBO automatically distributes campaign budget between ad sets.
If Meta expects one ad set to produce better results, it may allocate most of the budget there.
That's normal behavior, although it's worth monitoring the actual performance.
Can I force a CBO ad set to spend more?
You can use minimum ad set spending limits where supported.
For example, you can configure a minimum allocation target for a new creative test.
However, these limits are not a guarantee that the ad set will deliver or generate conversions.
Should I use minimum spending limits on every new ad set?
I wouldn't.
I normally prefer letting Meta allocate the budget automatically.
I'd use limits when I have a specific testing objective and need more control.
Can a spending limit stop an ad set from spending?
Spending limits can affect delivery and budget allocation.
In my own account, I had a duplicated ad set with a copied 20% minimum spending rule that didn't start spending until I removed the rule.
That's why checking existing settings is part of my troubleshooting process.
Final Thoughts: Don't Overcomplicate Meta Ads Spending Issues
If your Meta Ads are not spending, start with the simple things.
Check the date range.
Check the actual campaign spending.
Check whether your CBO budget is going to another ad set.
And check whether you have existing spending limits applied.
Sometimes the solution is as simple as switching your reporting period to Today.
Other times, you might want to adjust your CBO spending limits to give new tests more opportunity to deliver.
But I wouldn't recommend adding restrictions everywhere.
One of the biggest advantages of CBO is that Meta can allocate more budget toward the ad sets it expects to perform better.
Let it do that when it makes sense.
Use spending limits when you have a specific reason.
And make sure you're actually looking at the correct data before making campaign changes.
If you want to see the exact settings and the real ad account example, watch my full video below.
Watch: Meta Ads Not Spending? Check These 2 Settings
Want More Practical Meta Ads Strategies?
If you're running Meta Ads for ecommerce, lead generation, a service business, or your own community, I share more practical tutorials inside Meta Ads Systems.
The goal is to understand what's happening in your campaigns, what to test, and when to make changes instead of guessing.
You can learn more about the training and community on my Meta Ads Systems page.
Or join the Skool community directly:
https://www.skool.com/advertising
I'll see you inside!
Máté
