Riajul Islam
← Back to blog
E-commerce

Where Ecommerce Conversion Actually Leaks

Most stores lose more revenue between the product page and the cart than anywhere else — and fix the homepage instead. Where to look, in order.

Every store I audit has a homepage somebody is proud of and a product page nobody has touched in a year. The homepage gets the redesigns because it is the page the founder looks at. The product page is where the money is decided.

Conversion work is unglamorous in exactly this way. It is mostly finding the step where people are leaving, looking at what that step asks of them, and removing something. The wins are rarely clever and they are frequently large — a shipping cost shown two steps earlier is worth more than a year of homepage iterations.

What follows is the order I actually work in, the leaks that recur across almost every store, and the ones that look like leaks and are not.

Where do you look first?#

At the funnel, in aggregate, before touching a single page.

The instinct is to start from opinions about the site. The correct start is four numbers: sessions, sessions that viewed a product, sessions that added to cart, and sessions that completed. Each ratio between them is a step, and one of those steps is worse than the others. That step is the work.

StepSessionsRateTypical
Landed100,000
Viewed a product43,00043%40–55%
Added to cart4,30010%8–12%
Reached checkout2,80065%60–70%
Completed84030%45–60%
A funnel with a leak in it

Read that bottom row and the whole audit is decided. Every step is roughly normal except the last, which is at half what it should be. Nothing on the homepage matters until checkout completion is fixed, and no amount of intuition would have pointed there.

Benchmarks are directional, not targets#

The typical ranges above vary enormously by category, price point and traffic source. Their use is to spot a step that is anomalous relative to your own other steps, not to hit somebody else's number.

Segment by device before anything else#

An aggregate funnel usually hides the finding. Mobile and desktop behave differently enough that a store with acceptable overall numbers can have a mobile checkout that is failing badly, and since mobile is normally the majority of traffic, that is most of the loss. This is the same argument as reading the 75th percentile rather than the average — the aggregate is where problems go to hide.

Why do people leave the product page?#

Because a question they had was not answered, and leaving is cheaper than asking.

The product page is the highest-intent page on the store. Somebody arriving there has already decided they are interested. If they leave without adding to cart, something specific stopped them, and it is nearly always one of a short list.

The price of delivery is unknown#

This is the largest single leak in ecommerce and it is not close. A shopper who cannot find out what delivery costs assumes the worst, and a shopper who discovers it at checkout feels misled. Stating it on the product page — as a figure, or as a threshold they can see they have met — removes the reason to leave.

Whether it will arrive in time is unknown#

"Ships in 2–4 days" is worth more than most design work on the same page. For anything bought for an occasion, the delivery date is the purchase decision, and a store that will not commit to one loses to a store that will.

The photography does not answer the question#

Three studio shots on white answer nothing about scale, texture or how a thing looks in use. The photograph that converts is usually the one that shows the product being used at real size, and it is frequently the one missing.

The buy button is below the fold on mobile#

Astonishingly common. A hero image that fills the viewport, a title, a price, and the add-to-cart button somewhere under all of it. On a phone the primary action should be reachable without a deliberate scroll — the same constraint that governs any mobile hero.

There is nothing to establish trust#

For a brand nobody has heard of, reviews are not decoration — they are the entire basis on which a stranger hands over a card number. A product page with no reviews, no returns statement and no visible contact route is asking for a lot on no evidence.

What goes wrong in the cart?#

The total changes, or the path forward is unclear.

Cart abandonment is heavily blamed on price, and price is usually not what changed — what changed is the price the shopper was holding in their head. Delivery, tax and fees appearing at this step is the moment a considered purchase becomes a reconsidered one.

Show the full total as early as possible#

Every cost the customer will pay should be visible before the checkout step, ideally on the product page. This is not a conversion trick; it is the removal of an unpleasant surprise, and it is the highest-value change available in most carts.

A free-shipping threshold needs a progress indicator#

"Spend £12 more for free delivery" reliably increases average order value and it only works if the shopper can see it. A threshold buried in a policy page is a promotion nobody is running.

Do not make them leave to change their mind#

Quantity changes, variant swaps and removals should all happen in the cart without a page reload. Every navigation is a chance to abandon, and a cart that sends people back to the product page to change a size is manufacturing those chances.

One clear next action#

