All segments

Ecommerce KPI Benchmarks: What a Good Number Looks Like

Which ecommerce KPI to track at $3M+, how to compute each one from Shopify data, and which published benchmarks are independent and which are vendor claims.

  • Published
  • Reading time 14 min read
  • Author Nafiul Hasan
Ecommerce KPI Benchmarks: What a Good Number Looks Like. Diagram: where the reporting stops. RUN Ecommerce KPI Benchmarks: What aGood Number Looks Like REPORTEDNOT REPORTED pointerflow.com

Short answer

Ecommerce KPI benchmarks are only useful when you know who measured them and how. A good number for a $3M+ brand is one computed from your own order data over a stable window and compared against a sourced range. Most published benchmarks are vendor-reported or unpublished, so treat them as prompts, not targets.

Most pages about an ecommerce KPI hand you a list of twenty metrics and a table of “industry averages” with no author, no sample and no date. This page does something narrower. It says which numbers a brand at $3M+ revenue should watch, how each is computed from Shopify data, and which published benchmarks come from independent measurement, which are vendor claims, and which do not exist at all.

If your store turns over less than $3M a year, or you are still on a basic plan with a handful of orders a day, this is not written for you. Volume that low makes every rate here too noisy to steer by, and your time is better spent on the product and the first channel that works.

Which ecommerce KPI should a $3M+ brand track first?

Contribution margin after ad spend. It is the one ecommerce KPI that the rest of the list feeds into, and it is the one most Shopify dashboards do not show. Revenue and orders go up when you discount harder or buy more traffic. Contribution margin goes up only when the business gets better at making money from an order.

The formula is plain: order revenue, minus product cost, minus shipping and fulfilment cost, minus payment fees, minus refunds, minus attributed marketing spend, divided by the number of orders (or reported as a total per week). Shopify holds the revenue, refund and payment-fee lines. The product cost sits in the cost-per-item field if someone filled it in, and in a spreadsheet if not. Fulfilment cost comes from your 3PL invoices. Ad spend comes from each platform.

The number is rarely on the default dashboard: it needs four sources joined on one key. A brand at $3M+ with no contribution margin line is steering by revenue, and revenue is the easiest number to improve while the business gets worse.

The step teams get wrong

Teams calculate it on the order date and compare it with ad spend on the click date. A campaign that spends on Sunday and converts on Wednesday shows a loss on one day and a gain on another, and the weekly view hides it only because the week is long enough. Pick the date basis once (order date is the usual choice), write it down, and apply it to every cost line.

What are the top KPIs for ecommerce, by stage?

The top ecommerce KPIs group by the stage of the customer journey they describe. One KPI per stage is enough for a weekly review. The rest belong in a monthly page or a diagnostic view you open only when a headline number moves.

StageKPIHow to compute it from Shopify dataCommon trap
AcquireBlended acquisition costTotal marketing spend divided by new customers in the same periodCounting returning customers as new
AcquireMarketing efficiency ratio (MER)Total store revenue divided by total marketing spendExcluding agency and tool fees from spend
ConvertConversion rateOrders divided by sessions, split by device and sourceComparing your rate with a benchmark measured differently
ConvertCheckout completionOrders divided by checkouts startedIgnoring express-payment orders that skip a step
GrowAverage order valueOrder revenue divided by orders, first versus repeatReading it without margin
RetainRepeat purchase rateCustomers with a second order divided by the cohort, by first-order monthUsing calendar-year rates that mix cohorts
RetainCustomer lifetime valueCumulative gross margin per customer in a cohort, over windows already livedProjecting a curve and calling it observed
ProtectRefund and chargeback rateRefunded or disputed orders divided by orders in the periodMeasuring by refund date instead of order date
ProtectFailed-payment rate (subscriptions)Failed charges divided by attempted chargesCounting a recovered retry as a success on the first attempt

Take from the table that every KPI has a named denominator and a known way to get it wrong. If a metric on your dashboard has no written definition, it is not yet a KPI. It is a number that sometimes changes.

For a fuller treatment of where the source data lives, see the guide to Shopify analytics, and for the customer-value pair specifically, LTV and CAC explained.

Which benchmarks are independent, which are vendor claims, and which do not exist?

Very few ecommerce benchmarks are both sourced and comparable to your store. This section’s table lists the figures we are willing to quote, who measured them, and what they do and do not tell you. Everything else in this article is marked metric to confirm, because a number we cannot source is a number we do not print.

