Ecommerce performance analytics: from metrics to SKU actions
Ecommerce performance analytics measures what each product earns after costs and ads: the metrics, formulas, attribution models and SKU rules to act on.
Ecommerce performance analytics is measuring what each visit, order and product contributes after the variable costs of selling it. Revenue tells you what sold. Contribution tells you what was left to pay for ads and overhead.
That gap is widest at product level: below, three products share a ROAS of 4 and only two of them cover their ads. Every number here is a dated public source or arithmetic you can redo.
What is ecommerce performance analytics?
Ecommerce performance analytics is the discipline of tying every metric to a decision: which product gets more ad priority, which offer needs fixing, which checkout step leaks orders. Revenue starts the investigation; contribution profit settles it.
Revenue on its own misleads because it has no denominator.
U.S. retail ecommerce reached $300.2 billion in the first quarter of 2025, 16.2% of all retail sales, according to the U.S. Census Bureau’s quarterly ecommerce estimates. If your sales grew more slowly than that market, you lost share while reporting growth.
| Measure | Question it answers | Decision it changes |
|---|---|---|
| Revenue | What sold? | None on its own |
| Growth | Did sales change? | Whether to dig further |
| Market share | Are we keeping pace? | Category and pricing strategy |
| Contribution profit | What was left after variable costs? | Ad priority, price, range |
I use one test for every metric in a report: can you name the product decision it should change? If not, it belongs in an appendix.
A weekly review then answers three questions per product:
| Question | What it asks | Where the answer comes from |
|---|---|---|
| Demand | Do shoppers move towards a purchase? | Funnel rates per product |
| Economics | Does contribution cover the ads? | POAS per product |
| Execution | Fix the offer or checkout, or change priority? | The signal table further down |
Which ecommerce performance metrics should you track?
The ecommerce performance metrics worth tracking fall into three groups: traffic and conversion, basket and margin, and marketing efficiency. Before calculating any of them, check that the exports can support the formulas.
| Data input | Where it comes from | Needed for |
|---|---|---|
| Order table with unique order IDs | Shop backend | Conversion rate, AOV |
| Order lines with SKUs | Shop backend | Product contribution, bundles |
| Item IDs matching the feed | Google Merchant Center | Joining ad data to products |
| Cart and checkout events | Analytics tool | Funnel and abandonment |
| Cost of goods, shipping, fees, returns | Invoices, ERP, provider statements | Contribution margin, POAS |
Use net revenue excl. VAT, with discounts and refunds handled the same way everywhere. Contribution profit here means revenue after product and variable order costs, before advertising.
Core ecommerce analytics metrics and their formulas
Nine ecommerce analytics metrics cover traffic, basket, margin and marketing efficiency, and each needs one fixed formula before it can drive a product action.
| Metric | Formula | What it shows |
|---|---|---|
| Conversion rate | Orders ÷ sessions | Share of visits ending in a purchase |
| Average order value | Net revenue ÷ orders | Basket value per purchase |
| Return rate | Returned units ÷ units sold | Product-level return exposure |
| Contribution margin | (Revenue − cost of goods − variable order costs) ÷ revenue | Share left before advertising |
| ROAS | Attributed revenue ÷ ad spend | Revenue per euro of ads |
| POAS | Attributed contribution profit ÷ ad spend | Contribution per euro of ads |
| Cart abandonment rate | Abandoned carts ÷ carts | Cart intent not completed |
| MER | Total revenue ÷ total marketing spend | Blended marketing efficiency |
| LTV | Gross profit per customer over a set period | Room for acquisition cost |
An abandoned cart is a cart without a completed purchase inside your chosen window. Dividing unrelated purchase events by add-to-cart events does not measure the same shoppers.
For basket context, Statista puts the 2025 global average online order value at $117.40 after discounts and returns in its online-shopping order-value series. It is a useful check on how you define order value; your own category sets the target.
Which metric should drive which decision?
Each decision needs one primary metric, read against its own threshold:
| Decision | Primary metric | Threshold |
|---|---|---|
| Purchase progression | Conversion rate | Your own category baseline |
| Product economics | Contribution margin | Positive after variable costs |
| Ad coverage | POAS | 1 is break-even |
| Whole-business efficiency | MER | Your sustainable level |
A ROAS of 4, for example €4,000 of attributed revenue on €1,000 of ads, says nothing about what remains after costs. POAS adds that cost information.
Breaking even on ads is not breaking even as a company. Fixed costs still need paying from what sits above a POAS of 1.
MER checks whether channel reports add up for the business as a whole (MER vs ROAS). Gross-profit LTV supports acquisition planning but is not a spend allowance; the LTV:CAC ratio leaves room for service costs and profit.
How do attribution models split sales credit?
Attribution models split the credit for one order across the ad interactions before it, and each model splits it differently. Say a shopper finds a jacket through a Shopping ad, comes back through a Meta retargeting ad and buys after searching for the shop’s name.

