Why your Shopify revenue doesn't match Google Ads, and how much of the gap is real
Every Shopify operator runs the same audit once a month: open Shopify Analytics, open Google Ads, open Meta Ads Manager. Three different revenue numbers, all claiming the same week. None of them match. The instinct is to find the right one. The reality: each platform is computing a slightly different number, and the gaps are mostly explainable.
Five reasons the numbers diverge
- Attribution model. Shopify uses last-click by default; Google Ads uses data-driven; Meta uses last-click within their 7-day-click + 1-day-view window. Each will credit the same conversion differently.
- Time of conversion vs time of click. Google Ads reports revenue under the date of the AD CLICK, not the date of the purchase. Shopify reports under the order date. A click on Monday that converts on Friday lives in different weeks.
- Refund handling. Shopify revenue subtracts refunds; ad platforms typically do not. If you had a $5K refund this week, Shopify drops by $5K but Google Ads stays the same.
- View-through conversions. Meta counts impressions that didn't get clicked but led to conversions within 24 hours. Shopify never sees these. The Meta-reported revenue is structurally higher.
- Different currency conversion windows. International stores see different USD-equivalent revenue on different days depending on exchange rates.
How to figure out which one is closest to right
Shopify's revenue is the ground truth for what your store collected. Period. Any platform reporting higher than Shopify is either using a different attribution model, counting view-throughs, or hallucinating. Any platform reporting lower than Shopify is missing tracking somewhere.
Use this as your auditing rule: compare each platform's reported revenue against Shopify's actual revenue for the same time window. The closer the platform number is to Shopify (within 10%), the more accurate that platform's tracking is. Big gaps mean either iOS 14.5 loss, missing Pixel events, or attribution-model double-counting.
The fix
Set up server-side tracking via CAPI (free with Shopify's Meta channel app), turn on Conversions API for Google Ads (via the Google channel app), and have each platform report into Shopify's order data via deduplication on order_id. Run a tracking audit to confirm the events are firing with the correct identifiers.
DataGap connects to your Shopify store via read-only OAuth and returns a ranked list of tracking gaps in 10 minutes. $167 one-time. No subscription.
Run a free auditFrequently asked
For revenue, trust Shopify. For channel performance, trust each platform's own reporting BUT verify it against Shopify by comparing on order_id. Use a unified analytics tool (Triple Whale, Northbeam, or DataGap's audit feature) to reconcile.