FigureSourceKindWhat it tells youWhat it does not
41% of email revenue from automated flowsKlaviyo, 183,000+ brandsVendor-reportedFlows carry a large share of email revenue on KlaviyoWhether your share should match, or how it splits by vertical
ChatGPT referral traffic converts at 1.81% vs 1.39% for non-branded organicVisibility Labs, 94 ecommerce brandsIndependentAI-referred sessions converted better in that sampleA target for your store-wide conversion rate
About 9% of MRR lost to failed paymentsBaremetricsIndependentFailed payments are a material leak in subscription revenueYour failure rate, which depends on card mix and retry rules
25% of lapsed subscriptions trace to payment failureStripeVendor-reportedA meaningful share of “churn” is not a decision to leaveThe recovery rate you can achieve

The proprietary element on this page is the third column. A vendor benchmark describes the vendor’s customers, who chose that vendor and are usually more engaged with its product than the average store. An independent one describes whoever the researcher could sample. Neither is “the market”. Putting the label next to the number stops a reader from treating a marketing statistic as a target.

Two things follow. First, do not set a team goal from a benchmark whose sample you cannot inspect. Second, when a report gives an “average” with no mean-versus-median, no window and no sample size, treat it as unpublished.

Benchmarks that are not published

Average conversion rate by industry is the clearest example. Figures circulate widely, but they are computed with different session definitions, different traffic filters and different date windows, so two “averages” for the same category can differ for reasons that have nothing to do with the stores. The value for your store is metric to confirm until you compute it from your own data. Our page on average ecommerce conversion rate by industry goes into why the published figures disagree.

Average order value, repeat purchase rate and refund rate follow the same pattern: they vary sharply with price point, category and how much subscription revenue is in the mix, and no single independent source covers them at the $3M to $30M band. Compare your own trend line instead.

How do you know if a number is good without a benchmark?

Compare the number with itself. A good ecommerce KPI is one that moves in the right direction over a stable window, on a definition that has not changed, and that you can explain when it does not.

Three comparisons do more work than any industry average:

  1. Same week, prior year, adjusted for promotions. Ecommerce is seasonal, so a week-on-week comparison across a sale period mostly measures the sale. Compare like calendar periods, and mark the weeks that had a major campaign or stock-out.
  2. Cohort against cohort. Customers who first bought in March against those who first bought in June. If the June cohort repeats less at the same age, something changed: acquisition source, first product, discounting or delivery.
  3. Segment against segment. New versus returning, mobile versus desktop, paid versus organic. An overall conversion rate that is flat can hide a mobile rate that fell and a desktop rate that rose.

Consider a hypothetical brand, for illustration only. Overall conversion looks flat across two months. Split by device, mobile has slipped and desktop has risen by a similar amount, because a theme update broke a mobile payment button while a desktop promotion ran. The blended number said nothing was wrong. The segmented one pointed to a bug.

A KPI earns its place when it raises a question quickly enough that someone can look. A benchmark is at best a way to decide which question to ask first.

Which KPIs does Shopify’s own reporting leave out?

Shopify’s built-in reports cover sales, orders, customers and traffic reasonably well. They do not natively give you the numbers that need a second data source. The gap is not a criticism of Shopify; it is a consequence of what Shopify knows and what it cannot.

  • Contribution margin after ad spend. Shopify does not hold your ad spend, and only holds product cost if the cost-per-item field is populated for every variant.
  • Blended acquisition cost. Requires spend from every ad platform and a definition of a new customer that survives guest checkout and duplicate emails.
  • Cohort repeat rate by first product. Reports exist, but joining them to product margin and to acquisition source usually means an export.
  • Failed-payment recovery. Only relevant for subscription brands, and it lives in the subscription platform and the payment processor, not the storefront.
  • Refund reason and refund-to-margin impact. Refund values are in Shopify; the reason codes are often free text in a helpdesk.

If you are on a paid Shopify plan already, our overview of Shopify reporting apps compares what the add-ons cover, and Shopify dashboards covers layout.

Attribution: the KPI everyone disputes

Attribution deserves its own warning. Each ad platform reports conversions using its own window and its own view-through rules, so the sum of platform-reported revenue routinely exceeds the revenue Shopify recorded. That is expected behaviour, not a fault. Use platform ROAS to compare campaigns inside one platform, use MER to judge the whole marketing budget, and use a holdout or geo test when you need to know whether a channel caused a sale.

