Why it happens
Shopify's total sales include tax and shipping. Shopify's help defines total sales as gross sales, minus discounts and sales reversals, plus taxes, duties, shipping charges and fees. GA4's purchase value, as Google describes it in its ecommerce guide, is the sum of price times quantity for the items, with tax and shipping sent as separate fields. If your tag follows Google's guide, GA4 revenue is your item sales without tax and shipping. In an EU store with VAT in its prices, that alone makes a large gap.
The two count refunds differently. GA4's total revenue is purchases plus in-app purchases, subscriptions and ad revenue, minus refunds. It subtracts a refund only when your store sends GA4 a refund event. Shopify books a return as a negative number on the day of the return. One tool may subtract a refund on a different day from the other, or not at all.
Shopify includes orders that GA4 never sees. Shopify's help says pending, unpaid and canceled orders are included in its sales reports. A tag that fires on the thank you page sends only the purchase from that page. Point of sale sales, draft orders and orders other apps create without your checkout have no thank you page in your online store.
GA4 missed some purchases. If the GA4 tag did not run, because of an ad blocker, a declined cookie banner or a buyer who left before the page loaded, the revenue of that order is missing too. GA4 shows fewer purchases than Shopify covers that part. This page is about the value.
Currency conversion. GA4 reports in the currency set for the property. Google says that when you send a local currency with a transaction, GA4 converts it using the exchange rate of the day before. Shopify reports in your store currency. Changing the property currency in GA4 also changes past data. Multi-currency purchase value in Meta and GA4 goes deeper.
The value or currency is missing. Google's help says GA4 uses the value and currency of the purchase event for revenue metrics such as total revenue. A purchase sent without them counts as a purchase with no revenue. GA4 purchase revenue shows zero covers that case.
You compare different metrics. GA4 has several: total revenue, purchase revenue and item revenue. Google defines item revenue as revenue from items only, excluding tax and shipping. Shopify has gross sales, net sales and total sales. Pick a pair that measures the same thing.
Dates and time zones. Shopify reports in the store's time zone, GA4 in the property's. A sale near midnight can fall on different days.
Check it yourself
- 1In Shopify, open Analytics > Reports > Sales over time for one full week and note gross sales, discounts, sales reversals (Shopify's name for returns, refunds and edits), taxes and shipping separately.
- 2In GA4, open Reports > Monetization > Ecommerce purchases for the same week. Note purchase revenue and item revenue.
- 3Compare GA4 item revenue with Shopify gross sales minus discounts. That pair excludes tax and shipping in both, so it is the fairest test.
- 4Place a test order with a known total. In GA4 DebugView, open the purchase and read value, tax, shipping and currency. You will see at once which part of the order your tag sends.
- 5In GA4, check Admin > Property details for the reporting currency and time zone, and compare them with Shopify's settings.
- 6Look at the refunds for the week in Shopify. If GA4 shows no refunds at all, it never received refund events. GA4 does not show Shopify refunds explains why.
- 7Count the purchases in GA4 for the same week. If the count is also far below your online orders, fix the count before the value.
FAQ
Should GA4 revenue include tax and shipping?
Google's ecommerce guide sends tax and shipping in their own fields, apart from the value. Many stores keep it that way, because revenue without tax and shipping is closer to what the sales earn. What matters is that you know which one you look at.
The purchase count is right, so why is revenue low?
Then the value is the cause, not missing purchases. Check what the tag puts in value, and whether discounts are taken off.
Why does my GA4 revenue change after a few days?
Refund events lower revenue on the day they arrive, so an older week can drop when refunds come in. Compare weeks that ended a few days ago.
Can GA4 ever equal Shopify total sales?
Only by accident. Shopify includes orders and amounts GA4 does not get, and GA4 converts currencies at its own rate.
Does GA4 count gift cards as revenue?
That depends on your tag. Shopify's help says gift cards sold as products are not included in its sales reports, so a tag that sends them makes GA4 higher than Shopify.