← Answers

Why did my revenue drop? A method that finds the cause

Short answer

Revenue equals traffic multiplied by conversion rate multiplied by average order value, so a fall in revenue is always a fall in at least one of those three. Calculate each for the period that dropped and the period before it, and the largest mover is your cause. The three point at completely different problems: falling traffic is a marketing or seasonality problem, falling conversion is a site, checkout or pricing problem, and falling order value is a discounting or product mix problem. Checking all three takes about ten minutes and is the difference between knowing revenue fell and knowing why.

The identity that makes this solvable

Revenue = sessions × conversion rate × average order value. This is arithmetic, not a model: define conversion rate as orders ÷ sessions and order value as revenue ÷ orders, and the middle terms cancel to leave revenue exactly.

Because it is exact, the three factors account for the whole change with nothing left over. There is no residual to hide in and no fourth explanation to look for.

Work out which one moved

  1. Pick two comparable periods — last 30 days against the 30 before, not this month against last month if one had a holiday in it.
  2. For each period, get sessions from GA4, orders and revenue from Stripe.
  3. Calculate conversion rate (orders ÷ sessions) and order value (revenue ÷ orders) for both.
  4. Compare each factor across the two periods. The one with the largest percentage change is your cause.

What each answer means

  • Traffic fell, conversion and order value held. A marketing or visibility problem. Check channels individually — a fall concentrated in one channel is a specific event, while an even fall across all of them is usually seasonal.
  • Conversion fell, traffic held. A site problem. Something changed for visitors who arrived: a checkout bug, a price rise, a payment method failing, a slow page, a broken mobile layout, or traffic that shifted toward a channel that browses rather than buys.
  • Order value fell, the others held. A mix or discounting problem. A promotion, a cheaper product outselling an expensive one, or a change in which country most orders come from.

The case this catches that a dashboard misses

Two factors can move in opposite directions and hide each other. Conversion falls 30% while traffic rises 40%, and revenue finishes flat.

Every headline number looks fine that month. The business is quietly getting worse and more expensive at the same time — paying for more visitors to stand still — and nothing on a standard dashboard says so. Only the decomposition does.

Check the obvious first

Before decomposing anything, rule out measurement. A drop that starts on an exact date with no tail is usually a tracking change, not a business change.

  • Did a tag, consent banner or cookie setting change on that date?
  • Did a payment method start failing? Stripe shows declines separately from successes.
  • Did a marketing campaign end, or a card on file expire in bulk?
  • Is the current period incomplete? Comparing 22 days against 30 shows a 27% fall that is not real.