Orders in Shopify but Not in Meta Ads Manager: Why It Happens
Seif Gomaa, a performance media buyer in Cairo, checks four things when Shopify shows orders that Meta Ads Manager doesn't: whether the Pixel fires a Purchase on every order path, whether the Conversions API sends the same event from the server, whether browser and server events share an event ID so they deduplicate, and which attribution window the report uses. In Egypt the gap between Meta's count and the store's regularly reaches 40%, and it runs in both directions. I have also re-measured an account that reported 5.48 ROAS and came to 1.80 on a 7-day-click window with view-through removed.
- 01Shopify counts every order. Meta counts the orders it can see and credit to an ad inside a window.
- 02Test a purchase on every order path, including COD forms and upsell pages.
- 03Run the Conversions API next to the Pixel, with a shared event ID for deduplication.
- 04Know your attribution window before comparing numbers: 7-day click is my default.
- 05The gap can run the other way: 5.48 reported ROAS re-measured to 1.80.
This one worries owners more than it should, and less than it should, at the same time. Some gap between Shopify and Meta is normal and permanent. A large or sudden one usually means the Purchase event is broken somewhere, and that hurts more than your reports: Meta optimises on that event, so if it can't see who bought, it keeps finding people who don't.
Orders show in Shopify but not in Meta Ads Manager. Why?
Because the two systems count different things. Shopify records every order, whatever brought the buyer. Meta records the purchases it can see through the Pixel or the Conversions API and can credit to an ad inside the attribution window. In Egypt the gap between the two regularly reaches 40%. It's the first check in ads spending with no orders, because a campaign that looks dead is often a campaign whose sales aren't being recorded.
Some of the gap is legitimate. Orders from organic posts, WhatsApp, repeat customers and direct visits should not show in Ads Manager. The rest is what you can fix, and I check it in a fixed order.
Is the Pixel firing a Purchase on every order path?
Often not. Shopify's native checkout fires the event, but many stores in this market take orders elsewhere: a cash-on-delivery form app, an order form on the product page itself, a post-purchase upsell, or a custom thank-you page. If a path that carries 30% of your orders never fires a Purchase, Meta loses 30% of your orders before anything else goes wrong.
- List every way an order can be placed on the store.
- Place a real test order through each one with Events Manager's Test Events open.
- Confirm one Purchase per order, with the right value and currency.
- Repeat after any app install or theme change, because those break events silently.
Is the Conversions API installed and deduplicated?
It should be, and both halves matter. The Pixel runs in the browser, so ad blockers, iOS restrictions and pages closed too early lose events. The Conversions API sends the same Purchase from the server and recovers much of that. Meta then deduplicates a browser and a server event when they share the same event name and event ID so one order is counted once. In Egypt the gap between Meta's order count and the store's regularly reaches 40% when this is missing or broken.
Get deduplication wrong and the error flips direction: Meta counts the same order twice and reports more purchases than the store has. Get the server side missing and you're Pixel-only, which on mobile-heavy traffic means a steady leak. In Events Manager, the Purchase event should show both a browser and a server source, with the deduplication status visible.
Which attribution window is the report using?
Check it before you compare a single number. I report on a 7-day click window. An order placed eight days after the click, or by someone who saw the ad and came back through Google, belongs to Shopify and not to Meta, and that is the window working as designed.
Two smaller mismatches add noise. The ad account and the store can sit in different time zones, which moves late-night orders into a different day. And reports compared across different date ranges, or one on purchase date and one on click date, never line up. Fix both before you conclude anything is broken.
Can the gap run the other way, with Meta reporting more than the store?
Yes, and it's the more expensive version. One owner was about to raise budget on 5.48 ROAS in Ads Manager. The account reported on a 7-day-click and 1-day-view window while the owner compared it with same-day revenue. Re-measured on 7-day click with view-through removed, and with cancellations and unsettled COD and Fawry orders taken out, it came to 1.80. The screen was inflated about three times (the case).
The fix was all on the measurement side: view-through off, a UTM on every ad so Shopify could name the campaign behind each order, and the purchase event moved to the confirmed order instead of the completed checkout. None of it made the account earn more. It made the account tell the truth, which every later decision depends on.
How do I reconcile Meta and Shopify every week?
Line up three sources for the same 7 days: Meta spend and purchases, store orders by UTM, and courier delivery status. Meta tells you what the ads touched, Shopify what was ordered, and the courier what was actually paid for. When the gap between the first two moves sharply in a week, something changed in tracking, and you look there before touching a campaign.
If you want someone to run that check on your store, send the link to the free audit. You get the most you can pay for an order, your ROAS after delivery and your biggest leak within 48 hours.
Frequently asked
Why are my purchases missing in Ads Manager?
The Meta Pixel isn't recording Shopify purchases. What do I check first?
Should Meta and Shopify ever match exactly?
Who can audit Pixel and Conversions API tracking for a store in Egypt or the Gulf?
Seif Gomaa is a performance media buyer based in Cairo. He runs Meta, Google, TikTok and Snapchat accounts for 40+ Egyptian and Arab ecommerce brands and has managed 92M+ EGP in ad spend. Every client gets a live dashboard that refreshes every 30 minutes.
Want this run on your account?
Tell me what your brand sells and how the last two months performed. I answer within 24 hours.