Why Is Meta Ads CPM So High? 6 Causes to Check

Your CPM jumped, or it was never low to begin with, and now every number downstream looks worse. Before you touch the budget, it helps to know what CPM actually measures and what moves it.

The short answer

CPM is what you pay for 1,000 impressions. It rises when more advertisers want the same people, and it rises when your ad gives Meta little reason to expect the person will act on it. You mostly can't control the first. You can control the second, and that is where I start.

What's actually going on

Every time someone opens Facebook or Instagram, Meta runs an auction for that impression. The winner isn't simply the highest bid. Meta weighs your bid, how likely this person is to take the action you're optimizing for (the estimated action rate), and the quality of the ad experience. An ad people scroll past has a low estimated action rate, so it has to pay more to win the same impression. I cover that mechanism in What Is Estimated Action Rate on Meta Ads.

CPM also isn't a score. It's one input to the number you actually care about, cost per purchase:

Cost per purchase = CPM ÷ (1,000 × link CTR × conversion rate)

Here is what that does with illustrative numbers (not benchmarks):

ScenarioCPMLink CTRConversion rateCost per purchase
Baseline$301%2%$150
CPM cut by a third$201%2%$100
CTR doubled$302%2%$75

A cheaper CPM helps. Doubling CTR helps more. A high CPM with strong click-through and conversion is often a healthy account, and a low CPM that nobody clicks is not.

What to check first

Six causes, in the order I would check them. Open Ads Manager, compare the period before the jump with the period after, and add columns for CPM, link CTR, frequency and reach.

  1. Seasonal and category competition. Q4, the weeks around Black Friday and Cyber Monday, and the peaks in your own category push CPMs up for everyone. How to tell: CPM rose across every campaign at the same time while your creative and audiences stayed the same. If that's you, plan around it with margin and expectations, not creative changes.
  2. Your ads earn low engagement. How to tell: CPM is up while link CTR is flat or down on the same ads, and the ad relevance diagnostics (quality, engagement rate and conversion rate rankings, where Meta shows them) sit below average.
  3. Creative fatigue. How to tell: frequency is climbing, CTR is falling and CPM is rising on ads that used to perform.
  4. A small or crowded audience. Heavy exclusions, stacked interests, or several ad sets chasing overlapping people mean you keep bidding for the same few. How to tell: low reach for your spend and frequency rising faster than you would expect.
  5. Too many ad sets splitting the budget. Thin budgets give each ad set little data, and delivery gets erratic. How to tell: CPM swings widely between ad sets with similar audiences. I break down structure by spend in Meta Ads Structure by Spend Level.
  6. Optimization event and placements. Optimizing for purchases asks Meta to find a smaller, higher-intent group than optimizing for clicks, so CPMs are usually higher by design. Restricting placements can also push CPM up. How to tell: break CPM down by placement and compare it against what you optimized for.

The one fix to start with

Of the six, copy is the cheapest lever and the one that moves fastest, because copy is where engagement is earned, and engagement feeds the estimated action rate.

The framework I start with is awareness stages, which builds on Eugene Schwartz's stages of awareness. Before I write a hook, I decide where the person already is:

  • Symptom-aware. She feels something is off but hasn't named the problem yet.
  • Problem-aware. She knows the problem but isn't looking for a solution.
  • Solution-aware. She knows solutions exist and is comparing approaches.
  • Product-aware. She knows you and needs a reason to buy now.

A common mistake is writing product-aware copy (the offer, the discount, the feature list) for a cold audience that isn't there yet. The ad gets scrolled past, engagement stays low, and you pay more to be shown. When I launched Myndr, I wrote for the symptom-aware stage: no pitch, just her own words reflected back, like "I can't remember words I've used my whole life." Those ads are pulling a 10% CTR. That's an early number from a new brand, so treat it as a signal, not a benchmark.

That's the short version. I go a step further in How to Lower CPM on Meta Ads.

The rest of the fix (and why it's a conversation)

Lowering CPM properly means working out which of the six causes is yours, and they can pull in opposite directions. Here is some of what I would work through with you:

  • Reading engagement and frequency to tell fatigue from plain competition
  • The hook library for each awareness stage, and which stage belongs in prospecting versus remarketing
  • Consolidating ad sets without resetting what already works
  • Placement and optimization-event decisions at your spend level
  • Knowing when a high CPM is fine and should be left alone

That list changes for every store, which is why I would rather look at yours.

Want to know which of these is driving your CPM? Book a 30-minute call and bring your ad account.

Where this has worked

At Lina Lennox, creative built around two core brand stories and tested every two weeks was part of a 60-day engagement that grew sales 100% and cut ad cost per sale 30%. At Myndr, I applied the same thinking from the first ad.

Book a call

This post gives you the first move. The right next ones depend on your account. In 30 minutes I'll look at your ad account and Shopify numbers and give you a short list of priorities, whether or not we work together. If you want to see how I run accounts first, start with Shopify Meta ads.

Book a 30-minute call

More from the blog

All posts

Tell me what your store is doing now. I'll tell you what I'd fix first.

A 30-minute call. Bring your ad account and Shopify numbers if you can. You leave with a short list of priorities, whether or not we work together.