Why your order count and conversion count never match — a primer on how ecommerce analytics counts things
The order count in your store admin and the conversion count in your analytics tool don’t agree. Nothing is broken — they count on different “layers.” Here is how revenue, transactions, CVR and AOV fit together, so you stop misreading your ecommerce numbers.
- Reading the numbers
- GA4
Every ecommerce operator runs into this at some point: “The store admin shows 1,631 orders this month, but the analytics tool says only 1,450 conversions.” It looks like one of them must be broken. In almost every case, both are right — they are just counting different things.
This post explains how to think about ecommerce numbers as “layers,” and which numbers you can safely combine with which. We use the NextRise Analytics screens as the example, but the same thing happens in GA4 and Shopify reports.
Numbers come from a “visit layer” and an “order layer”
Ecommerce numbers have two sources.
| Layer | Who counts it | What goes in |
|---|---|---|
| Visit layer | The tracking tag on your site | Viewed a page, added to cart, went to checkout, reached the order-complete page |
| Order layer | Your cart’s order data (WooCommerce, Shopify, etc.) | An order came in, for how much, which products and quantities, what was refunded |
“Conversions” live on the visit layer — the number of sessions that reached the order-complete page. “Orders” live on the order layer — the number of orders that landed in your store.
Why the two differ
The visit layer counts signals sent from the browser. So in the following cases, an order exists but the signal never arrives:
- An ad blocker or browser extension stopped the tracking tag from sending (a few percent in practice — and the same happens with cookie-based analytics tools)
- Orders entered by hand in the admin (phone orders, B2B orders) never went through a browser at all
- The purchase finished on a payment provider’s page and the shopper never returned to your own order-complete page
- Someone ordered twice in one session (two orders, one purchasing session)
The reverse is also true: the order layer doesn’t record “where they came from” or “which pages they looked at.” You can’t build revenue by traffic source from order data alone.
In other words, transactions (order layer) being higher than conversions (visit layer) is normal, and if the gap stays somewhere in the range of a few percent to about 10%, your tracking is healthy. Shopify’s own reports state explicitly that “sessions that completed checkout” and “orders” will not match.
The rule to follow: numerator and denominator on the same layer
Most misreadings happen when you divide across layers.
| Metric | Correct combination | What not to do |
|---|---|---|
| CVR | Sessions with a purchase ÷ sessions (visit ÷ visit) | Orders ÷ sessions (order ÷ visit) → reads too high |
| AOV | Revenue ÷ transactions (order ÷ order) | Revenue ÷ purchasing sessions (order ÷ visit) → reads too high |
| Cart → checkout rate | Sessions that went to checkout ÷ sessions that added to cart (visit ÷ visit) | — |
NextRise Analytics locks this rule into the screens. The CVR numerator is “sessions with a purchase,” and the AOV denominator is “transactions (orders),” and clicking the “?” next to each one shows how it is counted.
“Revenue” also depends on the layer
There is one more trap: the definition of revenue.
- Many stores send the “total amount paid, including tax and shipping” to the GA4
purchaseevent, and in that case GA4 revenue reads high. - Shopify Analytics, WooCommerce Analytics and GA4’s recommended implementation all treat the line-item total (excluding tax and shipping) as “revenue.”
NextRise follows the latter. On days when order data is connected, revenue is the order line-item total (excluding tax and shipping), and tax and shipping are shown separately as a breakdown of the amount paid. When you compare against the “revenue” in your store admin, line the two up with the same definition, the same period and the same time zone.
So you don’t have to re-investigate “the numbers don’t match” every time
Spending a day chasing a discrepancy every time you spot one is time you can’t get back. We recommend three things.
- First suspect that the difference is explained by the layers (the tables in this post).
- Clear every filter, then compare the overview’s revenue and transactions against the same period in your store admin. While filters are on, more of the numbers are built from the visit layer, which makes them a poor basis for comparison.
- If the gap is still large, check whether the tracking tag is installed twice, and whether the tag is present on the order-complete page.
The NextRise Analytics docs collect the cases where numbers don’t match and the metric definitions. They also explain the differences you will see when running NextRise side by side with GA4.
Related articles
- September 9, 2026We checked 114 major Japanese ecommerce sites. 96% run GA4 — and 46% still carry a dead tag — What's really installed: tracking tags, consent banners, and load times
We opened the home page of 114 major Japanese ecommerce sites across 14 categories, one by one, in a real browser. GA4/GTM adoption 96%, leftover Universal Analytics on 46%, a median of 7 marketing tags per site, cookie consent banners on 25%, median load time 3.9 seconds. Here's what the numbers say about "installed and forgotten" — and how to check your own store.
- September 7, 2026The only 5 numbers an ecommerce store needs to check in GA4 each week — where they live, and what to decide after you look
GA4 has too many screens, and the numbers that move ecommerce revenue get buried. Five are enough for a weekly check — sessions, conversion rate, average order value, cart-to-purchase rate, and product-page add-to-cart rate. Here's where each one lives in GA4, how to split it against last week, and what to decide once you've looked.