Summary
You shouldn’t judge how campaign budget optimization distributes your budget based on the average cost per optimization event for each ad set and how much we spent on it. You should judge it based on the total number of results for your campaign and the average cost per optimization event at the campaign level.
Context
When viewing the results of a campaign that used campaign budget optimization and the lowest cost bid strategy, you may see some numbers that are different from what you expected. This article explains what these results actually indicate, and why you shouldn’t worry that campaign budget optimization isn’t working properly.

Campaign budget optimization and the lowest cost bid strategy help you get the lowest cost per optimization event for your campaign overall, not for any given ad set.

The lowest cost bid strategy always goes after the lowestcost optimization events available. However, over time, as the inexpensive ones are exhausted, we have to start spending on more expensive optimization events to continue spending your budget. (These “more expensive optimization events” are still the lowestcost optimization events available at that time.)

The amount of optimization events and ratio of “inexpensive” to “expensive” (these descriptions are relative to the type of campaign you’re running) optimization events varies from ad set to ad set. Some may have a few very inexpensive optimization events and many very expensive optimization events. Others may have a lot of moderately expensive optimization events.
Example
Here’s a simplified example that shows how campaign budget optimization spends your budget and why the reporting on the amount spent on each ad set might be confusing at first.
Important: Keep in mind that you won’t have information on things like the total number of opportunities for each ad set or how much each result costs when actually running and analyzing reports on your campaigns.
Say there are 15 opportunities to show your ad:

4 for ad set A

6 for ad set B

5 for ad set C
The opportunities for A cost $5 each. The opportunities for B cost $2 each. 3 opportunities for C cost $1, 1 costs $7 and 1 costs $8. You have a campaign budget of $30.
Campaign budget optimization would get you:

12 optimization events for $30

An average cost per optimization of $2.50 for your campaign
Here’s how those results would break down at the ad set level:

A: 3 optimization events for $5 each ($15 of total spend)

B: 6 optimization events for $2 each ($12 of total spend)

C: 3 optimization events for $1 each ($3 of total spend)
At this point, since you wouldn’t know about the other, more expensive opportunities our system avoided, you might wonder: Why did you spend so much on the ad set with the highest average cost per optimization event and so little on the ad set with the lowest? You might even be tempted to turn off ad set A or campaign budget optimization itself.
Here’s why turning off ad set A isn’t a good idea. Given the same set of opportunities but with ad set A turned off, you’d get:

11 optimization events for $30

An average cost per optimization event of $2.73 for your campaign
Here’s how those results would break down at the ad set level:

A: No results

B: 6 optimization events for $2 each ($12 of total spend)

C: 5 optimization events for an average of $3.60 each ($18 of total spend)
This shows how, by taking the optimization events available to A, we avoided having to take the even more expensive optimization events available to C. C has inexpensive initial optimization events available, but it quickly gets much more expensive to spend money on it. A has more expensive initial optimization events, but its cost per optimization event is more stable. This makes A a better choice for budget distribution over time, which means we’ll spend more money on it overall.
Here’s why turning off campaign budget optimization altogether isn’t a good idea either. For the sake of simplicity, let’s assume you divided your $30 campaign budget evenly between your three ad sets, giving each one a $10 budget. Here are the results that would produce for the same set of opportunities:

11 optimization events for $30

An average cost per optimization event $2.73 for your campaign
Here’s how those results would break down at the ad set level:

A: 2 optimization events for $5 each ($10 of total spend)

B: 5 optimization events for $2 each ($10 of total spend)

C: 4 optimization events for an average cost of $2.50 each ($10 of total spend)