Why Meta, Google and Shopify Never Agree on Revenue
Meta, Google, and Shopify report different revenue numbers because they measure different things with different rules. Meta and Google use their own attribution models (including view-through and modeled conversions). Shopify records actual completed orders. The gap is normal and expected.
If you’ve ever opened Meta Ads Manager, Google Ads, and Shopify on the same day and wondered why none of the revenue numbers match, you’re not alone. This is one of the most common sources of confusion for DTC brands — and one of the main reasons teams lose trust in their dashboards.
What each platform actually measures
Shopify
Shopify records real orders that hit your store. It includes every paid order, refunds, cancellations, and source data from UTM parameters or the order source field. When an order is placed, Shopify knows the exact amount, the customer, and (usually) how they arrived.
Meta Ads
Meta reports conversions attributed to Meta according to the attribution window you set (commonly 7-day click + 1-day view). This can include view-through conversions and some modeled or estimated conversions. Meta is optimizing and reporting against its own definition of a conversion, not against your Shopify order count.
Google Ads / GA4
Google uses its own click-based (and in some cases view-based) conversion rules. GA4 applies data-driven or last-click attribution and has different session and user definitions than Meta or Shopify. Cross-device behavior and consent settings can further widen the gap.
Main reasons the numbers diverge
- Attribution windows and lookback periods differ — A conversion counted by Meta may fall outside Google’s window, or vice versa.
- View-through vs click-through credit — Meta often gives credit for impressions that weren’t clicked; Shopify only sees the order.
- Cross-device and cross-browser gaps — The same person can appear as multiple users across platforms.
- Refunds, cancellations, and partial payments — Platforms treat these differently and with different timing.
- Overlap — The same order can be claimed by Meta, Google, email, and organic at the same time.
- Data delays and modeled conversions — Platform numbers can change after the fact as models update.
What number should you actually use for decisions?
Use Shopify (or your order management system) as the source of truth for total revenue and order volume. Use platform-reported numbers only as directional efficiency signals inside that platform.
To understand true contribution — which channel actually caused incremental revenue — you need to move beyond platform dashboards to multi-touch attribution, incrementality tests (such as geo experiments), or Marketing Mix Modeling.
| Source | Best used for | Not reliable for |
|---|---|---|
| Shopify | Total revenue, orders, refunds | Channel-level incremental impact |
| Meta / Google reported | In-platform optimization signals | True incremental ROI or budget allocation |
| Incrementality / MMM | Strategic budget decisions | Day-to-day creative testing |
FAQ
Is the gap a tracking error?
Usually no. Differences of 20–50% or more are common even with clean tracking. Large, sudden changes can indicate a tracking issue, but steady divergence is expected.
Should I trust Meta’s reported ROAS?
Only as a platform-level efficiency signal, not as a measure of incremental revenue. High reported ROAS can coexist with low or even negative incremental return.
How do I close the gap?
You don’t fully close it — you contextualize it. Align attribution windows where possible, validate tracking health, then use experiments or MMM to estimate true incremental contribution.
Want a clear view of what’s actually driving revenue?
I help DTC brands reconcile conflicting platform numbers and measure true incremental impact with MMM, GeoLift, and decision-ready dashboards.
Book a 15-min call