Skip to content

Para entender

Why your real CPA is not the one you see in Meta

Meta tells you each sale cost you €4.20. Your end-of-month reconciliation says something else. Neither of them is lying: they are counting different things.

When Meta reports a cost per result, it counts the results it has been able to observe. And what it observes ends the moment someone leaves Instagram and lands on your purchase page.

If you sold on your own website with the pixel properly installed, the chain would hold. But in live events that is almost never the case:

  • The purchase happens on your ticketing provider, which is another domain.
  • Some of the tickets are sold at the box office, on the day of the event.
  • Others are groups, reservations or tickets handled by your promoters team.
  • And many people discover the event on their phone and buy days later from somewhere else.

In all those cases the sale exists and you get paid, but Meta never finds out.

The consequence: you optimize toward what looks like a sale

Section titled “The consequence: you optimize toward what looks like a sale”

An algorithm learns from what it is shown. If the only things Meta can measure are clicks, visits and initiated checkouts, that is what it optimizes for: it looks for people likely to tap, not likely to buy.

That is why you see campaigns with an excellent cost per result that do not show up in your revenue, and apparently expensive campaigns that match your best sales weeks. It is not bad luck: you were keeping score on the wrong scoreboard.

What changes when you send your sales back

Section titled “What changes when you send your sales back”

Nevent knows what Meta does not: who has actually bought, because the sale is in your ticketing provider. With the Meta account connected, Nevent sends it every eligible sale, whoever sells the ticket, so that Meta can check which ones come from its ads.

Two things change from there:

You see the real split. Sales stop piling up in the campaigns that generate clicks and spread toward the ones that generate buyers. That split is the information you need to decide where to put your budget.

Meta learns from sales. By receiving real purchases, it can optimize toward people who look like your buyers and not like your browsers.

It is a change in the quality of the data, not a trick to make the numbers look nicer.

It is worth knowing where the limits are, so you do not misread the screen:

  • Meta only attributes what it recognizes. If all you have of a buyer is their email, it recognizes them less often than if you have their phone, name and city. Having the ticketing provider connected, instead of uploading loose CSVs, directly improves how much it can attribute.
  • Not all your sales are its sales. The ones you sold by email or at the box office are sent all the same, Meta checks they did not come from its ads and does not attribute them. That is the right behavior.
  • The numbers move for a few days. There is a window of up to 7 days from the click, and Meta Ads Manager takes a little longer still to settle.
  • Today it is only Meta. TikTok Ads and Google Ads can be connected and receive audiences, but they do not receive your sales back yet.

Let a couple of weeks go by and compare the return per campaign on the Conversions screen with the one Meta Ads Manager shows you.

The difference between the two numbers is not an error: it is exactly the part of your business that Meta was not seeing. And it is usually concentrated in a few campaigns, which are the ones that deserve your budget.

Last updated: