Shopify's attribution is different from Meta's. Shopify can see orders (they process the payment), but Shopify's attribution relies on the Meta pixel firing correctly. If the pixel doesn't fire, Shopify still records the order but cannot always connect it to the original Meta ad.
You need three data sources:
Layer 1: Shopify orders — the ground truth. Shopify sees every order because it processes the payment.
Layer 2: Shopify attribution — which Shopify orders came from Meta, organic, direct, email, etc. This is 70-85% accurate for Meta orders (the rest are dark traffic — direct, dark social, iOS safari redirect). Bias: understates Meta contribution on iOS.
Layer 3: Meta's reported conversions — what Meta claims you got. This is typically 50-70% of actual Meta-attributed Shopify orders due to iOS gap and pixel fire failures. Use this for daily campaign decisions, but trust the Shopify baseline for weekly P&L.
- Total ad spend (from Meta ad account): $3,200 - Total Shopify revenue from orders tagged "Facebook Ads" or "Paid Social": $7,100 - True ROAS: 2.22 (not what Meta claims: 2.65)
iOS attribution will never be perfect. But you can add two repair layers:
UTM parameters: Every Meta campaign should have a UTM that identifies the audience, creative, and campaign. Example: `` ?utm_source=meta&utm_medium=paid_social&utm_campaign=kitchen-gadgets-jan&utm_content=creative-A ``
Shopify's admin reports can filter orders by UTM, giving you a second attribution channel. Bias: only works if the customer visits your store directly from the ad (not true for iOS app-to-web redirects, estimated 10-20% of iOS traffic).
Post-purchase surveys: Add a lightweight post-purchase survey ("How did you hear about us?") to your Shopify thank-you page or post-purchase email. Three options:
A 10-15% response rate gives you an additional 500-1,000 data points per month. Bias: self-reported, but better than nothing.
Daily: use Meta's reported conversions for campaign decisions — pause underperformers, scale winners.
Weekly (Friday): compare Meta's claimed conversions to Shopify's actual orders. If the gap is wider than historical trend (usually 15-30% under-reported), something changed:
Investigate once a month. Do not obsess.
Australia: ~65% iOS, ~35% Android. Meta's AEM underreports by 20-25%. Shopify attribution is typically the more reliable number for weekly P&L.
United States: ~55% iOS, ~45% Android. Meta's AEM underreports by 18-22%.
United Kingdom: ~67% iOS, ~33% Android. Meta's AEM underreports by 20-26%.
The higher the iOS rate, the worse Meta's attribution. Markets with high iOS adoption (UK, AU) are worse than the US for this reason.
Operators who trust Meta's reported conversions often scale losers. The ROAS looks great (2.8) but the true ROAS (after iOS gap) is 1.8, and you are losing money. Operators who compare Meta to Shopify weekly catch this drift and adjust. The truth is in Shopify. Everything else is an estimate that feels good when it should not.
An operator running a beauty gadget in week 3 of 2026:
Meta dashboard reports: