
- Shopify counts every order that was paid. GA4 counts the purchases its browser tag managed to record and was allowed to record. Meta counts the purchases it can connect to its own ads under its own rules.
- A well-configured GA4 setup typically lands within about 2% to 5% of Shopify. Larger gaps usually point to consent, checkout or tagging problems, not real lost sales.
- Meta and other platforms can claim more revenue than Shopify recorded, because each credits orders that other channels also touched. Never add platform revenue together.
- Use Shopify for totals and money decisions, GA4 for on-site behaviour and funnel diagnosis, and platform data for optimisation inside each platform.
- Run a monthly reconciliation: Shopify net revenue, GA4 purchase revenue, and the sum of platform claims. Watch the gaps, not just the numbers.
In this article
The founder has three tabs open for the monthly review. Shopify says $211,000. GA4 says $177,000. Meta says it drove $96,000 on its own, Google Ads says $58,000, and Klaviyo says email and SMS brought in $71,000. Add up the channels and they claim $225,000, more than the store took. Which one is the real business?
This is one of the most common questions founders ask. A merchant on the Shopify Community described almost exactly that Shopify and GA4 gap and asked how to get the two within 5%. The answer is not that one tool is right and the others are broken. Each tool is answering a different question, using a different method, and the gaps between them are information in their own right.
Revenue reported by each tool for the same month ($K, illustrative)
| Label | Revenue |
|---|---|
| Shopify (orders paid) | $211K |
| GA4 (purchases tracked) | $177K |
| Meta (claimed) | $96K |
| Klaviyo (claimed) | $71K |
| Google Ads (claimed) | $58K |
| Sum of platform claims | $225K |
What each tool actually counts
| Shopify | GA4 | Meta (and other ad platforms) | |
|---|---|---|---|
| What it counts | Every paid order | Purchases its browser tag recorded and was permitted to record | Purchases it can link to its own ads within its attribution windows |
| How it knows | Server-side, from the order itself | A script in the shopper's browser, plus consent signals | Its pixel and Conversions API, matched to people who saw or clicked ads |
| Typical direction of error | Complete, but includes tax and shipping unless you exclude them | Undercounts (ad blockers, consent, closed tabs) | Overcounts relative to its true impact on totals, because it credits shared orders |
| Best used for | Revenue, P&L, new vs returning, cohorts | On-site behaviour, funnel steps, landing page performance | Comparing campaigns and creatives inside that platform |
Why GA4 shows less than Shopify
GA4 can only count a purchase if a tag runs in the shopper's browser and sends the event. Several things stop that from happening.
- Ad blockers and browser privacy settings block the tag outright for a share of visitors.
- Declined cookie consent limits or stops what GA4 can record, depending on how consent mode is set up.
- Checkout and thank-you page gaps: shoppers who close the page after paying, or payment redirects such as PayPal, can mean the purchase event never fires.
- Lost sessions: cross-device purchases and session timeouts break the link between the visit and the order, so revenue lands under direct or unassigned.
Why Meta and other platforms claim more than they cause
Ad platforms answer a different question: which purchases happened after someone interacted with our ads? Each platform asks it independently. A customer who saw a Meta ad, searched your brand on Google, opened an email and then bought will be counted by all three. None of them is lying. Each is reporting its own touch. But their claims overlap, so adding them together always overstates reality.
Platforms also count purchases that would have happened anyway. Email credits orders from loyal customers who opened a newsletter, including automatic opens on Apple Mail; we covered that in Klaviyo attributed vs incremental revenue. Meta credits existing customers who saw an ad before reordering. And since March 2026, Meta's click-through window counts only link clicks, so Meta's own numbers before and after that date are not directly comparable.
Which number to use for which decision
| Question | Use | Not |
|---|---|---|
| How much did we sell? | Shopify net revenue (excluding tax) | GA4 or the sum of platforms |
| How much should we spend on marketing in total? | Shopify revenue and new-customer revenue vs total spend (MER, aMER) | Platform ROAS |
| Which landing page or funnel step is leaking? | GA4 | Shopify (it does not see browsing behaviour) |
| Which Meta ad set is doing better than the others? | Meta, compared within Meta | Shopify totals |
| Does a channel actually cause sales? | A holdout or geo test measured in Shopify orders | Any platform's own attribution |
| Where did customers first hear about us? | Post-purchase survey | Last-click attribution |
Each of those has its own guide: MER vs ROAS vs aMER for total budget, incrementality testing for whether a channel works, and post-purchase surveys for discovery.
A 20-minute monthly reconciliation
- Shopify net revenue for the month, excluding tax, split into new and returning customers.
- GA4 purchase revenue for the same dates and time zone. Calculate the gap as a percentage of Shopify.
- Revenue claimed by each ad and email platform. Add them up and calculate the claims ratio.
- Compare all three with last month. A sudden change in the GA4 gap usually means a tracking break. A rising claims ratio means platforms are taking more credit for the same sales.
A 16% GA4 gap that hid the best channel
- What the dashboard said
- GA4 showed paid social driving a falling share of revenue, and the team planned to move budget to search.
- What was actually happening
- GA4 was 16% below Shopify. Most missing purchases came from mobile Safari sessions that started on Instagram, where consent and in-app browsers broke the purchase event. Paid social looked weaker in GA4 than it was in Shopify orders and survey answers.
- Decision
- Fix Fix purchase tracking through Shopify's customer events, then reassess channel mix on Shopify new-customer revenue and survey data before moving budget.
A gap between tools is a clue. Investigate it before you trust either side.
Reconciling these sources, and deciding which one to trust for each question, is the first step of every Blindspot Snapshot.
Questions founders ask
Why does GA4 show less revenue than Shopify?
GA4 relies on a tag in the shopper's browser. Ad blockers, declined cookie consent, closed tabs before the confirmation page loads, payment redirects and session breaks can all stop the purchase event from being recorded. Shopify records the order on its server regardless.
What is a normal gap between GA4 and Shopify?
With a good setup, GA4 purchase revenue often sits within roughly 2% to 5% of Shopify. Gaps of 15% or more are common in practice and usually mean consent handling, checkout tracking or duplicate tags need fixing.
Why does Meta report more revenue than my store made?
Meta credits any purchase within its attribution windows that followed an ad interaction, including purchases also credited by Google, email or other channels. Every platform does this independently, so their claims overlap. Meta also changed its click-through definition in March 2026 to count only link clicks.
Which revenue number should I use for my P&L?
Shopify net revenue, or better, the revenue your accounting system reconciles to bank deposits. Analytics and ad platforms are measurement tools, not financial records.