Attribution tools such as Triple Whale and Northbeam sell a reconciled view on top of these sources. Their pricing models differ, and the current number should come from each vendor’s own pricing page, not from a blog post. Whichever you choose, check what it does not measure: offline influence, dark social and long consideration cycles tend to fall outside every model.

How should you set up KPI tracking on Shopify?

Start with definitions, then sources, then a dashboard. Reversing the order is how brands end up with a beautiful page nobody trusts.

  1. Write one definition per KPI. Numerator, denominator, date basis, exclusions (test orders, wholesale, gift cards) and the source table. One paragraph each, kept somewhere the finance lead can read it.
  2. Fix the cost inputs. Populate cost per item for every variant, load shipping and fulfilment cost per order from your 3PL, and decide how payment fees are allocated. Contribution margin is only as good as its worst input.
  3. Choose a source of truth per metric. Orders, refunds and revenue from Shopify. Spend from the ad platforms. Sessions from one analytics tool, consistently. Never mix sources inside one ratio without saying so.
  4. Add a data-health check. Count orders in Shopify against orders in the reporting layer each day. If they differ, the dashboard is wrong, and the KPIs on it are not to be trusted until someone finds out why.
  5. Set alert thresholds against your own history. A drop beyond the normal week-to-week spread triggers a look. Define the spread from at least a year of your own data, and record it as metric to confirm until you have done that.
  6. Review monthly, prune quarterly. Any tile nobody acted on in a quarter is removed.

The verification is simple. Pick one week from the past, recompute each headline KPI by hand from raw exports, and compare with the dashboard. If they disagree, fix the pipeline before the week’s numbers reach a board pack.

Where this breaks at volume

Guest checkout creates duplicate customers, so new-customer counts inflate and repeat rates deflate. Subscriptions add orders that are renewals, not decisions, which distorts average order value and conversion. Multi-currency stores report revenue in the presentment currency unless someone converts it. Bundles and kits change what a “unit” is. Each of these is a definition problem, and each is invisible in a chart until you look for it.

What do subscription brands add to the list?

Subscription brands add recurring revenue, churn split into voluntary and involuntary, failed-payment rate, and cohort retention curves. A conventional ecommerce KPI set treats every order as a one-off decision, which is wrong for a renewal that happens without the customer doing anything.

Involuntary churn is the line to isolate. Baremetrics puts about 9% of MRR as lost to failed payments (independent), and Stripe reports that 25% of lapsed subscriptions trace to payment failure (vendor-reported). Neither number is your rate, but both say the leak is worth measuring separately. If you cannot say how many of last month’s cancellations were card declines rather than customer choices, that gap is the first KPI to build. Our pieces on involuntary churn and average churn rate for subscription services go deeper.

Which KPIs are traps?

Some numbers look useful and mislead. Each of these has a proper place, but not as a headline.

  • Sessions and page views. Traffic is an input. A rise with falling conversion is a warning, not a win.
  • Platform-reported ROAS in isolation. It reflects one platform’s attribution view, and the sum across platforms will overcount.
  • Average order value without margin. Pushing it up with free-shipping thresholds can reduce contribution margin per order if shipping cost rises faster. Our guide to AOV growth covers the levers and what each costs.
  • Email open rate. Privacy features on mail clients inflate opens, so treat it as a rough signal. Revenue per recipient is more honest. Klaviyo’s flow figure says flows are a big revenue share on that platform (vendor-reported), which is a reason to measure flow revenue directly, not to copy a percentage.
  • Any lifetime value that includes revenue the cohort has not yet produced. Label projections as projections.

There is also a case where AI-driven reporting does not belong: anything that changes a number without a person able to explain the change. An assistant can draft a weekly summary from clean data, but if the underlying tables are unreliable, it will produce confident prose about the wrong figures. Fix the data first.

What does a sensible weekly KPI page look like?

A single screen, read in five minutes. One line per stage, each with this week, the comparison week, and a one-sentence note if it moved beyond its normal spread.

  • Margin: contribution margin after ad spend, total and per order.
  • Acquire: blended acquisition cost and MER.
  • Convert: conversion rate by device, and checkout completion.
  • Retain: repeat rate for the two most recent full cohorts.
  • Protect: refund rate and, for subscriptions, failed-payment rate.
  • Data health: the order-count reconciliation from the setup steps.

Anything else sits behind a link. The value of the page is that its absence of clutter makes a real movement obvious. Compare that with a wall of tiles, where a broken tag looks the same as a good week.

For Google Analytics specifically, Google Analytics on Shopify covers how the storefront events map to the reports you will pull sessions from.