A cart with continue shopping, checkout, express payment buttons, a discount field and an upsell carousel has no primary action. Checkout should be unmistakably the main thing, and everything else should be quieter than it.

Upsells in the cart are worth having and worth constraining. One relevant, cheap addition presented quietly converts; a carousel of six products reopens the browsing decision at the exact moment the shopper had finished making it. The test is whether the suggestion could plausibly be added without reconsidering the original purchase.

What about checkout itself?#

On Shopify you control less of it than you think, and the things you do control matter more than the things you do not.

The hosted checkout is genuinely well optimised, which is one of the better reasons to stay on it. The leaks that remain are mostly things you put there: a forced account, a discount field that sends people hunting for a code, and payment methods your customers do not use.

Forced account creation#

Requiring registration before purchase is among the most expensive defaults available, and guest checkout is a setting. Offer the account afterwards, when the customer has a reason to want one.

The discount code field#

A visible empty box marked "promo code" tells a shopper that a better price exists and they do not have it. Many then leave to look for one, and a proportion do not come back. Collapsing it behind a small link keeps it available to people who have a code without advertising it to those who do not.

Express payment placement#

Wallet buttons at the top of checkout convert well, particularly on mobile, because they eliminate typing an address. Below the form they are a fallback nobody reaches. This is a placement change, not a feature.

Match the branding across the handoff#

Moving from a branded storefront to a checkout that looks like a different company reads as a redirect gone wrong at the least forgiving moment in the funnel. It is a settings page and it is worth spending an hour on — and if you are considering a headless rebuild, this becomes a real design task rather than a settings one.

Does site speed really move conversion?#

Yes, and the effect is smaller and less direct than the case studies imply.

Speed is a floor, not a lever. A store where the product page takes six seconds on mobile is losing people who never see anything you designed, and fixing that produces a real lift. A store already at two seconds does not double conversion by reaching 1.5 — it earns a fraction of a point, which is worth having and is not the headline.

The leak is bounce before render#

The mechanism is people leaving before the page appears. That loss shows up as low product-page views relative to sessions, not as poor add-to-cart rate, which is a useful way to tell whether speed is your problem at all.

Layout shift costs orders directly#

A page whose buttons move as it loads produces mis-taps, and a mis-tap on a mobile product page sends somebody to the wrong variant or the wrong page entirely. Reserving space for everything is a conversion fix as much as a metric one.

Fix the scripts before rebuilding anything#

On most stores the load time is dominated by accumulated app scripts rather than by the platform. Auditing what each one costs and removing the dead ones is a day of work and it routinely halves the page weight — the cheapest performance win in commerce.

Which leaks are not leaks?#

Several numbers that look alarming are normal, and chasing them wastes the effort a real leak deserves.

A 70% cart abandonment rate#

That is roughly the industry norm. Carts are used as wishlists, price comparisons and reminders. The number worth watching is the change in your own rate, not its distance from zero.

High bounce on blog traffic#

Someone who arrives from search, reads an article and leaves has not failed a funnel — they were never in one. Judging content traffic by ecommerce conversion is how useful content gets deleted.

Low conversion on paid social#

Cold interruption traffic converts far below search traffic and always has. Comparing the two in one number hides both. Segment by source or the averages will mislead you in both directions.

A drop after a price rise#

Conversion rate falling while revenue per session holds or rises is not a leak, it is a price change working as intended. Conversion rate alone is a poor objective — revenue per session is the honest one.

How do you find your own leaks?#

Three tools, and the cheapest one is the most useful.

Watch session recordings on the failing step#

Twenty recordings of sessions that reached the cart and did not check out will teach you more in an hour than a week of analytics. You see the hesitation, the scrolling back, the tap that did nothing. It is the closest thing to watching somebody use the store.

Read the search queries on your own site#

Internal search is customers telling you what they cannot find, in their own words. Queries with no results are a product page you are missing or a naming mismatch, and both are directly actionable.

Ask the customer service inbox#

Whoever answers your support email already knows the top three reasons people hesitate, because they answer them every day. This is free research and almost nobody does it.

Then instrument the specific step#

Once you have a hypothesis, event tracking on that one interaction tells you the size of the problem. Instrumenting everything first produces a dashboard nobody reads — start from the question, not from the data.

In what order should you fix them?#

