·GA4 / Shopify / Revenue discrepancy / Attribution / EC measurement

Why GA4 Revenue Doesn't Match Shopify: Decide Budget Assuming the Gap

GA4 revenue typically runs a few to low-double-digit percent below Shopify. We organize the main causes — checkout tracking gaps, consent mode, reporting timing, and attribution differences — explain why you should not chase an exact match, and show how to decide budget by per-channel revenue efficiency while assuming the gap, for EC operators.

Why GA4 Revenue Doesn't Match Shopify: Decide Budget Assuming the Gap

"GA4 shows ¥150,000 less revenue than my Shopify admin. Which one is right?" This is a question we hear almost every month from EC operators reconciling their month-end numbers.

The short answer: GA4 normally reports less than Shopify, and you cannot make them match to the yen. The cause sits in how measurement works, so even after you fix it, the gap returns. What matters is not forcing the absolute totals to match, but using GA4 — assuming the gap — as a ruler for comparing per-channel efficiency.

TL;DR#

  1. GA4 reporting less than Shopify is normal. Checkout tracking gaps, consent-mode opt-outs, and reporting-timing differences are the main causes, with a gap of a few to low-double-digit percent being typical. GA4 is not "accurately lower" — the measurement design simply drops some data.
  2. Do not chase an exact match. Trying to reconcile to the yen is a swamp. Treat Shopify (or your payment system) as the source of truth for revenue, and treat GA4 as a tool for comparing trends across channels and pages.
  3. Decide with per-channel relative efficiency. Even when the absolute totals are off, the ranking of revenue per session (RPS) across channels is reliable in GA4. Decide your next budget by this relative efficiency, not by absolute sales volume.

1. Five reasons GA4 revenue doesn't match Shopify#

Bottom line: by design, GA4 reports less than Shopify. There are five main causes.

A horizontal bar chart showing the main reasons GA4 reports less revenue than Shopify, with representative ranges of undercounting. Checkout tracking gap 5-12%, consent-mode opt-out 2-6%, reporting time/timezone 1-4%, refunds/cancels 1-3%. GA4 structurally reports less than Shopify (reference values that vary widely by store)

CauseWhat happensDirection
Checkout tracking gapShop Pay, Apple Pay and other checkouts that skip the thank-you page, or JS-disabled/early exits, don't fire the tagGA4 lower
Consent modePurchases from visitors who decline cookies aren't measured (or become modeled estimates)GA4 lower
Reporting time / timezoneGA4 and the store split days on different timezones, so daily totals driftDaily drift
Refunds / cancelsShopify deducts refunds later; GA4's purchase event rarely reflects themGA4 sometimes higher
Double countingA duplicated tag counts one purchase twiceGA4 higher

The biggest of these is the checkout tracking gap. Purchases that don't pass through Shopify's standard thank-you page — Shop Pay, Apple Pay, external payment links — don't fire GA4's purchase tag and drop entirely. The same happens with ad blockers and JS-disabled environments. That is why GA4 revenue runs a notch below Shopify in most stores. It is not a setup mistake; it is a gap that the measurement design inevitably produces.

2. How close should they be? Don't chase an exact match#

Bottom line: you cannot make the totals match exactly. The right answer is to set an acceptable range and stop chasing beyond it.

Trying to reconcile GA4 and Shopify to the yen turns into endless work: fix one setting and another cause re-opens the gap. Even professionals don't aim for an exact match. Instead, decide in advance how much of a gap you'll ignore.

GA4 vs Shopify gapStateAction
Within 5%NormalIgnore. Measurement is working fine
5-15%Somewhat largeCheck one main cause (checkout path, consent mode)
Over 15%Needs inspectionCheck duplicate tags, missing purchase tag, period misalignment

The key is a division of roles. Treat Shopify as the source of truth for accounting and billing. GA4, meanwhile, is a tool for reading the trend of the breakdown — by channel, by page, by source. They are numbers for different purposes, so there is no need to force one toward the other. See GA4 ecommerce setup checklist for Shopify for fixing reducible tracking gaps.

3. Why channels diverge — the attribution difference#

Bottom line: per-channel revenue diverges because the rule for "which channel gets credit for an order" differs between the two.

Looking by channel, not just the total, the gap widens further. This comes from a difference in attribution. Shopify generally credits the entire order to the last source the visitor came from. GA4's default is data-driven attribution, which splits one order across the contributing channels in fractions.

A horizontal bar chart comparing how Shopify and GA4 assign the same 10,000 yen order to channels. Shopify credits the full 10,000 yen to the last-touch Google Search. GA4's data-driven split spreads it across Instagram 4,000 yen, Google Search 3,500 yen, and email 2,500 yen. It shows why per-channel numbers diverge for the same order

Say a ¥10,000 order followed the path "discovered via an Instagram ad → returned later via Google search → purchased from an email." Shopify credits the full ¥10,000 to the channel closest to the final touch. GA4 splits it by contribution: ¥4,000 to Instagram, ¥3,500 to Google search, ¥2,500 to email. The same single order naturally diverges when viewed by channel.