Show the dataHide the data
| Attribution model | Shopping ad (first touch) | Meta retargeting ad (middle) | Branded search (last touch) |
|---|---|---|---|
| Last click | €0 | €0 | €100 |
| First click | €100 | €0 | €0 |
| Linear | €33 | €33 | €34 |
| Position-based | €40 | €20 | €40 |
Last-click reporting gives that order to branded search. A merchandiser who cuts the Shopping budget because it “converts nothing” has confused where the order finished with what made it happen.
| Model | How it assigns credit | Strength | Blind spot |
|---|---|---|---|
| Last click | All to the final touch | Simple closing baseline | Favours demand capture |
| First click | All to the first touch | Shows journey entry | Ignores later assists |
| Linear | Equal across touches | Makes assists visible | Assumes equal weight |
| Position-based | Most to first and last | Credits discovery and close | Uses fixed weights |
| Data-driven | Models converting and non-converting paths | Weighs interaction context | Limited to observed data |
| Holdout or geo test | Compares exposed and unexposed groups | Estimates incremental effect | Needs careful design |
Google’s model weighs time to conversion, device type, number of ad interactions, the order of exposure and the creative type, per its data-driven attribution documentation.
The model is specific to the advertiser and the conversion event, so a purchase and a subscription renewal do not share one interpretation.
What should you do when attribution models disagree?
Disagreement between models tells you where to investigate. Compare last click with data-driven attribution per channel:
| Pattern | Likely role | Next step |
|---|---|---|
| Little last-click credit, much data-driven credit | Discovery or consideration | Hold budget, test incrementality |
| Most last-click credit, little data-driven credit | Closing demand made elsewhere | Check branded and retargeting overlap |
| Low credit in every model | Weak contribution | Lower priority after a fair window |
Before a large budget shift, run a holdout or geo experiment, because moving observed credit around does not show that the ads caused the sale. Incrementality testing for Google Shopping walks through both designs.
Store campaign and product IDs, timestamps, device and conversion value with each journey, and keep the clicked product apart from the purchased products.
Pick one primary model for routine comparison, keep last click as a baseline, and log disagreements instead of choosing whichever model flatters a channel.
Why does product-level analysis beat the account average?
Product-level analysis beats the account average because one ROAS can hide products that lose money on every sale.
Take three products, each with a ROAS of 4 on €1,000 of ads, and margins of 20%, 30% and 50% (illustrative data).

