CPM is what being seen costs, CPC is what a click costs, CPA is what the action you care about costs, and ROAS is the revenue attributed to the campaign for every euro of spend. The first three measure cost and only the fourth looks at the other side of the till, and none of the four is profit.
What each one divides, and what it is for
All four come out of the same five numbers any campaign dashboard carries: spend, impressions, clicks, conversions and attributed revenue. The only thing that changes from one acronym to the next is what gets divided by what, and that choice decides which question the result answers.
| Metric | The division | What it measures | What it is for |
|---|---|---|---|
| CPM | Spend over impressions, times a thousand | What the space costs | Spotting an auction that got expensive |
| CPC | Spend over clicks | What attention costs | Diagnosing creative and targeting |
| CPA | Spend over conversions | What the result costs | Deciding budget |
| ROAS | Attributed revenue over spend | Revenue per euro invested | Comparing against your margin |
| CTR | Clicks over impressions | Whether the ad interests anyone | Explaining a CPC that moved |
| Conversion rate | Conversions over clicks | Whether the page keeps the promise | Explaining a CPA that blew up |
The first four are the ones that come up in the conversation with the client. The last two almost never do, and they are exactly the ones that explain why the others moved. That asymmetry is why so many results meetings end up describing the problem rather than solving it: somebody shows a CPA that has doubled and nobody has the two numbers on the table that say where it broke.
One piece of vocabulary before going on. Impressions are not people, they are times the ad was shown; the people are the reach. A CPM worked out over impressions and then compared in your head against a reach figure gives a badly wrong intuition about how many humans you are actually in front of, and that confusion travels all the way into the report.
The chain that explains any CPA
An ad goes through three steps and each metric watches one of them. First it gets shown, and CPM rules there. Then somebody comes in, and CTR rules there, with CPC as the consequence. Finally somebody does the thing you wanted, and conversion rate rules there, which is what pushes CPA. When a CPA jumps, the diagnosis is reading that chain backwards.
If the CPC is unchanged and the CPA has risen, the problem lives after the click. People arrive and do not do what you expected: the landing page promises something other than the ad, the form asks for more than anybody is willing to give at that moment, or the checkout broke for a week and nobody noticed. Raising the bid there fixes nothing, it buys the same problem at a higher price.
If the CPC has risen and the CTR has fallen, the problem is the piece or the audience. The creative has worn out, or the targeting has narrowed so far that the same people keep seeing the same ad. And if the CPC has risen with the CTR intact, it is not yours at all: the CPM went up for everybody because more advertisers are bidding for that space, which happens every year in the big retail weeks.
The order matters because each branch leads to completely different work. One is rewriting a landing page, another is producing new creative, and the third is accepting a higher cost or moving the calendar. Mixing them up costs weeks.
ROAS is revenue, not profit
This is where client relationships break, and it is almost always in month three. ROAS divides the revenue the platform attributes to the campaign by what you spent on it. It does not subtract the cost of the goods, or shipping, or returns, or your own time. It is revenue per euro invested, and saying so out loud the first time you show the number is what prevents the awkward conversation later.
Break even is not a ROAS of one, it is one divided by your gross margin. At a 40 % margin every euro of revenue leaves 40 cents, so you need 2.5 times your spend back in revenue just to stand still. At a 20 % margin you need five times. That is why the ROAS another company brags about says nothing about yours: they do not sell the same thing, they do not buy it at the same price and they do not deliver it the same way.
There is also a tax mismatch almost nobody corrects. Platforms bill spend net of VAT, the Spanish value added tax, while the revenue they attribute usually arrives with the tax included, because that is how the shop recorded it. Until you put both figures on the same basis, the ROAS reads a little better than it is, and on a thin margin that little decides which side of break even you are on.
One last thing ROAS takes credit for without earning it: demand that already existed. A brand people search for by name converts more cheaply, and those sales end up counted in the campaign even though they would have happened anyway. That is not a reason to stop measuring it, it is a reason not to read it as proof of cause.
Why the platform and your analytics never agree
Both are counting, and they are counting different things. The platform attributes inside its own window, credits itself with conversions from people who saw the ad without clicking it, and can follow the same person from phone to laptop because they are signed in. Your web analytics attributes by session and usually by click, and if the person comes back three days later by typing the brand name, direct traffic takes the sale.
A wide gap between the two is normal, and the moment two numbers are on the table somebody asks which one is right. The operational answer is not to pick the flattering one. It is to decide in advance which source governs which decision, write it into the report and not change it mid quarter. The platform is the right source for optimising inside itself, because it is what the algorithm sees; your analytics is the right source for comparing channels against each other, because it is the only one measuring them with the same ruler. The tagging that makes the second one possible is covered in the UTM and attribution guide.
Everything in this article happens in one place in GoFeed.
Try it freeHow to present the four without an argument later
An ad report that survives questions carries four things around the numbers, and none of them costs any time.
- The attribution window and the period, in writing. Changing the window moves conversions and revenue without the campaign doing anything different, so comparing two months on different windows compares nothing.
- The source of every figure. If the CPA comes from the platform and the revenue comes from the shop, say so on the same page as the table.
- ROAS next to the margin. The client's margin does not have to be printed in the report; the conclusion just has to be worked out against it rather than against a round number.
- Your own history as the benchmark. A CPM or a CPC is only expensive or cheap next to your own from previous months, in the same country and the same sector. It is the one comparison where the variables actually resemble each other.
What does not belong in a report is a reference figure lifted from a study of another market. One sector's CPM is not another's, December's is not February's, and one country's is not its neighbour's. Putting one of those beside your own only guarantees that the next meeting is about somebody else's table. How the rest of the document is ordered is in the guide to reading an ad report.
Where the numbers come from every month
The six divisions are not difficult, but doing them by hand across five platforms and several brands is half a morning, and they get done badly on exactly the day everyone is in a hurry. The CPM, CPC and ROAS calculator takes the five numbers off the dashboard and returns the four acronyms plus the CTR and the conversion rate, which are the ones you will need the second somebody asks why.
Collecting those five numbers is work of its own when they live in five places. The ads dashboard reads Meta, Google, LinkedIn, TikTok and Pinterest and leaves them in one table, with their spend, impressions, clicks and conversions, so the client report comes out of a single place. Meta's hierarchy can also be built from there; campaigns on Google, LinkedIn, TikTok and Pinterest are created on their own platform, and a Google campaign is never created or renamed outside Google Ads.
Every ad account hangs off a brand, so one client's investment never mixes with another's and nobody has to remember which tab they were in. Any profile can have it, whether you run clients, your own brands or your company's marketing, from the second tier of its plan upwards; the detail of the module is on the ads page.