Veracend

Why does Meta show more purchases than my WooCommerce orders?

Short answer

Meta credits a sale to an ad for up to 7 days after a click or 1 day after a view, and dates it to the ad, while WooCommerce lists each order once on the day it was placed. A steady gap is usually attribution; a gap that jumps from one date usually means the pixel started firing twice.

By , founder of Veracend · Updated

Why it happens

  • The attribution window. Meta counts a purchase for an ad the buyer clicked in the last 7 days or saw in the last day, even if they finally arrived through search or email.
  • Duplicate tracking. Two plugins, or a plugin plus pasted code, both sending Purchase for the same order.
  • Orders that never complete. Purchase can fire when the thank-you page loads, even for orders that later end up Failed, Cancelled or still Pending payment in WooCommerce.
  • Refunds. Meta keeps the original purchase. WooCommerce marks the order Refunded.
  • Different time zones. WordPress uses the time zone in Settings › General. If the ad account uses another, daily totals cover different hours.

How to fix it

  1. Compare like with likeExport WooCommerce orders for 30 days, keeping only Processing and Completed. Compare them by day with Meta purchases on the same dates.
  2. Match the time zonesCompare Settings › General › Timezone in WordPress with the ad account time zone in Meta Business Settings. If they differ, compare weekly totals instead of days.
  3. Look for the jumpFind the date where the gap suddenly grew. Check what changed that day: a new plugin, a theme update or new code in a snippet.
  4. Check for a second pixelUse the Meta Pixel Helper on the homepage and the order-received page. One pixel ID, loaded once, is what you want.
  5. Judge ads on 7-day clickIn Ads Manager use Columns › Compare attribution settings and add 7-day click, so view-through sales don’t inflate the comparison.

Check it worked

Place a test order. Purchase should show once in Events Manager › Test events, and the order should appear once in WooCommerce › Orders.

Common questions

Which number should I trust?

Use WooCommerce for how many sales you made and the money that came in. Use Meta to compare ads with each other.

Do failed payments count in Meta?

They can, if Purchase fires when the thank-you page loads rather than when payment succeeds. Check your tracking plugin’s settings for which order statuses send Purchase.

Can Meta correct past data?

No. Fix the setup, note the date, and compare only after it.

See what your own store is losing.

Paste your store address for a free check in under a minute. No login and no app to install.

On WooCommerce? Get the free Tracking Setup Inspector plugin: it lists every plugin, theme file and snippet sending Meta, Google or TikTok events, inside your WordPress admin.