Lots of Add to Carts but No Sales on Shopify? How to Find the Leaking Step

Hamid ChakirBy , Co-Founder, CRO and Landing PagesUpdated

Written from hands-on work in: Shopify conversion rate optimization, Landing pages and advertorials, A/B testing, Checkout and subscription offers, Supplement DTC funnels.

Short answer

Add to carts with no purchases almost always means one step is broken, not the whole store. Split the funnel into cart rate, cart-to-checkout and checkout completion. Healthy checkout completion sits around 45% on Shopify. If it is far lower, test checkout on a real phone, remove surprise costs and check tracking before you touch the product page.

Key takeaways

  • Shopify reports cart and checkout rates against total sessions. Divide each step by the step before it or you will misread where the leak is.
  • Littledata's Shopify data puts median add-to-cart at 4.6% and average checkout completion near 45%. Completion under 25% points at checkout, cost or payment friction.
  • Extra costs at checkout are the top abandonment reason Baymard records (40% of abandoners), ahead of slow delivery and trust.
  • New Meta landing pages collect review-crawler sessions when ads are created or edited. Judge a page only on sessions after real delivery starts.
  • At a 1.5% conversion rate, zero orders is only meaningful after about 200 real sessions. Below that it can be plain bad luck.
  • Fix order: tracking and bots, then a live checkout test on real devices, then cost and payment friction, then the cart drawer, and only then the page.

What does high add to cart with low sales actually mean?

It means people want the product enough to click, then something between the cart and the payment button stops them. That is good news: demand exists, and the fix is usually mechanical. The threads on Shopify Community read the same way every time, for example 48 add to carts, 18 reach checkout, zero sales, many add to cart but none checkout and Meta ads with a lot of ATC but barely any purchase.

Most replies in those threads jump to trust badges and product photos. That is the wrong starting point. If someone already added to cart, the product page did its main job. The leak is almost always later in the chain, or it is not a leak at all but a measurement artifact. So the first job is to find out which of three things you have: a broken step, a cost or trust objection at checkout, or sessions that were never real buyers.

How do you calculate the real step-to-step rates in Shopify?

Take the session counts from Shopify's conversion funnel and divide each step by the step before it, not by total sessions. Shopify's own analytics field definitions describe the added to cart rate and reached checkout rate as visits "relative to total visits". That is fine for a top-line view, but it hides which transition broke.

  1. Cart rate = sessions with cart additions / total sessions.
  2. Cart-to-checkout = sessions that reached checkout / sessions with cart additions.
  3. Checkout completion = sessions that completed checkout / sessions that reached checkout.
  4. Conversion rate = completed / total sessions (this should equal cart rate x cart-to-checkout x completion).

Run this per landing page and per device, not store-wide. A store-wide number blends returning customers who buy at high rates with cold Meta traffic that buys at low rates, and the blend can look fine while one paid landing page is broken. Filter to one country too. Mixed international traffic drags every rate down and makes a healthy US funnel look sick.

A worked example

Say a landing page gets 2,000 sessions, 160 add to carts, 120 reach checkout and 12 orders. Cart rate is 8% (strong). Cart-to-checkout is 75% (strong). Checkout completion is 10% (broken). Conversion rate is 0.6%. The page is doing its job. Redesigning the hero here would be wasted work, because the loss is inside checkout. This is the pattern we see most often on paid landing pages that send people straight to checkout: a high cart rate that hides a very low completion rate.

What are normal add-to-cart and checkout completion rates?

A reasonable Shopify baseline is a 4% to 8% cart rate and roughly 45% checkout completion, with anything under 25% completion treated as a red flag. Published numbers vary because each source defines the steps differently, so compare your own trend first and benchmarks second.

Funnel benchmarks and where they come from
MetricBenchmarkSource and definition
Add-to-cart rate (median Shopify store)4.6%Charle, citing Littledata data on 12,000+ stores
Add-to-cart rate (product page)6.08%Blend Commerce, citing Dynamic Yield, rolling 12 months
Healthy add-to-cart range, DTC5% to 8% (3% to 5% high-ticket)Zentric funnel diagnosis
Checkout completion (average Shopify store)About 45%Charle, citing Littledata
Checkout completion (median, 16 DTC Shopify stores)65.1%Blend Commerce, from a 34.9% median abandonment figure
Cart abandonment (all ecommerce)70.22%Baymard Institute, 50-study average

Why do Meta ads produce add to carts but no purchases?