Neither is wrong. Shopify shows "where it finally sold," GA4 shows "how multiple channels contributed to that sale." So trying to match per-channel absolute amounts between the two is comparing fundamentally different kinds of numbers. We cover attribution thinking in Why moving budget on last-click alone loses money.

4. Decide budget assuming the gap — use per-channel relative efficiency#

Bottom line: even when absolute totals are off, the ranking of channel efficiency is reliable in GA4. Decide your next budget by this relative efficiency.

We've established that absolute totals won't match. So what do you rely on to move budget? The answer is per-channel relative efficiency — specifically, comparing revenue per session (RPS) across channels.

A horizontal bar chart comparing revenue per session (RPS) by channel. Email 340 yen is highest, Google search 220 yen, retargeting 150 yen, Instagram ads 90 yen is lowest. Instagram has the most sales volume but the lowest RPS, showing the next budget should be decided by relative efficiency, not absolute totals (demo data)

RPS's strength is that it is resistant to the absolute gap. Even if GA4 reports 10% low overall, comparing channels within that "10%-low world" leaves their efficiency ranking almost unchanged. So while the absolute total is unreliable, the relative ranking is trustworthy.

ChannelRevenue per session (RPS)How it reads
Email¥340Low cost, highest efficiency
Google search¥220Consistently high efficiency
Retargeting¥150Mid-tier
Instagram ads¥90Large sales volume, but lowest per visit

Instagram ads often have the largest sales "volume," so looking at Shopify's number alone tempts you to "grow it more." But per visit it is the lowest, and adding budget buys more low-efficiency visits. Decide the next move by "which channel's visits are efficient," not "which channel's sales volume is large." That is budgeting that assumes the gap. See How to calculate RPS in GA4.

RevenueScope in practice

Let's see "don't chase the absolute total; judge by per-channel relative efficiency" on an actual screen. RevenueScope organizes per-channel revenue efficiency from your GA4 and site sales data. The metrics shown are Revenue / AOV / RPS (revenue per session) / CVR.

RevenueScope's per-channel revenue efficiency dashboard (demo data shown). Four channels of an apparel store listed by revenue/sessions/RPS/AOV/CVR. Instagram ads has the largest revenue at ¥900K but the lowest RPS ¥90 and CVR 1.8%, while email (highlighted in orange) has RPS ¥340 and CVR 8.5% at the top despite ¥544K revenue; Google search RPS ¥220, retargeting RPS ¥150. It shows you can decide the next budget by per-session efficiency (RPS) rather than absolute totals

Reading this screen (demo data for an apparel store), two things stand out. First, email's RPS of ¥340 is the highest, while Instagram ads has the largest revenue but the lowest RPS at ¥90 — a reversal. Second, Instagram's conversion rate (CVR) is also low, so the visit quality itself is weak.

The next move is clear: pause the increase to Instagram and shift the next budget to the top-efficiency email channel and the consistently strong Google search. Because we're looking at relative comparison across channels, the judgment holds even if GA4's absolute total is somewhat off from Shopify. The time you spent worrying about an exact match becomes time spent comparing efficiency.

Note that RevenueScope does not guarantee accounting-accurate revenue. It is designed to visualize, in one tag and five minutes, the relative comparison of "which channel generates revenue at what efficiency." Use Shopify or your accounting system as the source of truth for billing and closing figures.

FAQ#

Q. Which revenue is correct, GA4 or Shopify? A. For accounting and billing, Shopify (or your payment system) is the source of truth. GA4 inevitably has tracking gaps and reports less. Treat GA4 as a tool for reading trends by channel and page.

Q. Is GA4 being lower than Shopify a setup mistake? A. Usually not. Checkouts that skip the thank-you page (Shop Pay, Apple Pay) and consent-mode opt-outs make GA4 structurally lower. Only inspect for missing or duplicated tags when the gap exceeds 15%.

Q. How close is "close enough"? A. Within 5% is normal, and you don't need to chase beyond it. Don't aim for an exact match; judge by per-channel relative efficiency. See also Shopify x GA4 revenue analysis in 4 steps.

Summary#

GA4 revenue doesn't match Shopify because of how measurement itself works — checkout tracking gaps, consent mode, reporting timing, and attribution differences. So don't chase an exact match; treat within 5% as normal. Use Shopify as the source of truth for revenue, and split GA4's role to "a ruler for comparing per-channel trends." Then decide the next budget not by absolute totals but by per-channel revenue per session (RPS) — relative efficiency. Judge with the numbers that hold, without being thrown by the gap. That is the smart way to work with GA4 and Shopify together.


Related topics are also covered on /en/news.

References#

[1] Google Analytics Help "Measure ecommerce (GA4)" 2024

[2] Google Analytics Help "About data-driven attribution" 2024

[3] Google Analytics Help "[GA4] Direct traffic" 2026

[4] Google Analytics Help "Metrics comparison: GA4 vs Universal Analytics" 2024

[5] Google Analytics Help "Consent mode on websites and mobile apps" 2024


See which ads actually drive revenue, at a glance

Free up to 5,000 sessions/month. No credit card required. Up and running in 5 minutes.

Start measuring for free

RevenueScope

EC revenue strategy, grounded in data and practice

Why GA4 Revenue Doesn't Match Shopify: Decide Budget Assuming the Gap