Ecommerce metrics: the 15 numbers that actually matter
Revenue, conversion rate, AOV, ROAS, LTV and more: every key ecommerce metric with its formula, a worked example and what to do when it looks bad.

Contents
- Three rules before you look at any number
- The 15 metrics at a glance
- 1. Demand: revenue, orders, sessions, revenue per session
- 2. The purchase funnel: conversion rate, cart, checkout
- 3. Value per order: AOV, items, returns
- 4. What is left: contribution margin, ROAS, CAC
- 5. Retention: repeat purchase rate and customer value
- 6. Visibility: clicks, impressions, CTR
- Build your own metric set in six steps
- Which number when
- From anomaly to cause
- Five mistakes that make metrics useless
- In short
Most store owners check revenue every day and still cannot say where they stand. Revenue alone does not tell you whether more visitors, better-buying visitors or fuller carts are behind the number, and it says even less about whether money is left at the end. This article walks through the 15 metrics that actually trigger decisions in an online store: formula, a worked example, and what you do when the number looks bad.
Three rules before you look at any number
Every number needs a reference point. $12,000 in revenue means nothing without last week, the same month last year, or a target. Compare against the same weekday average or the same month a year ago, not against the previous calendar month, or you will end up comparing February with December.
Every number needs a sensible time window. At 30 orders a month, a daily conversion rate is noise. Rough rule of thumb: a period is long enough when it contains at least 100 orders or 30 days. That is why most reporting works with 7, 30 and 90 days.
Every number only gets interesting inside a segment. A conversion rate across all channels is a blend of brand search, price comparison traffic and cold advertising. The moment you split by channel, device and new versus returning customers, you can see where the problem sits.
The 15 metrics at a glance
| # | Metric | Formula | Source |
|---|---|---|---|
| 1 | Revenue | Sum of orders (net) | Store back office |
| 2 | Orders | Count of completed purchases | Store back office |
| 3 | Sessions | Visits to the store | GA4, Shopify reports |
| 4 | Revenue per session | Revenue ÷ sessions | Calculated |
| 5 | Conversion rate | Orders ÷ sessions × 100 | GA4, store |
| 6 | Add-to-cart rate | add_to_cart events ÷ product views × 100 | GA4 |
| 7 | Checkout abandonment rate | 1 − (purchases ÷ checkouts started) × 100 | GA4 |
| 8 | Average order value (AOV) | Revenue ÷ orders | Calculated |
| 9 | Items per order | Units sold ÷ orders | Store back office |
| 10 | Return rate | Returns ÷ orders × 100 | Store back office |
| 11 | Contribution margin | Revenue − COGS − variable costs | Your own calculation |
| 12 | ROAS | Ad revenue ÷ ad spend | Google Ads, Meta |
| 13 | Customer acquisition cost | Marketing spend ÷ new customers | Calculated |
| 14 | Repeat purchase rate | Customers with ≥ 2 orders ÷ customers × 100 | Store back office |
| 15 | Customer lifetime value | See section 5 | Calculated |
1. Demand: revenue, orders, sessions, revenue per session
These four belong together because they explain each other. Revenue is the result, sessions are the raw material, orders are the transition in between.
Revenue per session is the most underrated metric in ecommerce. It folds conversion rate and order value into one number and answers the question that decides every advertising call: what is a visitor worth?
Example: 40,000 sessions, 800 orders, $72,000 revenue. Conversion rate 2.0%, average order value $90, revenue per session $1.80. If a Google Ads click costs $0.60 you have room. If it costs $2.20 you do not.
When revenue drops: break the drop into its parts before you act. Sessions down as well? Then it is a traffic problem (rankings, budget, season). Sessions flat and conversion rate down? Then it is a store problem or a traffic-quality problem. Only order value down? Then your product mix or your discounting has shifted.
A warning about sessions: ad blockers and declined consent mean GA4 systematically counts fewer sessions than actually happen. That is fine as long as the undercount stays stable, so work with trends, not absolute truths. If the gap between store and GA4 is large or moving, start with the reasons GA4 revenue does not match Shopify.
2. The purchase funnel: conversion rate, cart, checkout
Conversion rate is the metric people search for most and act on worst. Its real value is not the headline figure but the comparison between segments.
Formula: orders ÷ sessions × 100.
As an experience value, the figures commonly land somewhere between 1% and 3%, depending on category, price level and how much brand search you get. That is a range from practice, not a benchmark from a study. A store selling expensive, complex products can be healthy at 0.8%; a consumables store with lots of regulars can be below par at 4%. So compare yourself against your own previous month, not against industry figures from a report. The full breakdown and the levers live in the article on ecommerce conversion rate.
Add-to-cart rate (add_to_cart events ÷ product views) separates a product problem from a checkout problem. If visitors do not add anything, something is wrong with the product page, the price, availability or the images.
Checkout abandonment rate = 1 − (purchases ÷ checkouts started). This is where everything that slows down the last step shows up: shipping costs that appear late, a forced account, a missing payment method, an unexpected delivery time.
Example: 15,000 product views, 1,050 add-to-cart events, 700 checkouts started, 490 purchases. Add-to-cart rate 7%, checkout abandonment 30%. The checkout completes seven out of ten started orders, so the weak step is the one before it: only 7% of product views lead to a cart at all.
If the abandonment rate is high: go through your own checkout on a phone with a stopwatch. What you find is usually the answer. The systematic version is in the guide to reducing cart abandonment.
In GA4 you find these steps in the purchase journey and checkout journey reports under Monetization, provided the standard ecommerce events (view_item, add_to_cart, begin_checkout, purchase) are being sent correctly. If one of them is missing, the whole funnel is wrong, so check that first: what to do when GA4 ecommerce tracking is not working.
3. Value per order: AOV, items, returns
Average order value (AOV) = revenue ÷ orders. This is the fastest lever you have, because it needs neither new visitors nor better rankings. Use the net value without shipping income, otherwise shipping charges distort comparisons between countries.
Example: raising average order value from $90 to $99 at the same 800 orders adds $7,200 in monthly revenue without a single extra visitor.
Items per order tells you whether the increase came from cross-selling (more items) or from higher prices and pricier products (same item count, higher value). Both are fine, but they have different consequences for margin and shipping cost.
Return rate = returns ÷ orders × 100. It belongs next to order value, because bundles, volume discounts and free-shipping thresholds can push returns up. A higher order value alongside a higher return rate is not a win. Always look at returns per category: in apparel they sit structurally far above consumables.
4. What is left: contribution margin, ROAS, CAC
Contribution margin = revenue − cost of goods − shipping − payment fees − packaging − advertising. This is the only number that decides whether growth helps you or hurts you. Plenty of stores grow revenue and shrink contribution margin, because the growth consists of discounted orders bought with expensive clicks.
ROAS = revenue from advertising ÷ ad spend. Google Ads does not print the word ROAS: the equivalent column is Conv. value / cost, total conversion value divided by total cost. Meta Ads Manager reports it as a purchase ROAS metric. In both tools you may have to add the column yourself. The value on its own says nothing. What matters is your break-even ROAS, which follows from your gross margin.
Example: a 40% gross margin means break-even ROAS = 1 ÷ 0.40 = 2.5. A ROAS of 3.0 makes money, a ROAS of 2.0 burns it, even though 2.0 sounds like profit on paper.
The full calculation, the edge cases and the difference to profit-based POAS are in the article on how to calculate ROAS.
Customer acquisition cost (CAC) = marketing spend ÷ new customers. Note: new customers, not orders. Otherwise you credit repeat purchases from existing customers to your advertising and believe acquisition is cheaper than it is.
If ROAS falls: check in this order whether (1) conversion tracking still counts everything, (2) the share of brand search has dropped, (3) new search terms are eating budget, (4) average order value has fallen. Most of the time it is one of those four, not your campaign structure. The related failure mode, clicks without conversions in Google Ads, has its own checklist.
5. Retention: repeat purchase rate and customer value
Repeat purchase rate = customers with at least two orders ÷ all customers × 100, always over a defined period. Without a period the number is meaningless, because older customers had more chances to come back.
Customer lifetime value (LTV) is the contribution margin a customer delivers over the whole relationship. A simple version that holds up:
LTV = average order value × orders per year × contribution margin rate × expected years
Example: $90 × 1.8 orders × 0.35 × 2 years = $113. At $40 acquisition cost that is an LTV-to-CAC ratio of roughly 2.8 to 1: workable, but without much of a cushion.
That ratio is the most strategic number in a store, because it sets how much you are allowed to spend on a new customer. If it is below 1, you are buying revenue at a loss and calling it growth.
6. Visibility: clicks, impressions, CTR
The organic side is not measured in GA4 but in Google Search Console. Four values in the performance report matter: clicks, impressions, click-through rate and average position. They show visibility before anything shows up in revenue, which makes them a leading indicator.
The practical starting point: export the query table and sort it by position. Search Console has no filter for a position range, so the spreadsheet does that job. As an experience value, the queries sitting roughly between positions 8 and 20 are the most rewarding to look at first, because the demand is proven and a few places of movement changes the click volume a lot. If a page has impressions but almost no clicks, the cause is often the snippet, and the full diagnosis is in impressions but no clicks. The wider program sits in the guide to ecommerce SEO.
Build your own metric set in six steps
- Pick one source of truth per metric. Revenue, orders and returns from the store back office, sessions and funnel steps from GA4, ad spend from Google Ads and Meta, clicks from Search Console. Write down which source wins for which metric, otherwise later discussions are about numbers instead of actions.
- Check tracking. Compare GA4 orders with store orders for the same period. Some undercount is unavoidable; as an experience value, a gap beyond roughly 10% is worth hunting down before you calculate anything else.
- Work out your margin honestly, once. Cost of goods, shipping, packaging, payment fees, return costs. Without that figure you can determine neither break-even ROAS nor LTV.
- Choose six headline metrics. A good starting set: revenue, conversion rate, average order value, contribution margin, ROAS, repeat purchase rate.
- Fix your comparison windows. 7, 30 and 90 days, each against the equally long previous period and against the same period last year.
- Put it in the calendar. Thirty focused minutes a week at the same time beats checking in constantly. Write down one decision every week, because a metric without a decision was not worth looking at. The full agenda is in the weekly routine for growing stores.
Which number when
| Rhythm | Metrics | What you do with them |
|---|---|---|
| Daily (2 minutes) | Revenue, orders | Spot outages: store reachable, payment working, campaign not out of budget |
| Weekly (30 minutes) | Conversion rate, AOV, ROAS, search clicks | Decide on actions |
| Monthly (1 hour) | Contribution margin, CAC, repeat purchase rate, returns | Steer budget and product mix |
| Quarterly | LTV, LTV to CAC, channel mix | Strategy: where to grow, where to brake |
From anomaly to cause
When a headline metric tips over, a fixed order of checks helps. This table covers the cases that come up most often in stores.
| Anomaly | Check first | Typical cause |
|---|---|---|
| Revenue down, sessions down | Search Console clicks and position, campaign budgets | Lost rankings, budget exhausted, season |
| Revenue down, sessions flat | Conversion rate per channel and device | Checkout error, delivery time, channel mix shifted |
| Conversion rate down, mobile only | Load time and checkout on a phone | New script, oversized image, layout shift |
| Orders flat, revenue down | Order value and share of discounted orders | Promotion running, product mix shifted |
| ROAS down, spend flat | Conversion tracking, search terms, order value | Tracking gap, new queries, discounting |
| Contribution margin down, revenue up | Margin per category, returns, shipping cost | Growth in low-margin products |
Work top to bottom and stop at the first explanation that covers the size of the deviation. If it only explains a tenth of the drop, keep looking. A spreadsheet does this job; a dashboard such as ecomando only saves you the weekly assembly of store, GA4, Search Console and ad data into one period.
Five mistakes that make metrics useless
Mixing gross and net. Store revenue often includes tax and shipping, GA4 revenue may not, depending on setup. Pick one definition and hold it.
Reacting to daily swings. A bad Tuesday is not information. Wait for seven days or 100 orders.
Reading averages without the distribution. An average order value of $90 can come from $90 orders, or from many $30 orders plus a few $400 ones. Look at the distribution at least once a quarter.
Judging channels by last click. The last click is often brand search, which then collects every success other channels set up. Look at new customers per channel alongside revenue.
Changing everything at once. If you touch prices, shipping costs and campaign structure in the same week, you will not know afterwards what worked. One change, then measure, and in a small store leave at least two weeks between changes.
In short
Revenue is a result, not a steering wheel. You steer with sessions, conversion rate and order value, and you verify with contribution margin, ROAS and customer value that the result actually pays. Once your six headline metrics sit in front of you with a clear source, a fixed window and a comparison value, most questions answer themselves.
Frequently asked questions
Which ecommerce metrics actually matter?
For most stores six are enough: revenue, conversion rate, average order value, contribution margin, ROAS and repeat purchase rate. Every other metric exists to explain why one of those six moved.
How often should I look at my metrics?
Revenue and orders daily as a quick glance, conversion rate, average order value and ROAS weekly, contribution margin and customer value monthly. In a small store, anything shorter than a week is mostly random noise.
Why do the numbers in GA4 and in my store differ?
They count differently. Your store knows every order from its database, GA4 only knows the ones where tracking fired. A gap of a few percent is normal, a larger gap points to a tracking problem.
What is the difference between revenue and contribution margin?
Revenue is the money customers pay. Contribution margin is what remains after cost of goods, shipping, payment fees, packaging and advertising. Only the contribution margin tells you whether a sale was worth making.
How many metrics belong in a dashboard?
At most six to eight on the first screen, each with a comparison against the previous period. Everything else belongs in detail views you only open when one of the headline numbers looks odd.