Usually for one of four reasons: the campaign is optimizing for the wrong event, the sessions are not humans, the sample is too small, or the price makes the cart a calculator. Check them in that order because the first three cost nothing to rule out.

  1. Wrong optimization event. If the ad set optimizes for Add to Cart, Meta will find people who add to cart, not people who buy. A reply in the 48 add to carts thread makes exactly this point. Optimize for Purchase once the pixel has enough purchase events.
  2. Crawler and review sessions. When you create or edit ads that point at a new URL, Meta's systems visit that page. In our own audits those visits show up as bursts of sessions that line up with ad edit times rather than delivery, often tagged with a right-column placement, heavy desktop or unknown devices, and near-100% bounce. A new page can show hundreds of sessions with zero add to carts before any real delivery. Filter them out by placement parameter or by time window, and judge the page only after spend begins.
  3. Small samples. At a 1.5% conversion rate, the chance of zero orders in 200 real sessions is about 5% (0.985 to the power of 200). At 100 sessions it is about 22%. Zero orders on a small sample is weak evidence of anything.
  4. High-ticket carts. In the Meta ATC thread, a furniture seller at $2,000 to $5,000 was told that at that price add to cart is people "using the cart as a calculator". Supplements are rarely in this bucket, but bundles priced well above the market can trigger the same behavior.

Also check attribution before you panic. Meta reports purchases on its own attribution window, including view-through, while Shopify reports last-session conversions. A campaign can show add to carts in Meta and purchases credited elsewhere in Shopify. Look at orders by landing page in Shopify, not only at Ads Manager columns.

What should you check inside the cart and checkout?

Buy your own product on a real phone, from an ad click, with a real card. Most "no sales" problems we find are visible in the first two minutes of doing this. Preview mode and desktop tests miss them.

The live test matrix

  • iPhone Safari and Android Chrome, opened from inside the Instagram and Facebook in-app browsers (that is where Meta traffic actually lands).
  • One pass with an ad blocker or tracking protection on, to confirm nothing essential depends on a blocked script.
  • Every offer path: one-time, subscription, each bundle tier, and any free-gift combination.
  • Every discount path: automatic discount, code in the cart drawer, code at checkout. A discount that fails to apply in the drawer is a classic silent killer. One merchant whose conversion fell from 1.8% to about 0.3% traced it to exactly that (Shopify Community).
  • Shop Pay, Apple Pay, Google Pay and PayPal all visible and working on mobile.

Cost and trust friction

Baymard's research lists the reasons shoppers abandon during checkout, excluding people who were just browsing (Baymard):

Top checkout abandonment reasons (Baymard Institute)
ReasonShare of abandonersWhat to check on your store
Extra costs too high (shipping, tax, fees)40%Is shipping shown before checkout? Does the price jump at the shipping step?
Delivery too slow20%Is a delivery estimate visible on the page and in the cart?
Did not trust the site with card details19%Recognizable payment options, clear business name, working contact page
Site wanted an account18%Guest checkout on, account creation optional
Checkout too long or complicated17%Unnecessary fields, extra steps, post-purchase interruptions before payment
Not enough payment methods9%Express wallets and PayPal enabled

Offer structure friction

In our audits, two offer choices explain more checkout drop-off than page design does. First, subscription-only offers: when the one-time option is hidden, some shoppers only discover the recurring charge at checkout and leave. Second, skipping the cart: sending people straight from the page to checkout raises the reached-checkout rate but lowers completion, because the cart review happens on the checkout page instead. Neither is wrong, but each one should be an A/B test, not a default.

How we diagnose add-to-cart leaks at Succession

We run the same ordered diagnosis on every store that shows carts without orders, and we do not open the page editor until the last step. The order matters because each step removes a reason to misread the next one. If the problem appeared suddenly rather than slowly, we start from our conversion drop diagnosis instead.

  1. One market first. We filter to the US, or the brand's main market, before calculating anything. Mixed international traffic drags every rate down and can hide a healthy US funnel behind a sick-looking blended number.
  2. Strip review-crawler sessions. New pages built for Meta collect review-crawler visits in bursts after ads are created or edited: near 100% bounce, zero add to carts. We exclude those windows before judging a page, otherwise a fresh landing page looks broken on day one.
  3. Split the funnel per landing page and per device. From Shopify's funnel reports, and ShopifyQL when we need the cut by landing page, we calculate cart rate, cart-to-checkout and checkout completion, each divided by the step before it.
  4. Read checkout completion before design. If completion is the weak step, we look at the offer before the layout. In our audits the biggest leaks are usually offer-level: subscription-only buy boxes, where the recurring charge surprises people, and pages that skip the cart and send shoppers straight to checkout.
  5. Compare volume-matched days. When we check whether a fix worked, we compare days with similar traffic levels, because conversion rate moves when spend and traffic mix move.
  6. Test the fix as a split. Offer and page changes go into Intelligems as split redirects between full page variants. We read conversion rate first and do not call the test before the sample supports it.

We also judge the page on revenue per session and conversion rate, not ROAS alone. A ROAS-only dashboard puts ad spend in the denominator of every ratio, so a checkout fix can look like nothing in a week when spend rose. We add sessions, cost per session, CVR and revenue per session to the same view.

