Skip to main content

CPP

What it costs to reach a thousand different people, however many times each one sees you.

60 second readAppears on: Meta Overview, Campaigns, Top Ads

What it means​

CPP is your Meta spend divided by the number of people reached, per thousand of them. Spend €3,000 to reach 250,000 people and CPP is €12.

The word doing the work is people. Reach counts humans once each, no matter how many times your ad landed in front of them.

Show the math​

Formula and a worked example

Spend is everything Meta charged you in the period.

Reach is how many different people saw your ads at least once — each person counted once.

Worked example. You spend €3,000 and reach 250,000 people, so CPP = 3,000 ÷ 250,000 × 1,000 = €12. Now spend the same €3,000 but reach only 125,000 people because the same audience saw you twice as often — CPP doubles to €24, with the auction price unchanged and nothing new bought.

Up is usually bad, but read it next to how often you're repeating yourself before you act.

It answers the question​

What does audience cost me? CPP prices the people; how many times each of them saw you is a separate question, and it's the one that usually explains a rise.

Why it matters​

CPP is the number that tells you whether you're buying new eyeballs or repeat views of the same ones.

That's the difference from a per-impression price. An impression is a showing; a person is a person. The two are linked by how often you repeat yourself:

CPP ≈ cost per 1,000 impressions × FrequencyFrequencyShows whether you are reaching new people or hitting the same ones again. If it rises while clicks fall, refresh the creativeUnder 2 is healthy

So when CPP climbs while the auction is flat, you haven't been outbid — you've saturated your audience and you're paying to show the same people your ad a third and fourth time. That is the single most common reason a Meta account gets quietly more expensive without anything in the auction changing.

What good looks like​

There's no published benchmark, because CPP is a price set by your audience and your country, not by your skill. Reaching a broad audience in a cheap market costs a fraction of reaching a narrow, high-income one, and neither number says who is doing better.

Judge it against your own trend, and against the audience you targeted. A rising CPP inside a fixed audience is the expected shape of saturation. A rising CPP on a fresh, broad audience is an auction story instead.

How to improve it​

LeverWhat you doExpectHow longWatch out for
Fast
Widen the audience
Loosen interest and lookalike targeting so there are more people available to reachCPP down as frequency falls3–7 daysA broader audience is a colder one. Reach gets cheaper while the share of it that buys usually drops, so watch what the traffic does after it arrives.
Fast
Cap how often you repeat
Set a frequency cap, or spread the same budget over more ad setsCPP falls back toward the auction price1 weekCapping repeats can cut conversions too — some buyers genuinely need the third viewing. Cap gradually rather than all at once.
Slow
Refresh the creative
New hooks and formats so the audience isn't being shown a message it has already ignoredReach widens at the same spend2–4 weeksProduction time and cost, and new creative resets learning — expect a worse week before a better one.
Slow
Add a cheaper market
Extend delivery into countries where reach costs less for the same product fitBlended CPP down1 quarterCheap reach in the wrong market is the easiest way to make this number look good while sales stay flat. Check revenue per country, not just CPP.

Every lever costs something somewhere. The last column is the one to read twice.

Read it with​

CPP prices the people. How often you showed up in front of them is the number sitting next to it.

CPP and Frequency, month over month on Meta Overview
Frequency down
Frequency up
CPP down

Fresh audience, cheaper

You're reaching more different people and repeating yourself less. Either the audience widened or new creative found new pockets. This is the cheap growth window.

→ Add budget — you have room to grow before saturation bites.

Cheap because you're repeating

Reach got cheaper while you showed the same people more often. Usually a delivery shift toward a small, responsive pocket — fine short-term, but it runs out.

→ Check Reach is still growing, not just impressions.
CPP up

Paying more for the same people

The classic saturation shape. Your audience is used up and each extra euro buys another showing to someone who has already seen you. Widening beats bidding here.

→ Refresh creative or widen targeting before raising budget.

The auction got dearer

You're repeating yourself less and still paying more per person, so the price of attention itself rose. Nothing in your account caused it and cutting creative won't fix it.

→ Check whether a competitor or a season moved the price, then set a ceiling.
CPP + ReachReachIf impressions keep climbing while this flattens, the same people are seeing the ad again. Widen the targeting or change the ad before adding budget

Spend is one multiplied by the other, so together they explain any budget change. Spend up with Reach flat means you paid more for the same audience. Spend up with CPP flat means you genuinely bought more people.

CPP + FrequencyFrequencyShows whether you are reaching new people or hitting the same ones again. If it rises while clicks fall, refresh the creativeUnder 2 is healthy

This pair separates the two reasons reach gets expensive. Frequency rising alongside CPP is saturation, and the fix is a wider audience or new creative. Frequency flat while CPP rises is the auction, and the fix is a bid ceiling.

Common misreads​

“CPP and cost per 1,000 impressions are the same number.”

They're only the same when every person sees your ad exactly once. Impressions count showings; reach counts people. Show 100,000 people your ad three times and that's 300,000 impressions — the per-impression price looks a third as expensive as what the audience actually cost you.

“My CPP went up, so I'm overbidding.”

Check FrequencyFrequencyShows whether you are reaching new people or hitting the same ones again. If it rises while clicks fall, refresh the creativeUnder 2 is healthy first. If it rose too, the auction may not have moved at all — you've run out of new people and are paying to repeat yourself.

“The lowest CPP wins.”

Cheap reach is usually broad, cold reach. Reaching a thousand uninterested people for €4 is worse value than a thousand in-market ones for €20. CPP prices the audience; it says nothing about whether that audience buys.

Also called​

Cost per 1,000 people reached · cost per thousand people · Meta's cpp field

See yoursYour cost per thousand people reached for the last 30 days, next to Reach and Frequency.

Open Meta Overview →