CPP
What it costs to reach a thousand different people, however many times each one sees you.
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
| Lever | What you do | Expect | How long | Watch out for |
|---|---|---|---|---|
| Fast Widen the audience | Loosen interest and lookalike targeting so there are more people available to reach | CPP down as frequency falls | 3–7 days | A 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 sets | CPP falls back toward the auction price | 1 week | Capping 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 ignored | Reach widens at the same spend | 2–4 weeks | Production 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 fit | Blended CPP down | 1 quarter | Cheap 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.
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.
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.
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.
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.
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.
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
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.
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.
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 →