What should you fix first?

Fix the step with the biggest gap against its benchmark, in this order, and change one thing at a time so you know what worked.

  1. Measurement. Confirm purchase events fire once, strip crawler sessions, and filter to real paid placements in your main market.
  2. Broken paths. Run the live device test above. Any path that fails is the fix, full stop.
  3. Surprise costs. Show shipping and the final price before checkout. If you offer free shipping over a threshold, show progress to it in the cart.
  4. Payment friction. Express wallets above the fold on mobile checkout, guest checkout on.
  5. Offer friction. Test one-time purchase back on if you are subscription-only. Test cart review against direct-to-checkout.
  6. Only then the page. If cart rate itself is low (under about 3% on cold traffic), the problem is upstream: ad-to-page message match, offer clarity or price.

Page speed belongs in the list too, but as a check, not a redesign. Shopify's own analysis found conversion about 3.5% lower for every 100 milliseconds of extra load time (Shopify Enterprise). A cart drawer that takes two seconds to open on mobile is a checkout problem in disguise.

If you want a second pair of eyes on your funnel, our free growth audit starts with exactly this step-rate breakdown by landing page. You can also browse more guides on landing pages and offers.

FAQ

Is a 10% add-to-cart rate with a 1% conversion rate normal?

No. A 10% cart rate is strong, so a 1% conversion rate means only one in ten carts turns into an order. That points at cart-to-checkout or checkout completion. Work out both step rates, then run a live mobile checkout test from an ad click. Surprise shipping costs, a discount that fails to apply or a hidden subscription term are the usual causes at that ratio.

Should I optimize Meta campaigns for Add to Cart when I have few purchases?

Only as a short-term bridge on a brand-new pixel. Meta finds more of whatever event you optimize for, so an Add to Cart objective buys you add to carts, not buyers. Once the pixel records purchases consistently, switch to Purchase and judge landing pages on cost per purchase and revenue per session rather than on cart volume.

Why does my new landing page show hundreds of sessions and zero add to carts?

If the ads pointing at it are new or were just edited, many of those sessions are likely Meta's systems visiting the page, not shoppers. Check whether the sessions arrive in bursts matching ad edit times, show unusual placements or countries and bounce at nearly 100%. Only count sessions after the ads actually start spending before judging the page.

Do abandoned cart emails fix high add to cart and low sales?

They recover some revenue but they do not fix the leak. Shopify only captures a checkout once an email is entered, so the people who bail earliest never get the email. Set up recovery flows, but fix the broken step first. Recovery emails on top of a broken checkout just send people back to the same problem.

How many sessions do I need before I trust my funnel numbers?

Enough to expect several orders. At a 1.5% conversion rate you need around 200 real sessions before zero orders becomes unlikely by chance, and a few thousand before the step rates settle. Use weekly data per landing page and per device, and ignore single days unless something obviously broke.

When to bring in Succession Media

Succession Media is a DTC growth agency for Shopify brands doing $50K to $1M a month, strongest in supplement, wellness and health categories. This guide's topic maps to our Media Buying and CRO work. It is worth a call if:

  • Checkout completion on your main Meta landing page sits under 25% while the cart rate looks healthy.
  • You redesigned the product page and conversion did not move, which suggests the leak is after the cart.
  • Your buy box is subscription-only or skips the cart, and nobody has tested the alternative.
  • You only know a store-wide conversion rate, not which step leaks per landing page and per device.
  • Ads Manager shows add to carts climbing while Shopify orders by landing page stay flat.

Sources

  1. Shopify Help Center: analytics fields
  2. Shopify Help Center: abandoned checkouts
  3. Baymard Institute: cart abandonment rate and reasons
  4. Charle: ecommerce conversion rate benchmarks (Littledata data)
  5. Blend Commerce: ecommerce conversion rate benchmarks 2026
  6. Zentric: 10-minute Shopify funnel diagnosis
  7. Shopify Enterprise: store speed and conversion
  8. Shopify Community: 48 add to carts, 18 reach checkout, zero sales
  9. Shopify Community: many add to cart but none checkout
  10. Shopify Community: Meta ads with a lot of ATC but barely any purchase
  11. Shopify Community: conversion rate dropped off a cliff

How we researched this guide

We asked ChatGPT and Perplexity the questions founders actually ask on this topic, reviewed the pages those engines cite, and checked every figure above against its original source. Numbers we could not verify were left out. The method sections come from how we run shopify cro work on live Shopify accounts; client names and client numbers are never published without permission. Last reviewed .

Hamid Chakir
Hamid Chakir

Co-Founder, CRO and Landing Pages, Succession Media

CRO and landing-page architect for 7 and 8-figure DTC brands. Runs the strategy call, the funnel teardown, and the weekly testing loop that turns spend into profit.

Related guides