Why Shopify Analytics, GA4 and Store Decode numbers differ
Shopify Analytics, GA4 and Store Decode show different numbers for the same days because each tool counts its own way. They see different visits, and define a device, a visitor and an order differently. Each also leaves bots out with its own rules. Each counts only the visits its own code reached, so consent choices and ad blockers remove different visits from each. They can also count days in different time zones, and credit a sale to a click with different rules. None of the three numbers is wrong: they measure different things.
Store Decode’s session count is usually lower than Shopify’s. Use each tool for what it measures: Shopify for your orders and sales, Store Decode for how each section of a page is seen and clicked.
Sessions are lower than in Shopify Analytics
Section titled “Sessions are lower than in Shopify Analytics”What you see. Store Decode shows fewer sessions than Online store sessions in Shopify Analytics for the same days.
Check. All three use the same rule for a session, GA4 too: a visit that ends after 30 minutes without activity, counted once, with no new session at midnight. The difference is in which visits each tool can see:
- Store Decode’s script runs on your storefront pages, not on checkout. A visit that goes straight to checkout, from a cart link for example, is a session in Shopify and not here.
- A visitor who declines analytics in a cookie banner that reports to Shopify sends nothing to Store Decode.
- Some ad blockers block the script.
- Shopify may count visits that never run a script in a browser. Store Decode sees only browsers that load your theme and run its script.
- Both tools leave bots out, with different rules, so this one can move the gap either way.
- If your markets use separate domains, Store Decode counts sessions per domain.
Fix. Nothing is broken. Compare trends over time, not the two totals. The bots page shows what Store Decode leaves out, and Settings prints how many bot sessions it left out in the last 14 days.
Store Decode has no visitors number
Section titled “Store Decode has no visitors number”What you see. Shopify and GA4 report visitors or users, and Store Decode does not.
Check. Store Decode counts sessions, page views and clicks, never people. A visit carries a random id that expires after 30 minutes without activity, so the same person on two days is two sessions.
Fix. Read Store Decode’s numbers per session. For people counted over time, use Shopify Analytics or GA4.
Orders or sales differ from Shopify
Section titled “Orders or sales differ from Shopify”What you see. Store Decode shows fewer orders, or a different sales total, than your Shopify admin.
Check. Store Decode’s orders come from Shopify’s web pixel on your online store checkout:
- Orders made outside the online store checkout, such as point of sale or draft orders, never reach the pixel. Shopify’s count covers every sales channel.
- The pixel misses an order when the browser blocks it or the visitor declines analytics.
- Store Decode’s sales are order totals with refunds not deducted. Shopify’s Total sales report also deducts returns on the day they happen.
Fix. In Settings, the Order tracking pixel row prints how many orders Store Decode saw in the last 14 days beside Shopify’s live count, which includes cancelled orders. Read that ratio, not the totals, to see whether the pixel is working.
Conversion and checkout rates differ
Section titled “Conversion and checkout rates differ”What you see. Conversion rate, Added to cart rate or Reached checkout in Store Decode does not match Shopify’s.
Check. Each rate is sessions that did something, divided by sessions, as in Shopify. Two things move them apart:
- The session count underneath differs, for the reasons in the first section.
- Store Decode links an add to cart, a checkout or an order to a session through its own visit cookie. An order from a visitor who declined analytics, or whose browser blocked the cookie, counts as an order but not in the rate.
Store Decode counts Reached checkout when the checkout opens. Shopify counts it at the visitor’s first input during checkout, so Store Decode’s rate can be higher.
Fix. Compare the same window and device, and read the rate’s change over time in one tool rather than across tools.
Mobile and desktop split differently
Section titled “Mobile and desktop split differently”What you see. Store Decode’s mobile share is not Shopify’s.
Check. Store Decode decides the device from the width of the visitor’s window: under 768 px is mobile, and wider is desktop, with tablets counted as desktop. Shopify decides from the browser type. A narrow desktop window is mobile here. An iPad can count as desktop in Shopify, because Safari on an iPad can present itself as a Mac.
Fix. Nothing to fix. Store Decode measures which sections fit on a screen, so the window width is the device that matters for its numbers.
Traffic sources do not match
Section titled “Traffic sources do not match”What you see. A visit is Direct in Store Decode and a paid or social visit in Shopify, or the other way round.
Check. Store Decode reads the source once, from a session’s first page: the UTM tags, else the referring site’s address, else Direct. It never reads ad click identifiers. An ad click without UTM tags therefore takes its referring site’s group here. An in-app browser that sends no referrer is Direct. A link from a site that is not a search engine, social network or email service is Unknown. Shopify does not publish its full grouping rules, so where it is silent Store Decode follows GA4’s default grouping.
Fix. Tag your campaign links with UTM values. Both tools read them, which makes a tagged visit easier to match across the two.
Sales after a click do not add up to Shopify’s sales
Section titled “Sales after a click do not add up to Shopify’s sales”What you see. The orders and sales after a click on your sections add up to less than your store’s total.
Check. Orders after a click credit an order to the section of the visitor’s last product click on your store, within 7 days. Orders with no such click, and orders the pixel missed, credit no section. Shopify’s own attribution credits channels and campaigns, not sections, with its own model and window.
Fix. Use these numbers to compare your sections with each other. They describe where the last click was before an order. They do not show that a section was the reason for the order.
Days do not line up
Section titled “Days do not line up”What you see. The same date shows different totals in two tools.
Check. Store Decode counts days in your store’s time zone. A session counts on the day of its first page view, even when it runs past midnight.
Fix. Set the other tool’s report to your store’s time zone, and compare whole days.
Still stuck
Section titled “Still stuck”How Store Decode measures a Shopify store has every definition and minimum. If the numbers are far apart and none of the reasons above fits, follow Store Decode not working? and then write to Support from the link at the foot of this page.
See how Store Decode prints each number with its device, window and sessions on the home page.
See the page map on your own store.
Install free →Something missing or wrong? Tell us through Support.