By expected value, which means the leak size multiplied by the traffic through it.

  1. Find the anomalous step in the funnel, segmented by device.
  2. Watch twenty recordings of sessions that failed at that step.
  3. Fix the single most obvious thing you saw, and ship it alone.
  4. Measure for two weeks before deciding it worked.
  5. Repeat, rather than batching five changes and losing the attribution.

Shipping one change at a time feels slow and is the only way to know what worked. A release containing five improvements that collectively move conversion by nothing has told you that one of them helped and one hurt, and you cannot tell which — which is the whole argument for running them as experiments where volume allows.

Do the free ones first#

Guest checkout, collapsing the promo field, moving express payments up, adding a shipping figure to the product page — each is minutes of configuration. Doing all of them before any design work is the most efficient day in commerce.

Beware of seasonality in the measurement#

A two-week window that straddles a payday, a holiday or a campaign is comparing two different populations, not two versions of a page. Where traffic allows, run a proper split test so both variants see the same conditions; where it does not, compare against the same period last year rather than the fortnight before.

What does this cost?#

A day to find the leaks, and usually less than a week to fix the first three.

The audit — funnel by device, twenty recordings, an app cost census, a look at internal search — is a day. The first round of fixes is typically settings changes and product page copy, which is a few days rather than a project. What takes time is the discipline of one change at a time.

The honest counterweight: conversion work has a floor and it is easy to keep pushing past the point of return. Once the obvious leaks are closed, the remaining gains get small, slow and statistically fragile, and a team that keeps optimising at that stage is spending on decimal points while ignoring the product, the price and the traffic mix — which are larger levers and harder conversations. Know when you have finished, and go and work on those instead.

The homepage gets redesigned because the founder looks at it. The product page decides the money, and it usually has not been touched in a year.

Conclusion#

Start with four numbers, segmented by device: sessions, product views, add-to-carts, completions. One step will be anomalous relative to your own others, and that step is the work — no amount of opinion about the site points there reliably.

On the product page the recurring leaks are the same everywhere. Delivery cost unknown, delivery date uncommitted, photography that does not show scale or use, an add-to-cart button below the fold on a phone, and no reviews to justify trusting a stranger with a card number. Each of those is a question the shopper had, and leaving is cheaper than asking.

In the cart, the problem is nearly always that the total changed. Show every cost before checkout, put a visible progress indicator on any free-shipping threshold, allow quantity and variant changes in place, and make checkout unmistakably the primary action. In checkout itself, the leaks that remain are the ones you added — a forced account, an advertised discount box, and wallet buttons below the form.

Treat speed as a floor rather than a lever. Six seconds on mobile is a real leak that shows up as low product views per session; going from two seconds to 1.5 earns a fraction of a point. Audit the app scripts before rebuilding anything, because that is usually where the seconds are.

Then fix one thing at a time and measure for two weeks, starting with the changes that are pure configuration. And know which numbers are not leaks — a 70% cart abandonment rate, blog bounce and cold-social conversion are all normal, and chasing them costs you the one that is real. If you want somebody to run this audit properly, it is one of the things I do.

Frequently asked questions

What is the biggest conversion leak in ecommerce?

Unknown delivery cost, by a wide margin. A shopper who cannot find out what shipping costs assumes the worst, and one who discovers it at checkout feels misled. Putting the figure or a visible free-shipping threshold on the product page is the highest-value change in most stores.

Is a 70% cart abandonment rate a problem?

No, that is roughly the industry norm. Carts get used as wishlists, price comparisons and reminders to come back later. What matters is the change in your own rate over time, not its distance from zero — chasing the absolute number wastes effort a real leak deserves.

Does making my store faster increase sales?

Only up to a point. Speed is a floor, not a lever: a product page taking six seconds on mobile loses people before they see anything, and fixing that produces a genuine lift. Going from two seconds to 1.5 earns a fraction of a percent — worth having, not a strategy.

Should I remove the discount code field at checkout?

Collapse it behind a small link rather than removing it. A visible empty promo box tells shoppers a better price exists that they do not have, and some leave to hunt for a code and never return. Behind a link, it stays available to anyone who actually has one.

How do I find the leaks in my own funnel?

Segment the funnel by device to find the anomalous step, then watch twenty session recordings of visitors who failed at it. Add your internal site search queries and a conversation with whoever answers support email. That combination costs a day and beats any amount of dashboard building.

Read next Making a Shopify Theme Fast Without Going Headless

Got a project worth
writing about?