Show the dataHide the data
| Product (contribution margin) | POAS |
|---|---|
| A (20%) | 0.8 |
| B (30%) | 1.2 |
| C (50%) | 2 |
| Product | Ad spend | Revenue | Margin | Contribution | Break-even ROAS | POAS | Profit after ads |
|---|---|---|---|---|---|---|---|
| A | €1,000 | €4,000 | 20% | €800 | 5 | 0.8 | −€200 |
| B | €1,000 | €4,000 | 30% | €1,200 | 3.33 | 1.2 | +€200 |
| C | €1,000 | €4,000 | 50% | €2,000 | 2 | 2 | +€1,000 |
POAS = ROAS × contribution margin, as long as revenue, contribution and spend cover the same products and attribution basis. Together the three return +€1,000, which makes A’s €200 loss invisible in the campaign report.
Costs are moving faster than the ratios that report on them.
CommerceIQ’s Q3 2025 ecommerce benchmark found ordered product sales up 9% year on year and retail media spend up 22%, while unit margins fell 2–3% and CPC and ROAS stayed broadly flat. A steady ROAS can sit on top of worsening economics.
Which costs belong in the product calculation?
Every variable cost of an order belongs in the product’s contribution; fixed costs and stock do not.
| Cost or factor | Where it belongs |
|---|---|
| Cost of goods | Contribution |
| Shipping and packaging | Contribution |
| Payment fees | Contribution |
| Discounts | Contribution (lower revenue) |
| Returns | Contribution |
| Stock level | Next to it, as a constraint |
| Rent, salaries, software | Fixed costs, paid from what is left |
The ecommerce return rate guide shows how much returns alone can move contribution.
Bundles and substitutions need care: a shopper can click one jacket and buy another, or buy it in a bundle. Keep the acquisition item and the purchased order lines separately, then calculate contribution from what was sold. Product journeys show which products bring buyers who purchase something else.
A low-return acquisition product can still be worth it when its buyers go on to generate enough contribution. That needs observed cohort data and a payback rule; without both, expected repeat purchases are a justification, not a measurement.
How do you read one product through the funnel?
Read a product’s funnel one transition at a time, because each drop-off points to a different cause.
Take an illustrative jacket with matched item IDs over one observation window: 2,000 product views, 300 carts, 120 checkout starts and 60 purchases.

Show the dataHide the data
| Funnel stage | Shoppers at each stage |
|---|---|
| Product views | 2,000 |
| Add to cart | 300 |
| Checkout started | 120 |
| Purchases | 60 |
That is a 15% view-to-cart rate, 40% of carts reaching checkout and 50% of checkouts completing. Overall, 3% of viewers buy and 80% of carts are abandoned (1 − 60 ÷ 300).
Baymard Institute’s checkout research puts average cart abandonment at 70.19%.
In its survey of U.S. shoppers, 42% had abandoned because they were just browsing or not ready to buy, and 17% because checkout was too long or complicated. Those shares describe shoppers in general, not why this jacket loses its carts.
| Transition | Jacket rate | What to check |
|---|---|---|
| View to cart | 15% | Size information, photos, availability, match with the ad |
| Cart to checkout | 40% | Delivery cost shown early, delivery time, clear total |
| Checkout to purchase | 50% | Payment options, account requirement, form errors and length |
High cart activity shows interest; it says nothing yet about whether the price or product page is right. Checkout drop-offs likewise justify an investigation before anyone concludes the payment form is broken.
Are your funnel events counting the same shoppers?
Build the funnel from view_item, add_to_cart, begin_checkout and purchase, with item IDs that match the feed, deduplicated purchases and stages joined per journey.
Comparing independent event totals produces a funnel no shopper went through.
Repeat views and cart edits inflate the stages: a shopper who changes the quantity is not a second abandoned cart. Write down whether each stage counts users, sessions, carts or events.
Judge any checkout fix by the extra contribution it brings after its own costs. A conversion lift paid for with heavier discounts can leave less money than the original funnel did.
How do you turn SKU data into break-even actions?
Turn SKU data into actions by comparing each product with its own break-even, then giving it more or less priority. Break-even ROAS is 1 ÷ contribution margin, so a 25% margin needs a ROAS of 4; work it out per product rather than applying one store-wide target.

