Few things are more frustrating for a store owner than watching visitors arrive in your analytics while the orders stay flat. The good news is that "traffic but no sales" is rarely a mystery. It usually comes down to a short list of causes, and you can check each one methodically.
This guide walks through the most common reasons in the order we check them during an ecommerce store audit: first whether the traffic is right, then whether the store gives shoppers what they need, then whether anything stops them at the last step.
Start with the numbers you already have
Before changing anything, look at where shoppers drop off. In Google Analytics 4 or your store platform's reports, compare these steps for the last 30 to 90 days:
- Sessions that view a product page
- Product views that lead to an add to cart
- Add to carts that reach checkout
- Checkouts that become orders
The step with the biggest drop tells you where to look first. Also split the numbers by device and traffic source. A problem that only appears on mobile, or only for one ad campaign, points to a very different fix than a problem everywhere.
1. The traffic isn't the right traffic
Visitors only buy if they were looking for something like what you sell. Broad ad audiences, viral social posts and blog posts that rank for loosely related searches can all bring people with no intention of buying.
What to check: conversion rate by traffic source and by landing page. If one source sends many visitors who leave within seconds, the problem is the targeting, not the store.
What to do: tighten ad audiences, align ad messages with the page they land on, and focus SEO on searches with buying intent, such as product and category terms. Our ecommerce SEO guide explains how to map search terms to the right pages.
2. Visitors land on the wrong page
Sending ad or email traffic to the homepage when the message was about one product forces shoppers to search for it. Many won't.
What to do: link each campaign to the most specific relevant page, a product or a collection, and make sure the first screen confirms they're in the right place.
3. Product pages don't answer the shopper's questions
The product page is where shoppers decide. If they can't see the product clearly, understand what makes it right for them, or find sizing, materials and delivery times, they leave to compare elsewhere.
What to do: put the essentials near the Add to cart button, order photos so the first one shows the product clearly, and write descriptions around benefits as well as specifications. We cover this step by step in how to create product pages that help customers buy.
4. Unexpected costs appear at checkout
This is one of the most consistent findings in ecommerce research. In Baymard Institute's survey of US online shoppers, 40% of those who abandoned during checkout said extra costs such as shipping, taxes or fees were too high, and 12% said they couldn't see or calculate the total cost up front.
What to do: show delivery costs or a free-delivery threshold on product pages and in the cart, not for the first time at the final step. If shipping must be charged, explain it clearly.
5. The checkout asks for too much
In the same Baymard research, 18% of shoppers who abandoned said the site wanted them to create an account, and 17% said the checkout was too long or complicated.
What to do: enable guest checkout, remove optional fields, offer express payment methods your platform supports, and test the whole checkout on a phone yourself.
6. The store doesn't feel trustworthy
Shoppers who don't know your brand look for reassurance before entering card details. Baymard found that 19% of US shoppers who abandoned didn't trust the site with their credit card information.
What to do: make contact details, returns and delivery policies easy to find, show genuine customer reviews, keep the design consistent and professional, and fix anything that looks broken. Never add fake reviews or badges; they damage trust far more when discovered.
7. The mobile experience is harder than it should be
Many stores are designed on a desktop screen and only checked on mobile at the end. Small buttons, pop-ups that are hard to close, long pages and slow images all make buying on a phone harder.
What to do: review your top landing pages, a product page and the checkout on a real phone. Compare mobile and desktop conversion rates; a large gap is a clear signal.
8. The site is slow or something is broken
Slow pages, broken links, apps that conflict with each other and errors at checkout lose sales quietly. Baymard's research lists website errors or crashes as a reason for 17% of checkout abandonments.
What to do: run your key pages through PageSpeed Insights, remove apps you no longer use, and place a test order regularly.
9. The offer isn't competitive
Sometimes the store works well and the issue is the product, price or offer compared with alternatives a shopper can find in seconds. No design change fixes an offer that doesn't stand out.
What to do: compare your price, delivery terms and returns with the stores your customers are likely to check. Explain clearly why your product is worth choosing.
A practical order to fix things
- Confirm tracking works, so you can trust your numbers.
- Find the biggest drop-off in the funnel and by device.
- Fix checkout costs and friction first; they affect every order.
- Improve your highest-traffic product pages.
- Review traffic sources and landing pages.
- Measure for a few weeks, then repeat.
Not every shopper is ready to buy on their first visit. Baymard also reports that many shoppers abandon because they were just browsing. That's why abandoned cart and welcome emails matter: they bring interested visitors back when they are ready.
When to get an outside view
If you've worked through this list and still can't see the cause, an outside review helps. Our ecommerce store audit reviews your store as a shopper would, checks your data and technical health, and gives you a written list of fixes ranked by impact. If you'd rather have the fixes implemented and measured, our conversion rate optimization service does that.