Two systems, two definitions of a sale

Your store, payment processor or CRM records an order when money changes hands. One order, one row, one date. Meta Ads Manager records a purchase when its tracking (the Meta Pixel on your site, or the Conversions API that sends events from your server) sees a purchase from someone who interacted with your ad within a time limit. Those are different questions, so the totals rarely match.

Neither number is lying. Meta is telling you how many purchases it believes its ads touched. Your store is telling you how many purchases happened. Trouble starts when the Meta number is treated as revenue, or used to judge profit. For that, your own records are the ground truth, a theme we cover in why ad platforms claim more sales than you made.

Attribution windows decide what counts

An attribution window is the time after an ad interaction during which Meta will give that ad credit for a sale. The default attribution setting is 7-day click and 1-day view. So a purchase counts if the buyer clicked your ad in the last seven days, or merely saw it in the last day without clicking.

That second part, view-through credit, is a big source of gaps. Someone may scroll past your ad, then search your brand name on Google and buy. Meta counts the sale, Google counts it, and your store has one order. Our guides to attribution windows and view-through conversions explain how much this can move the totals.

How far back Meta's Ads Insights API keeps each kind of data (months)
  • Total values37
  • Unique counts and hourly breakdowns13
  • Frequency breakdowns6

Limits announced by Meta for January 12, 2026; pull and save older data before it ages out if you need year-over-year comparisons.

Source: Meta for Developers

Meta reports by the ad's date, not the order's

Your store files a sale under the day it happened. Meta generally reports conversions by click date, not conversion date: a click on Monday that turns into a sale on Friday shows up under Monday. That means the last few days in Ads Manager keep climbing as late purchases arrive, while your store's days are final.

Compare a week that ended at least seven days ago, not yesterday. Also check that both systems use the same time zone and currency. An ad account set to Pacific time and a store set to Eastern time will split late-night orders onto different days.

Duplicate events and changed reporting rules

Many stores send purchases to Meta two ways: the browser Pixel and the server-side Conversions API. That is good for coverage, but Meta's developer guide says advertisers using both must set up a deduplication method so the system can tell distinct events from overlapping ones. In practice the Pixel's event ID must match the server event's ID, and events are only deduplicated if they arrive within 48 hours. If your Meta purchases are close to double your orders, check this first.

Meta's reporting rules also change. Meta announced that on January 12, 2026, 7-day view and 28-day view windows stopped being returned by its Ads Insights API, while 1-day click, 7-day click, 28-day click, 1-day engaged view and 1-day view remain. The same notice limits how far back some breakdowns go (see the chart). If a report or tool used the removed windows, its history will not line up with newer numbers.

A simple monthly check

You do not need perfect agreement. You need a gap you understand and that stays steady. Once a month:

  • Pick a full week that ended at least seven days ago.
  • Write down Meta-reported purchases and purchase value for that week, using one attribution setting every time.
  • Count real orders and revenue from your store or payment processor for the same dates and time zone.
  • Divide Meta's number by yours. Track that ratio over time instead of chasing a match.
  • If the ratio jumps, look for a new duplicate tag, a changed attribution setting or a new channel claiming the same buyers.

Putting both numbers side by side

The ratio is the habit that matters, and a spreadsheet works. Matrix ROI does the same job day by day: what Meta claims next to the orders your Stripe payments or store exports confirm, in one currency. A direct Meta connection is in development, and you can upload Meta's exports today. The team at Smith App Studio built it around that one comparison. For the full step-by-step method across every platform, see how to reconcile ad data with your sales records.