Short answer: a high CPM is a price, not a diagnosis. It reads high for one of three reasons: you are buying valuable people, your setup has boxed the auction into an expensive corner, or you keep launching new campaigns and pay the newcomer price every time. Only the last two are problems. Read cost per purchase first and CPM second, then use the checks below to find out which one you have.
I work on Everix, and three advertisers brought me this complaint from three directions. One ran purchase-optimized campaigns to a huge audience, watched CPM climb, and wanted to loosen targeting to bring it down. Another paid seventy to eighty dollars per thousand impressions and assumed the creative was the problem. A third launched a fresh campaign for every product every day. All three were treating CPM as a dial to turn. It is a thermometer.
CPM is the price of the specific people Meta is currently bidding on for you. Optimize for purchases and the auction hunts for likely buyers, a small and heavily contested slice. Optimize for clicks or views and it hunts for people who click and watch, who are cheap because everyone can have them. A high CPM on a purchase campaign is often the system doing its job; a very low CPM is often the receipt for an audience that will never buy.
Reason 1: you are buying valuable people
Purchase optimization, a competitive category, a strong signal: the auction charges more per thousand because each thousand contains more buyers. If cost per purchase is acceptable, this CPM is not a problem, and every lever that lowers it will quietly swap your buyers for spectators. The move here is to leave it alone.
Reason 2: your setup boxed you into an expensive corner
An audience narrowed to a sliver, a brand-new dataset asked to find purchasers with no purchase history to learn from, or delivery concentrated in the most expensive placement and country. The pool is too small to price efficiently, and that is worth fixing, not because the number offends you, but because you are overpaying for it.
Split before you judge. The account-level CPM is an average that hides the diagnosis. Break it down by placement and by country in Ads Manager. A blended $75 CPM often turns out to be one expensive placement or one premium market dragging the average while the rest is priced normally. Check each slice's cost per result before cutting: the priciest placement is sometimes also the one producing the purchases.
Reason 3: you pay the newcomer price, over and over
Every new campaign starts with no delivery history, and Meta charges the uncertainty to you until it has enough results to predict you. One merchant sent me a week of his account: 181 campaigns, total reach 2,846 accounts, frequency 1.09, $2.24 per link click, 16 add-to-carts at $17.10 each. That is about sixteen people reached per campaign in a week. Meta's own threshold for leaving the learning phase is roughly fifty optimization events in a week on a stable ad set, and an ad set replaced tomorrow never gets near it. Its bid is always a guess, and a guess is expensive.
The signal was already in his data. One product appeared three times across the week, and each of those campaigns produced add-to-carts, with checkouts started. Every other item produced nothing repeatable. It never got enough budget to prove itself, because the budget was scattered across everything else.
A sanity check before you blame the auction: divide the week's reach by the number of campaigns you ran. If the answer is in the dozens, the auction is not overcharging you. You are buying the first, most expensive impressions of a hundred different strangers.
The check that tells them apart
- Look at an ad set you did not touch for a week. If its CPM climbed too, the auction got more expensive for everyone (a seasonal ramp, more competition) and you are paying the market price. If only your new campaigns are expensive, it is the newcomer price.
- Split the expensive ones by placement and country. One slice carrying the average points at an expensive corner.
- Read CPM against click-through rate on the same ad set over several days. CPM up with click-through flat is an auction story. CPM flat with click-through falling is the creative wearing out, which calls for new creative, not budget changes.
The fix for each
- Valuable people: leave the CPM alone and judge cost per purchase against your target.
- Expensive corner: widen the audience and let delivery do the narrowing; give a new dataset an event it can learn from, such as add to cart, before asking for purchases; let placements run before pruning them.
- Newcomer price: stop launching daily. One campaign, one ad set, with three or four genuinely different angles in it, and a budget that can buy roughly fifty results a week at your current cost per result. At $17 per add-to-cart, fifty a week is about $850, roughly $120 a day. If that is out of reach, keep the same shape at a smaller scale: one ad set with all of the budget, judged over two weeks instead of one.
- In every case, do not switch the objective to traffic or engagement to enjoy a lower CPM. The reading will drop, the people arriving will click generously, and the purchases column will show what those impressions were worth.
How Everix holds this
The parts a tool can enforce, Everix enforces. It reads cost per result before CPM, splits spend by country and placement, and flags the slice that burns money without results. One ad set holds at most eight live creatives; when you add more, Everix shows how many that daily budget can realistically test, and adding one past eight retires the weakest non-winner instead of thinning the spend. Cuts to losing spend apply on their own with an audit trail. Anything that raises spend waits for your approval, unless you have switched that lane to autopilot yourself, and then only inside the monthly budget you approved.