Quick answer: what to check first when revenue is down but traffic is stable
If ecommerce revenue is down but traffic is stable, check revenue per session first. Then split the decline into the components that can move underneath the same traffic number: conversion rate, order count, AOV, discounting, product mix, refunds, cancellations, repeat-customer share, cohort behavior, and attribution mismatches.
The mistake is treating stable traffic as proof that marketing is fine or treating lower revenue as proof that ads need more budget. The same number of visitors can produce fewer orders, smaller orders, more discounted orders, lower-quality orders, more refunds, or fewer repeat purchases.
First diagnostic sequence: net revenue per session → conversion rate → order count → gross AOV and net AOV → discounts → SKU mix → refunds and cancellations → repeat-customer share → cohort behavior → channel attribution versus actual orders.
Do not change bids, launch a blanket discount, pause campaigns, or rewrite your lifecycle calendar until you know which part moved. A conversion leak needs a different fix than an AOV leak. A refund problem needs a different fix than a traffic problem. A returning-customer decline needs a different fix than an attribution-reporting issue.
| Symptom | Most likely place to look first | What it usually means |
|---|---|---|
| Sessions stable, orders down | Conversion rate, checkout, availability, offer clarity | The same traffic is producing fewer purchases. |
| Orders stable, revenue down | AOV, discounts, SKU mix, bundle attach rate | Customers are still buying, but baskets are smaller or cheaper. |
| Gross revenue stable, net revenue down | Refunds, cancellations, returns, payment issues | Sales are being reversed after the order is placed. |
| New customers stable, revenue down | Repeat-customer share, reorder timing, cohort quality | Acquisition may be masking a retention problem. |
| Ad platform numbers changed, store revenue does not agree | Attribution windows, tracking rules, order-level reconciliation | The reporting layer may not match actual customer and order behavior. |
Core metrics to define before you diagnose
- Gross revenue: sales before refunds, cancellations, and sometimes before certain adjustments depending on the platform.
- Net revenue: revenue after subtracting refunds, cancellations, discounts, or other adjustments according to your chosen definition.
- Revenue per session: net revenue divided by sessions. This shows how much revenue each visit is producing.
- Conversion rate: orders divided by sessions.
- AOV: gross sales divided by orders.
- Net AOV: net revenue divided by orders.
- Repeat-customer share: the portion of orders or revenue from customers who have purchased before.
- Refund rate: refunded amount or refunded orders as a share of sales or orders.
- Cohort: a group of customers organized by a shared starting point, usually first purchase month.
- SKU mix: the blend of products, variants, categories, bundles, and price points sold in a period.
- Attribution mismatch: a disagreement between Shopify, GA4, Meta, Google Ads, email/SMS, surveys, or spreadsheets caused by different windows, models, tracking rules, or revenue definitions.
Step 1: Confirm the revenue drop is real and comparable
Before diagnosing the cause, confirm that the revenue decline is not a reporting artifact. Many ecommerce teams lose time because they compare different time windows, different revenue definitions, or different sources of truth.
Start by comparing the same number of days, the same weekdays, and the same commercial context. A Monday-to-Sunday period should not be compared to a Friday-to-Thursday period without noting the difference. A promotion week should not be compared to a non-promotion week as if they were equivalent. If seasonality matters, compare against the previous period and the same period last year where relevant.
Use a comparable time window
- Compare the same number of days.
- Match weekdays where possible.
- Separate sale periods, launch periods, holiday periods, and stockout periods.
- Mark major email sends, SMS campaigns, influencer posts, paid-media changes, marketplace events, and product launches.
- Exclude abnormal days only if you document why they were excluded.
Use one revenue definition
Revenue can change depending on whether a report includes or excludes refunds, canceled orders, taxes, shipping, duties, gift cards, subscription renewals, wholesale orders, marketplace orders, and currency conversion. Pick the definition you need for the diagnostic and apply it consistently.
| Check | Question to ask | Why it matters |
|---|---|---|
| Refunds | Are refunds subtracted in one report but not another? | Gross sales can look healthy while net revenue falls. |
| Canceled orders | Are canceled or voided orders included? | Order count and revenue can be overstated. |
| Tax and shipping | Are tax, shipping, duties, or fees included? | AOV and revenue comparisons can be distorted. |
| Discounts | Are discounts shown before or after revenue? | Heavy promotions may hide behind stable order volume. |
| Gift cards | Are gift card purchases or redemptions counted as revenue? | Gift card treatment can shift revenue timing. |
| Subscriptions | Are subscription renewals mixed with first-time orders? | Retention and acquisition performance can blur together. |
| Wholesale or B2B | Are wholesale orders mixed into DTC revenue? | Large orders can distort AOV and product mix. |
| Marketplace sales | Are Amazon, retail, or marketplace sales included? | Channel mix may explain the apparent change. |
| Currency | Did currency rates or store currency settings change? | Reported revenue may move without a demand change. |
If the drop disappears after standardizing the time window and revenue definition, you had a reporting comparison problem. If the drop remains, move into the operating metrics.
Step 2: Separate conversion rate, order count, and AOV changes
Once the revenue drop is confirmed, break it into the simplest components. Stable traffic does not tell you whether fewer people bought, whether buyers spent less, or whether post-purchase adjustments reduced net revenue.
| Metric | Formula | Use it to answer |
|---|---|---|
| Revenue per session | Net revenue / sessions | Is each visit producing less revenue? |
| Conversion rate | Orders / sessions | Are the same visitors placing fewer orders? |
| AOV | Gross sales / orders | Are order baskets smaller before adjustments? |
| Net AOV | Net revenue / orders | Are orders worth less after discounts, refunds, or cancellations? |
How to read the patterns
- Sessions stable + orders down: this is usually a conversion leak. Inspect product-page performance, checkout errors, payment failures, shipping sticker shock, site speed, stockouts, price changes, trust signals, and offer clarity.
- Sessions stable + orders stable + revenue down: this is usually an AOV, discount, or product mix leak. Customers are still buying, but they are buying cheaper items, fewer items, fewer bundles, or more discounted orders.
- Gross sales stable + net revenue down: this is usually a refund, cancellation, return, or post-purchase issue. The store is creating demand but losing revenue after purchase.
- Conversion rate stable + AOV stable + revenue down: recheck traffic quality, revenue definition, channel mix, excluded sales channels, currency, and reporting delays.
- New-customer orders stable + total revenue down: inspect repeat customers, subscription renewals, reorder timing, and cohort performance.
A simple diagnostic table to build
Create a 30/60/90-day comparison table with current period, previous period, and same period last year where relevant. Include sessions, orders, conversion rate, gross revenue, net revenue, AOV, net AOV, discounts, refunds, repeat-customer revenue, and top SKU revenue. You are looking for the first metric in the chain that moved materially.
Step 3: Inspect product mix, discounts, and stockouts
If order count is not the main issue, product mix is often the next place to look. Revenue can drop while traffic is stable because customers are buying different items than before: lower-priced SKUs, fewer bundles, fewer premium variants, more discounted products, or one-time products instead of subscription products.
Compare current product mix against the prior period
- Top SKUs by gross revenue, net revenue, units sold, orders, and refunds.
- Top categories by revenue and order share.
- Top variants, sizes, colors, flavors, or configurations.
- Bundle attach rate and multi-item order rate.
- First-purchase products for new customers.
- Subscription versus one-time purchase mix.
- Discount code usage by SKU, category, and channel.
- Free-shipping threshold performance and average basket size near the threshold.
A bestseller stockout can push shoppers into cheaper substitutes. A bundle merchandising change can reduce units per order. A discount code can increase orders but reduce net AOV. A product that looks strong on gross revenue can still hurt the business if it creates refunds, support tickets, or weak repeat purchase.
| Finding | Likely interpretation | Next diagnostic cut |
|---|---|---|
| High-price SKU down, low-price SKU up | Revenue mix shifted downward | Compare merchandising, inventory, collection placement, and campaign landing pages. |
| Bundle attach rate down | Customers are buying fewer items per order | Review bundle visibility, bundle pricing, cart upsells, and inventory dependencies. |
| Discounted orders up | Revenue may be bought with margin or AOV tradeoffs | Cut net AOV and repeat purchase by discount code. |
| Bestseller units down | Stockout, placement, price, or demand issue | Check inventory history, variant availability, and product-page traffic. |
| Subscription mix down | Recurring revenue or retention may be weakening | Inspect subscription churn, skipped orders, failed payments, and new subscription starts. |
Do not stop at total product revenue. Compare product contribution by first order, repeat order, discount usage, refund rate, and cohort behavior. Some products acquire customers who come back. Others generate a first sale but weak long-term value.
Step 4: Check refunds, cancellations, and net revenue drag
Gross sales can hide money flowing back out of the business. If traffic and orders look normal but net revenue is down, inspect refunds, cancellations, returns, failed payments, and fulfillment problems before assuming demand has changed.
Use three revenue views side by side: gross revenue, net revenue, and refund-adjusted revenue. The goal is to see whether the store is creating sales that later disappear.
Refund and cancellation cuts to inspect
- Refunds by SKU, variant, category, and bundle.
- Refunds by first-order product.
- Refunds by acquisition channel or campaign where available.
- Refunds by discount code.
- Refunds by fulfillment location, warehouse, or shipping method.
- Refunds by return reason.
- Refunds by customer segment, new versus returning customer, and cohort.
- Cancellations by payment status, fulfillment status, and order age.
| Pattern | What it may mean | Operator action |
|---|---|---|
| Refunds concentrated in one SKU | Product quality, sizing, description, or expectation issue | Audit product page, reviews, return reasons, supplier quality, and size guidance. |
| Refunds concentrated in one channel | Channel may be bringing mismatched buyers | Review ad creative, landing page promise, targeting, and first-order product. |
| Cancellations increased | Inventory, payment, fraud, fulfillment, or customer-service issue | Cut by payment status, fulfillment delay, warehouse, and cancellation reason. |
| Refunds high among new customers | Acquisition quality or expectation mismatch | Compare first-purchase products, offers, discount codes, and post-purchase education. |
| Refunds high among a recent cohort | A specific campaign, product launch, or fulfillment period may be responsible | Inspect cohort by first purchase month, SKU, channel, and return reason. |
Refund analysis is not just a finance cleanup task. It tells you which revenue is low quality. A product can drive top-line sales while suppressing net revenue, repeat purchase, and customer satisfaction.
Step 5: Diagnose repeat-customer and cohort decay
Traffic can remain stable because acquisition is still working, while revenue drops because returning customers stop buying. This is common when reorder timing stretches, subscription renewals fall, lifecycle campaigns weaken, or recent cohorts are lower quality than older cohorts.
Do not rely only on total returning-customer count. Look at repeat behavior by cohort and by first-purchase product. A blended total can hide the fact that newer customers are not coming back at the same rate.
Retention checks to run
- Repeat-customer share of orders and revenue.
- Repeat purchase rate by first-purchase cohort.
- Second-order rate by first-purchase product.
- Days between first and second order.
- Days since last purchase for previously active customers.
- LTV by cohort, channel, discount code, and first-order SKU.
- Subscription churn, skipped renewals, failed payments, and paused subscriptions.
- Winback campaign contribution and recovered revenue.
- Email and SMS revenue from replenishment, post-purchase, cross-sell, and winback flows.
| Finding | Likely diagnosis | What to do next |
|---|---|---|
| Repeat-customer revenue down, new-customer revenue stable | Retention or lifecycle issue | Audit replenishment timing, winback flows, loyalty offers, and product satisfaction. |
| Second-order rate down for recent cohorts | Lower cohort quality or weak post-purchase path | Cut by first product, channel, discount, and first purchase month. |
| Days between orders increasing | Customers are delaying repurchase | Review reorder reminders, inventory availability, pricing, and replenishment assumptions. |
| Subscription renewals down | Recurring revenue leak | Inspect churn reasons, failed payments, skipped orders, and subscription product mix. |
| High first-order sales but low LTV | Acquisition may be buying weak customers | Reconcile campaign performance with cohort LTV, not just first-order ROAS. |
If the revenue drop is retention-led, a bigger discount to new visitors may make the blended number look better for a few days while worsening margin and customer quality. Fix the lifecycle leak directly: post-purchase education, replenishment timing, cross-sell paths, subscription recovery, winback segmentation, and merchandising for the second order.
Step 6: Reconcile channel attribution with actual order data
When revenue is down, ad platforms, analytics tools, and ecommerce platforms may point to different causes. Shopify, GA4, Meta, Google Ads, email/SMS platforms, and post-purchase surveys can disagree because they use different attribution windows, tracking models, click and view rules, identity matching, and revenue definitions.
The practical move is to reconcile platform-reported performance back to order-level revenue and customer behavior. Do not move budget only because one platform-reported ROAS changed if actual orders show the leak is AOV, product mix, refunds, or repeat purchase.
Attribution checks to run
- Compare platform-reported revenue against ecommerce order revenue for the same period.
- Check whether each source includes refunds, cancellations, taxes, shipping, subscriptions, and discounts.
- Compare first-click, last-click, paid-platform, GA4, and post-purchase survey views without expecting them to match perfectly.
- Cut actual orders by source, medium, campaign, landing page, discount code, SKU, and new versus returning customer.
- Look for channel mix shifts that keep sessions stable but change customer quality.
- Compare first-order revenue with cohort LTV by channel.
Rule of thumb: use ad platforms to understand platform delivery and directional campaign performance. Use order-level data to decide what actually happened to revenue, product mix, refunds, and customer quality.
If a paid channel appears weaker but order-level data shows lower AOV across all channels, the issue is probably not isolated to that ad account. If one campaign brings high first-order volume but high refunds and poor second-order rates, the campaign may be creating low-quality revenue even if platform ROAS looks acceptable.
Stop rebuilding this revenue-drop audit in spreadsheets
When revenue drops but traffic looks stable, the answer is rarely in one dashboard. You need order, product, refund, customer, cohort, and channel cuts in the same workflow so you can isolate the leak before changing ads, discounts, or lifecycle campaigns.
Create a SignalOps account to inspect your order export and diagnose revenue drops without manually stitching reports together.
Analyze your order exportOperator checklist: what to export, compare, and fix next
Use this checklist when sales are down but sessions look normal. The goal is to move from symptom to cause, then from cause to the right operating action.
Fields to export for a revenue-drop audit
- Order ID
- Order date
- Customer ID
- New versus returning customer flag
- Session, source, medium, campaign, and landing page where available
- SKU
- Variant
- Category or product type
- Quantity
- Gross sales
- Discount amount
- Discount code
- Refund amount
- Cancellation status and cancellation reason
- Net sales or net revenue
- Tax handling
- Shipping handling
- Payment status
- Fulfillment status
- Return reason
- Subscription flag
- First-purchase product
- Fulfillment location where relevant
Revenue-drop decision tree
| If you find | Diagnose as | Next action |
|---|---|---|
| Revenue per session down | The same traffic is monetizing worse | Split into conversion rate, AOV, net AOV, refunds, and repeat-customer share. |
| Conversion rate down | Conversion friction or traffic-quality issue | Check checkout, payment errors, shipping costs, product-page changes, stockouts, landing pages, and device performance. |
| Orders down but sessions stable | Demand capture problem | Inspect offer clarity, inventory, pricing, site errors, cart behavior, and campaign landing pages. |
| AOV down | Basket-size or product-mix issue | Review bundle attach rate, upsells, free-shipping threshold, premium SKU visibility, and low-price SKU share. |
| Net AOV down more than gross AOV | Discount, refund, or cancellation drag | Cut by discount code, SKU, channel, return reason, and cancellation reason. |
| Discount usage up | Promotion dependency or margin leak | Compare discounted versus full-price customers by net AOV, refund rate, and repeat purchase. |
| Bestseller revenue down | Merchandising, stockout, or demand shift | Check inventory history, variant availability, collection placement, campaign creative, and product-page conversion. |
| Refunds up | Revenue-quality leak | Investigate refund-heavy SKUs, return reasons, fulfillment issues, product expectations, and acquisition channels. |
| Repeat-customer revenue down | Retention or reorder timing issue | Audit replenishment flows, winback segments, second-order offers, subscription churn, and cohort performance. |
| Recent cohort LTV down | Customer-quality issue | Cut by channel, first-order product, discount code, and campaign before scaling acquisition. |
| Ad platform revenue does not match store revenue | Attribution or revenue-definition mismatch | Reconcile to order-level data before moving budget. |
Final operating sequence
- Confirm the drop using a comparable time window and one revenue definition.
- Calculate revenue per session to verify that stable traffic is producing less revenue.
- Separate the drop into conversion rate, order count, AOV, and net AOV.
- Inspect SKU mix, category mix, bundles, variants, discounts, and stockouts.
- Compare gross revenue with net revenue and refund-adjusted revenue.
- Cut refunds and cancellations by SKU, cohort, channel, discount code, and return reason.
- Check repeat-customer share, second-order rate, cohort LTV, subscription churn, and days between orders.
- Reconcile attribution reports against actual order-level revenue and customer behavior.
- Choose the fix based on the leak: conversion friction, merchandising, discount discipline, restocking, refund reduction, lifecycle recovery, or attribution cleanup.
The fastest teams do not respond to every revenue drop with the same playbook. They identify which component moved, quantify the leak, and only then decide whether to fix the site, change merchandising, tighten discounts, restock winners, investigate refund-heavy products, recover repeat customers, or adjust media spend.