Kamran Arshad
Field Notes  /  Meta Pixel

A silent pixel is easy. A lying pixel takes your budget with it.

A pixel that stops reporting gets noticed within days, because conversions fall to zero and someone panics. A pixel that reports too much can run for months, because inflated ROAS looks like success — and Meta responds by sending more budget toward the campaigns producing it.

The only reliable test is reconciliation: does the purchase count in Events Manager correspond to real orders in your store?

Almost every troubleshooting article treats missing conversions as the problem. In practice the more damaging failure runs the other way, because it does not look like a failure. It looks like your best campaign.

Why over-reporting is worse than under-reporting

Under-reporting costs you optimisation quality. Meta sees fewer conversions than really happened, so it learns more slowly and you probably under-invest in something that works. Bad, but self-limiting.

Over-reporting is different, because it creates a feedback loop. Inflated conversions produce inflated ROAS. Inflated ROAS makes a campaign look like a winner. Winners get more budget. More budget produces more phantom conversions.

The error recruits spend toward itself. That is why it can consume a third of a daily budget before anyone questions it — every signal available inside Ads Manager says the campaign is working.

Where these figures come from

One Shopify account I took over and audited — a skincare brand running Meta ads at roughly PKR 100,000 per day. The client asked me not to name them, so I have not. The numbers are as they stood in the account during that engagement.

This is one account, not a study. I am giving you the mechanism and one worked example, not an industry statistic. And I am not stating precise engagement dates here because I would rather omit them than approximate them.

Six checks, cheapest first

01

Reconcile a settled week

The single highest-value check, and most accounts have never had it done. Take one week that ended at least two weeks ago. Compare Events Manager purchases against your store’s order count for the same period and timezone.

Events Manager should approach your order count. It should never exceed it — Events Manager counts purchase events, and a purchase event without an order is by definition not a purchase.

VerdictEvents Manager higher than store orders means phantom or duplicate events. Nothing about attribution windows explains this away.
02

Count your pixels

On the account behind this article, the cause was a second pixel installed by a third-party app, reporting purchases with no corresponding orders. Check Settings → Customer events, the Facebook & Instagram sales channel, and theme.liquid. More than one pixel ID is your first suspect — see the article on multiple pixels.

VerdictTwo pixel IDs and a discrepancy in the same account is rarely a coincidence.
03

Check whether the purchase event fires on a refresh

Complete a real order, land on the confirmation page, then refresh it. Watch the Network tab. If a second purchase event fires, every customer who refreshes, bookmarks or revisits that page is inflating your numbers. Without a unique event_id or order identifier, Meta has no way to know it is the same sale.

VerdictA purchase event on refresh means your counts drift upward with traffic, not with sales.
04

Check what page the purchase event is bound to

A purchase event should fire on order completion and nowhere else. Misconfigured apps sometimes bind it to add-to-cart, initiate-checkout, or any page matching a loose URL rule. Every one of those produces purchases with no orders behind them.

VerdictWalk your funnel with the Network tab open. A purchase event before payment is a defect, not an optimisation.
05

Segment reported conversions by campaign, then trace them

Do not evaluate the account as one number. Group campaigns by which pixel they optimise toward, then try to trace each group’s claimed orders in your store. On that account, one group’s orders could not be traced at all — and that group was consuming roughly 30 to 40% of daily spend.

VerdictA campaign group whose orders you cannot find in your store is the leak.
06

Compare purchase value against real revenue

Counts can look plausible while values are nonsense. Compare total purchase value reported for a settled week against actual revenue for the same week. A value materially above real revenue means events are firing with wrong or duplicated values, even if the count looks close.

VerdictCheck both count and value. They fail independently.

What to do when you find it

Fix the source rather than the symptom. Disabling a misconfigured pixel or correcting the event trigger will cause the affected campaigns to stop delivering — that is the diagnosis confirming itself, not a new problem.

Then brief whoever owns the budget before they see the dashboard. Reported ROAS will fall. Revenue will not, because the revenue you are removing never existed. That conversation is much easier held in advance than in retrospect.

The uncomfortable part

If a campaign has been optimising toward phantom conversions for months, Meta has spent that time learning to find people who trigger phantom conversions. Rebuilding on clean data takes time, and early performance on the corrected setup will look worse than the fiction it replaced. That is the cost of having been wrong, not the cost of fixing it.

Limits

One account, one cause. Over-reporting has other sources — duplicate CAPI events without matching identifiers, test events left running, several apps firing the same conversion. The reconciliation in check one detects all of them; identifying which requires the rest.

I am also not giving you a threshold for “too much”. Compare against your own store’s orders. That comparison is exact, which is more than any benchmark can offer.

Are your reported purchases real?

It takes fifteen minutes to find out and most accounts have never been checked. Send me your store URL.

Get a free tracking audit →