Why are ad costs so unpredictable on Meta?
Short answer
Because each impression is priced by a live auction. Costs move with competition, audience size, season and how the platform rates your ad.
Your cost depends on what other advertisers are willing to pay for the same people at the same moment. That changes daily and swings hard around festivals and sales.
Your own ad also affects price. Ads the platform predicts will perform well can win auctions more cheaply, so a tired creative can quietly make the same audience cost more.
This is why you often only know your real CPM after the money is spent. Read how the Meta ads auction works.