Show the dataHide the data
| Contribution margin | Break-even ROAS |
|---|---|
| 20% | 5 |
| 25% | 4 |
| 30% | 3.33 |
| 40% | 2.5 |
| 50% | 2 |
The break-even ROAS calculator gives that floor for any margin. In POAS terms the same floor is always 1, which is why POAS vs ROAS puts every product on one scale.
- Validate contributionReconcile net revenue excl. VAT, cost of goods and variable order costs with the shop's financial records.
- Calculate POAS over a completed windowUse 30 days as the starting window, record the attribution model and wait out the conversion lag before reading the result.
- Separate evidence from noiseRank by clicks, so products with real volume are judged now and products with a handful of clicks stay under observation.
- Check stock coverFlag products with less than two weeks of stock as a starting rule, adjusted for how reliable replenishment and the season are.
- Compare the offerNote whether your price sits above or below the median of functionally equivalent offers before blaming the ads.
- Pick one action per productUse the signal table below, and write down the reason, the owner and the expected effect on contribution.
- Make it auditable, then remeasureTurn the decision into a Merchant Center custom label or campaign rule, check the campaign uses it, and review after the same window.
Thirty days and 20 products are a practical starting point. Extend the window where conversion lag, returns or low volume leave the evidence thin.
Which action fits which product?
Each product’s action follows from two signals, clicks and POAS against your operating target. That target usually sits above 1, because the ads also have to leave money for overhead and profit.
| Signal | What it means | Action |
|---|---|---|
| Many clicks, POAS above target | Proven profitable demand | Increase priority while stock lasts |
| Few clicks, POAS above target | Promising, still uncertain | Improve feed data, increase priority a little |
| Few clicks, POAS below target | Weak volume and weak return | Lower priority or exclude from Shopping |
| Any clicks, under two weeks of stock | Supply limits extra demand | Hold priority until replenished |
These rules describe patterns; they do not prove cause.
Apply labels deliberately, keep a change log, and avoid restructuring campaigns after every short-term swing, so the next review can tell an offer change from a priority change.
For Performance Max, placement reporting is not product explainability.
Google’s April 2025 channel-reporting announcement added channel and placement visibility, but a product decision still needs campaign spend, feed items, purchased items and contribution reconciled.
A spreadsheet handles this for a few dozen products. Across hundreds, Product Segmentation does it for the whole range.
Product Metrics ML places each product in one of six segments by ad clicks and ROAS or POAS, and writes the segment to Merchant Center as a custom label for Shopping and Performance Max. It is built for shops with 500 to 50,000 products and is free up to €10,000 of Google Shopping spend over a rolling 30 days (pricing).
Final thoughts
The number that decides a product’s budget is not its ROAS but the distance between its POAS and 1. An account can meet every target and still fund products that lose money on each sale, as product A did above.
So pick the 20 products taking the most ad spend this week, put their real margins next to their ROAS, and lower priority on the ones below break-even before you scale anything else.
If you also sell through Amazon, fulfilment fees change the maths at business level as well as per product.
For that wider exercise, splitting fixed costs from contribution, break-even planning with agentcentral shows how to calculate the break-even point for Amazon FBA. Keep it separate from the narrower question of whether one SKU covers its ads.
Written by
Berend Vrakking, Founder of Product Metrics
1M+ products analysed · Nominated at the Dutch Search Awards for Best Measurement Campaign (2023) and Best Use of Data (2024)
Keep reading.
Operationalizing POAS: Best Practices, Governance, and Analysis
Operationalizing POAS for Google Ads: one profit definition, profit sent to Google Ads and Meta server-side, products segmented on it and a weekly review.
POAS In The Real World Passing Profit, Composing Conversion Value, And Bidding With Confidence
POAS in the real world passing profit to Google Ads: what to send as conversion value, which costs to include, how to keep margins private and test it.
Best POAS Tracking Tools for E‑commerce and Google Ads A Practical Buyer’s Guide
Compare POAS tracking tools for Google Ads and Shopping: native Google reports, profit apps, attribution platforms and product-level POAS, by business size.
Frequently asked questions.
What is the difference between ecommerce KPIs and ecommerce performance analytics?
How often should you review ecommerce performance metrics?
Do you need a data warehouse for ecommerce performance analytics?
See which of your products to push, fix or pause. Start with your own products, or a 30-second estimate.
Check one product first: work out its break-even ROAS in the calculator. Then see where all your products stand.
Questions, or want to spar about your products? Book a demo: a video call with Berend, then a demo account.