Who is this approach not for?

This approach is not for brands below the $3M floor, where a single campaign or a stock-out swamps the signal and the cost of building a joined-up reporting layer is out of proportion to what it returns. It is also not for teams that want a benchmark to quote in a deck: the honest answer to “what is a good conversion rate” is “measured how, and against whom”, and that is a less comfortable slide.

The approach fits operators at $3M to $30M who already have more dashboards than decisions, whose finance number and marketing number disagree by more than anyone can explain, and who suspect the disagreement is a definitions problem. It usually is.

One trusted layer of definitions, sources and checks is a reporting and analytics problem, and it is the work behind our reporting and analytics service: one place where contribution margin, cohort retention and data-health checks are computed the same way every week.

Sources

  • Klaviyo, 183,000+ brands: 41% of email revenue comes from automated flows (vendor-reported).
  • Visibility Labs, 94 ecommerce brands: ChatGPT referral traffic converted at 1.81% against 1.39% for non-branded organic (independent).
  • Baremetrics: about 9% of monthly recurring revenue lost to failed payments (independent).
  • Stripe: 25% of lapsed subscriptions trace to payment failure (vendor-reported).
  • No other external figures are quoted. Formulas and definitions are standard ecommerce reporting practice; vendor pricing for attribution tools is not quoted and should be read from each vendor’s own pricing page.

Frequently asked

What are the top KPIs for ecommerce at $3M+ revenue?

Contribution margin after ad spend, blended acquisition cost against customer lifetime value, repeat purchase rate by cohort, conversion rate split by device and traffic source, and refund and chargeback rate. Everything else on a dashboard is either an input to one of those or a vanity number.

How many KPIs should a Shopify store report weekly?

Fewer than ten. A weekly page that fits on one screen gets read; a forty-tile dashboard gets opened once. Pick one metric per stage (acquire, convert, retain, margin) plus a data-health check, and move everything else to a monthly review.

Why does my Shopify conversion rate differ from Google Analytics?

Shopify counts sessions on its own storefront and checkout, while Google Analytics 4 depends on consent, tag firing and bot filtering. Ad blockers and cookie banners remove sessions from one tool and not the other. Pick one source of truth, document it, and never compare across the two.

Is there a single good conversion rate I should aim for?

No. Conversion rate moves with traffic mix, device, price point and how much of your traffic is returning customers. Compare your own rate by segment and by week, and use a published industry figure only after checking who measured it and over what window.

What is the difference between MER and ROAS?

ROAS is revenue attributed to one ad platform divided by that platform's spend, so it depends on the platform's attribution window. MER (marketing efficiency ratio) divides total store revenue by total marketing spend across every channel. MER can't be gamed by attribution, which is why finance teams prefer it.

Should I use average order value as a KPI?

Only alongside margin. Average order value rises when you discount less, bundle more or lose small orders, and the first of those can hurt volume. Track it by acquisition channel and by first versus repeat order, and read it next to contribution margin per order.

How do I calculate customer lifetime value without inventing numbers?

Use a cohort of customers who first bought in the same month, sum their gross margin across every later order, and divide by cohort size. Only report windows the cohort has actually lived through. A projected lifetime value is a forecast and should be labelled as one.

Which KPIs does Shopify's own analytics not report?

Contribution margin after ad spend, cohort repeat rate by first product, blended acquisition cost across channels, and failed-payment recovery. Some come from combining Shopify data with ad platform exports and a cost sheet, which is why they end up in a warehouse or a reporting tool rather than the admin.

How often should KPI definitions be reviewed?

Whenever a data source changes, and at least once a year. Tracking migrations, a new subscription app, a consent banner or a change in refund policy all shift the numerator or denominator silently. Write each definition down with its source table and the date it last changed.

Do subscription brands need different KPIs?

Yes. Add monthly recurring revenue, voluntary versus involuntary churn, failed-payment rate and recovery rate, and cohort retention curves. Involuntary churn is a payments problem, not a product problem, so it needs its own line and its own owner.

Can I trust benchmark reports from ad and analytics vendors?

Trust them as a description of that vendor's customers, not as a measure of the market. Check the sample, the window and whether the figure is a mean or a median. If the report does not publish those, treat the number as a vendor claim.

Next step

Is this your reporting & analytics problem, or a symptom of another one?

Bring your numbers — the churn split, the decline rate, whatever your flows are earning — and we will tell you which of them is the expensive one.

Book a call →