← Back to blog
Blog

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.

4 min read
  • 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.

LayerWho counts itWhat goes in
Visit layerThe tracking tag on your siteViewed a page, added to cart, went to checkout, reached the order-complete page
Order layerYour 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.

MetricCorrect combinationWhat not to do
CVRSessions with a purchase ÷ sessions (visit ÷ visit)Orders ÷ sessions (order ÷ visit) → reads too high
AOVRevenue ÷ transactions (order ÷ order)Revenue ÷ purchasing sessions (order ÷ visit) → reads too high
Cart → checkout rateSessions 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 purchase event, 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.

  1. First suspect that the difference is explained by the layers (the tables in this post).
  2. 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.
  3. 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