You have traffic. Where are the sales going?
Visitors are arriving and leaving without buying, and your admin will not tell you why — it reports the outcome, not the moment it went wrong. That moment is on a specific page, at a specific step, and it is findable.
Source: Baymard Institute — average of 50 studies, 2006–2025
Traffic with no sales is a diagnosis problem
The instinct when sales are flat is to buy more traffic. That is the expensive answer and usually the wrong one — if a storefront converts at a fraction of what it should, more visitors means paying more to lose more. The cheaper question is which part of the visit fails, and storefront visits fail in a small number of well-known places.
- The landing moment: the page does not answer why-this-product fast enough, and the visitor leaves in seconds
- The product page: price, shipping, sizing or trust questions go unanswered, and the answer sits further down than anyone scrolls
- The variant step: the option a shopper wants is out of stock, mislabelled, or takes too many taps on mobile
- The cart: shipping cost or a free-shipping threshold appears late and reframes the whole decision
- The checkout entry: the shopper commits, hits friction, and does not come back
58%
Left for a reason on your site
Cost surprises, friction, unanswered questions — the addressable half
42%
Was never going to buy
Browsing, price-comparing, saving for later
Baymard's 2025 survey found 42% of abandoners were simply not ready to buy. Chasing them is wasted effort. The other 58% left because of something that happened on the page — and that is the only half worth instrumenting.
Source: Baymard Institute — 2025 checkout survey; 11,777 participants across nine studies
Why your analytics has not told you already
Your Shopify admin reports totals — sessions, conversion rate, revenue. Those are outcomes. They tell you the patient has a fever, not where the infection is. To locate the failure you need what happened inside the visit: where attention landed, how far people scrolled, what they clicked that was not clickable, and which step they were on when they gave up. That is behavioral data, and by default nobody is collecting it on your store.
- Totals tell you that something is wrong, never where
- Averages hide the segment that is actually failing — usually mobile
- A conversion rate is one number standing in for five different decisions
- The visit that left is the one carrying the answer, and it is gone unless it was recorded
Baymard's own figure for “checkout too long or complicated” is 17% of abandoners — a checkout problem, not a product problem. Cart Overview is where that shows up as a step rather than a total. Read on →
How to find your leak this week
Work in this order. It is deliberately narrow — trying to look at everything at once is why most merchants abandon the exercise after two days.
- Split mobile from desktop before looking at anything. Most storefront traffic is mobile and most storefront problems are mobile-only.
- Take the funnel first: find the step with the steepest drop, and start there rather than at the page you personally dislike.
- Read the heatmap for that page. Look for what gets clicked that is not clickable, and what you built that nobody touches.
- Watch replays of sessions that reached that step and left, not a random sample. Ten targeted replays beat a hundred random ones.
- Compare converted against non-converted sessions on the same page. The difference between those two is your hypothesis.
- Change one thing, measure it against revenue, and only then move to the next.
| With DynoWeb | By hand | |
|---|---|---|
| Finding the step | Funnel is built from storefront events on install; drop-off ranked by step | Wire custom events per template, rebuild after each theme change |
| Getting from finding to fix | Each finding arrives with a specific change you preview before it goes live | Translate the observation into a brief, queue it, wait for the sprint |
| Knowing it worked | Measured against a holdout, reported as net revenue | Compare last month to this month and hope nothing else moved |
| Cost of a cycle | Continuous — the loop runs whether or not you have time this week | About a week per cycle, most of it waiting |
Where the other one wins: Doing it by hand costs nothing but time, and it teaches you your own store in a way a dashboard never will. If you have one page you already suspect and a free afternoon, open a replay tool and go look — you do not need us for a single hypothesis.
How DynoWeb does it
Before you install
How much traffic do I need before this is worth doing?
Enough that a pattern is visible rather than a handful of anecdotes. Speed and technical problems show up immediately at any volume. Behavioral patterns need enough sessions per template to be more than noise — for most stores that is about a week, and for low-traffic stores it can be several.
My conversion rate looks normal. Is there still a leak?
Probably, and it is worth checking by segment. A blended rate that looks acceptable often hides mobile converting at a fraction of desktop, or one traffic source converting at zero. The average is what makes it invisible.
Is it my theme?
Sometimes, but less often than merchants assume. Themes are usually competent and the failure is specific — one stranded element, one confusing variant control, one cost that appears too late. Replacing a whole theme to fix one of those is expensive and tends to introduce new problems.
What if I find the problem but cannot build the fix?
That is the common case, and it is the reason the found-but-unfixed list exists in the first place. Every DynoWeb finding arrives with the change attached, previewable against your theme, so applying it does not need a developer or a sprint.
Find out where the visits are going.
Install from the Shopify App Store and run it on your own traffic.

