Back to the blog
Meta Ads 3 min read

Why Meta doesn't track all your sales (and what it's costing you)

Your store shows 70 sales and Meta reports 42. It's not Meta's mistake or yours: it's the browser pixel losing events. Here's what's happening and how to fix it.

You open Shopify or Tiendanube and see 70 sales. You open Ads Manager and Meta shows 42. Neither one is lying. What's happening is that 28 of those sales never reached Meta, and that's costing you money every single day.

The pixel lives somewhere fragile

Meta's classic pixel is a small piece of code that runs inside your customer's browser. When someone buys, the browser has to run that code and tell Meta. If the browser doesn't run it, the event doesn't exist.

And there are a lot of reasons a browser won't run it.

The four biggest leaks

1. Ad blockers

Between 25% and 40% of users in LATAM have some kind of blocker turned on, especially on desktop. A blocker doesn't block "ads": it blocks tracking scripts. Meta's is first on the list.

2. iOS and cross-app tracking

Since iOS 14.5, if your customer buys from Instagram's in-app browser on an iPhone and didn't grant tracking permission, most of the signal gets cut. If you sell clothing, beauty or accessories, this is probably your biggest hole: it's where your audience is.

3. Cookies that delete themselves

Safari deletes tracking cookies after 7 days. Chrome is heading the same way. If someone sees your ad today and buys three weeks from now — normal for a high-ticket item — to Meta that sale came out of nowhere.

4. Accelerated checkouts

One-click payments skip the traditional checkout flow. Fewer steps for the customer, fewer events for your pixel.

Meta never shows you a banner that says "I lost 28 of your sales." It just optimizes with half the information and charges you more for every purchase. You see your CPA climb and can't figure out why, because you didn't change anything in your campaigns.

What losing events really does to you

The real problem isn't the report. It's that the algorithm learns from those events. Every purchase that reaches Meta teaches it what your buyer looks like. If only half of them get there:

  • Your lookalike audiences are built from an incomplete sample and perform worse
  • The algorithm takes longer to exit the learning phase
  • Retargeting reaches fewer people than it should
  • Your CPA rises without you touching a single campaign
  • You turn off ads that were actually working

That last one is the most expensive. If an ad drove 12 sales and Meta only recorded 5, you're going to pause it as "unprofitable." You're shutting down what works.

How to fix it: send the event from the server

The fix isn't to fight browsers. It's to stop depending on them.

With server-side tracking, the purchase notification doesn't leave from your customer's browser: it leaves from the server. A blocker can kill a script in the browser. It can't kill a conversation between two servers. That's why the events that used to get lost now arrive.

On top of that, the event travels more complete — with identity data that raises your EMQ, Meta's match quality score. Better EMQ means better optimization and a lower cost per result.

The Escalafy Pixel does exactly this: it recovers events on the server side and sends them, complete, to Meta, Google, TikTok and Klaviyo. But it also does something no other tracking tool does — since Escalafy already knows your product costs, your shipping, your fees and your installments, it shows you the real profit behind every recovered sale. Not just how much you sold: how much you kept.

The bottom line

If the gap between what your store shows and what Meta shows is bigger than 15%, you don't have a reporting problem. You have an optimization problem that's making you overpay for every sale, every day.

What Escalafy does for your store

Connect your channels and see the truth behind your numbers. No Excel, in real time.

Stop operating blind.Real results, in real time.

Connect in minutes. Escalafy tells you if you're making or losing money — today, not at the end of the month.

7-day trial · No credit card · Cancel anytime