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.

SymptomMost likely place to look firstWhat it usually means
Sessions stable, orders downConversion rate, checkout, availability, offer clarityThe same traffic is producing fewer purchases.
Orders stable, revenue downAOV, discounts, SKU mix, bundle attach rateCustomers are still buying, but baskets are smaller or cheaper.
Gross revenue stable, net revenue downRefunds, cancellations, returns, payment issuesSales are being reversed after the order is placed.
New customers stable, revenue downRepeat-customer share, reorder timing, cohort qualityAcquisition may be masking a retention problem.
Ad platform numbers changed, store revenue does not agreeAttribution windows, tracking rules, order-level reconciliationThe 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.

CheckQuestion to askWhy it matters
RefundsAre refunds subtracted in one report but not another?Gross sales can look healthy while net revenue falls.
Canceled ordersAre canceled or voided orders included?Order count and revenue can be overstated.
Tax and shippingAre tax, shipping, duties, or fees included?AOV and revenue comparisons can be distorted.
DiscountsAre discounts shown before or after revenue?Heavy promotions may hide behind stable order volume.
Gift cardsAre gift card purchases or redemptions counted as revenue?Gift card treatment can shift revenue timing.
SubscriptionsAre subscription renewals mixed with first-time orders?Retention and acquisition performance can blur together.
Wholesale or B2BAre wholesale orders mixed into DTC revenue?Large orders can distort AOV and product mix.
Marketplace salesAre Amazon, retail, or marketplace sales included?Channel mix may explain the apparent change.
CurrencyDid 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.

MetricFormulaUse it to answer
Revenue per sessionNet revenue / sessionsIs each visit producing less revenue?
Conversion rateOrders / sessionsAre the same visitors placing fewer orders?
AOVGross sales / ordersAre order baskets smaller before adjustments?
Net AOVNet revenue / ordersAre 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.

FindingLikely interpretationNext diagnostic cut
High-price SKU down, low-price SKU upRevenue mix shifted downwardCompare merchandising, inventory, collection placement, and campaign landing pages.
Bundle attach rate downCustomers are buying fewer items per orderReview bundle visibility, bundle pricing, cart upsells, and inventory dependencies.
Discounted orders upRevenue may be bought with margin or AOV tradeoffsCut net AOV and repeat purchase by discount code.
Bestseller units downStockout, placement, price, or demand issueCheck inventory history, variant availability, and product-page traffic.
Subscription mix downRecurring revenue or retention may be weakeningInspect 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.
PatternWhat it may meanOperator action
Refunds concentrated in one SKUProduct quality, sizing, description, or expectation issueAudit product page, reviews, return reasons, supplier quality, and size guidance.
Refunds concentrated in one channelChannel may be bringing mismatched buyersReview ad creative, landing page promise, targeting, and first-order product.
Cancellations increasedInventory, payment, fraud, fulfillment, or customer-service issueCut by payment status, fulfillment delay, warehouse, and cancellation reason.
Refunds high among new customersAcquisition quality or expectation mismatchCompare first-purchase products, offers, discount codes, and post-purchase education.
Refunds high among a recent cohortA specific campaign, product launch, or fulfillment period may be responsibleInspect 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.
FindingLikely diagnosisWhat to do next
Repeat-customer revenue down, new-customer revenue stableRetention or lifecycle issueAudit replenishment timing, winback flows, loyalty offers, and product satisfaction.
Second-order rate down for recent cohortsLower cohort quality or weak post-purchase pathCut by first product, channel, discount, and first purchase month.
Days between orders increasingCustomers are delaying repurchaseReview reorder reminders, inventory availability, pricing, and replenishment assumptions.
Subscription renewals downRecurring revenue leakInspect churn reasons, failed payments, skipped orders, and subscription product mix.
High first-order sales but low LTVAcquisition may be buying weak customersReconcile 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 export

Operator 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 findDiagnose asNext action
Revenue per session downThe same traffic is monetizing worseSplit into conversion rate, AOV, net AOV, refunds, and repeat-customer share.
Conversion rate downConversion friction or traffic-quality issueCheck checkout, payment errors, shipping costs, product-page changes, stockouts, landing pages, and device performance.
Orders down but sessions stableDemand capture problemInspect offer clarity, inventory, pricing, site errors, cart behavior, and campaign landing pages.
AOV downBasket-size or product-mix issueReview bundle attach rate, upsells, free-shipping threshold, premium SKU visibility, and low-price SKU share.
Net AOV down more than gross AOVDiscount, refund, or cancellation dragCut by discount code, SKU, channel, return reason, and cancellation reason.
Discount usage upPromotion dependency or margin leakCompare discounted versus full-price customers by net AOV, refund rate, and repeat purchase.
Bestseller revenue downMerchandising, stockout, or demand shiftCheck inventory history, variant availability, collection placement, campaign creative, and product-page conversion.
Refunds upRevenue-quality leakInvestigate refund-heavy SKUs, return reasons, fulfillment issues, product expectations, and acquisition channels.
Repeat-customer revenue downRetention or reorder timing issueAudit replenishment flows, winback segments, second-order offers, subscription churn, and cohort performance.
Recent cohort LTV downCustomer-quality issueCut by channel, first-order product, discount code, and campaign before scaling acquisition.
Ad platform revenue does not match store revenueAttribution or revenue-definition mismatchReconcile to order-level data before moving budget.

Final operating sequence

  1. Confirm the drop using a comparable time window and one revenue definition.
  2. Calculate revenue per session to verify that stable traffic is producing less revenue.
  3. Separate the drop into conversion rate, order count, AOV, and net AOV.
  4. Inspect SKU mix, category mix, bundles, variants, discounts, and stockouts.
  5. Compare gross revenue with net revenue and refund-adjusted revenue.
  6. Cut refunds and cancellations by SKU, cohort, channel, discount code, and return reason.
  7. Check repeat-customer share, second-order rate, cohort LTV, subscription churn, and days between orders.
  8. Reconcile attribution reports against actual order-level revenue and customer behavior.
  9. 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.