We find a measurement gap in 100% of the accounts we audit. See what is hiding in yours. We find gaps in 100% of audits. Get your free audit
Playbooks Measurement & funnel Where the Funnel Loses the Sale

91% of carts never become a sale. The first job is trusting that number.

GA4 shows most ecommerce carts never turn into a purchase. Before we ask why people abandon, we ask whether the funnel data is even real, because loose event tracking inflates the drop-off. Here is how we verify the funnel, read where it actually leaks, and feed the buying signals back to the ad account.

GA4 funnel, values withheld
An ecommerce funnel narrowing from add-to-cart to checkout to purchase, most of the drop between cart and checkout, values withheld
Directional shape only. Real figures are withheld for privacy.
91%
Carts that never convert
Across the accounts we run, the share of add-to-carts that never became a purchase
18%
Carts that reach checkout
The first and biggest leak is between the cart and the checkout, not at the payment step
15% / 39%
Mobile vs desktop to checkout
Mobile reaches checkout less than half as often as desktop, then closes better once it is there
2-18%
Cart-to-sale, by account
The leak is broad, not one outlier, and that spread is where the tracking questions begin
01 The problem 02 Our approach 03 The levers 04 The result 05 How to apply it 06 What we watch for 07 In depth 08 Takeaways
01 · The problem

GA4 says most carts die before checkout. First, is the number real?

Pull the funnel on almost any ecommerce account and the shape is grim. Across the accounts we run, 91% of add-to-carts never become a purchase, and the biggest drop comes early: only 18% of carts even reach the checkout. The instinct is to ask why people abandon. The better first question is whether the funnel data can be trusted at all.

Often it cannot, not at face value. On one account the GA4 funnel showed more checkouts than add-to-carts, a cart-to-checkout rate above 100%, which is impossible. That is not a behavior insight, it is a tracking fault: an event firing twice, or firing on a page it should not. If a funnel can show an impossible number, every other number in it is suspect.

So we read the funnel in two passes. First, make the events trustworthy. Then read where the money actually leaks. Skipping the first pass means optimizing against noise, the same trap behind rebuilding measurement.

02 · Our approach

Verify the events, read the leak, then act on it.

The first pass is event hygiene. We check that add_to_cart, begin_checkout, and purchase each fire once, on the right trigger, with the right value, and that none of them double-count. GA4's add_to_cart is loose by default: it can fire on a quick-view, a wishlist click, or a re-render, which inflates the top of the funnel and makes abandonment look worse than it is. Until those are clean, the funnel is a rumor.

The second pass reads the trustworthy funnel. Where the biggest drop sits (for these accounts, cart to checkout, not checkout to payment), how it differs by device, and which channels bring carts that close versus carts that vanish. The third pass is the one that pays: feeding that back into the ad account, because a funnel insight that does not change the spend is only a chart.

  • Verify the funnel events fire once and correctly
  • Read where the funnel actually leaks
  • Feed the signal back to the ad account
03 · The levers

What moved the number.

Three passes, in order. Verify the events, because a funnel you cannot trust is worse than none. Read the leak, because it is rarely where people assume. Then act on it, because the funnel only matters if it changes the spend. The figure shows the device split, which is where the leak gets specific.

Carts that reach checkout, mobile vs desktop
Share of carts that reach checkout on mobile versus desktop, mobile far lower, indexed
Mobile reaches checkout far less often than desktop, then closes better once it is there (indexed; values withheld).
Lever A

a Verify before you believe

The account showing a cart-to-checkout rate above 100% is the clearest case, but the quiet version is everywhere: an add_to_cart that fires on every product view doubles the top of the funnel and turns a healthy account into a fake disaster. So we reconcile the GA4 events against the platform and the orders, deduplicate what is double-firing, and only then read a rate as real.

This is not optional polish. Every later decision, the device cut, the remarketing audiences, the value signal, is built on these numbers. Get the events wrong and you optimize confidently toward a phantom.

Lever B

b Find the real leak

On clean data, the leak is early and specific. Only 18% of carts reach checkout, so most of the loss is between the cart and the checkout, not at the payment step where teams tend to look. And it is a device story: mobile reaches checkout less than half as often as desktop (15% against 39%), yet once on the checkout, mobile closes more often than desktop does.

That pattern points somewhere concrete. The mobile loss is in getting people from the cart into the checkout, which is usually friction: a slow cart page, a forced account step, a clumsy mobile layout. The desktop loss sits later, at the payment. Two different problems, and the funnel is what tells them apart.

The leak is rarely at the payment. For these accounts it is the cart-to-checkout step, and it is worse on mobile.

Lever C

c Turn the funnel into ad decisions

A funnel that does not change the spend is just a chart, so the last pass is commercial. Cart-abandoners become a remarketing audience worth its own budget. Purchasers feed the value signal behind value-based bidding, so the account bids toward people who actually buy. And the device split informs the bid adjustments, while the mobile cart friction goes back to the store as the fix that lifts the whole account.

This is the join between analytics and the ad account, and it is the point of the whole exercise. The funnel tells you who to chase, who to exclude, and what a real buyer looks like. The account spends better because the measurement under it is finally telling the truth.

04 · The result

The leak is real, early, and worse on mobile.

Read across the accounts we run, 91% of carts never became a sale and only 18% reached checkout, with mobile reaching checkout less than half as often as desktop. The honest caveat: GA4's loose add_to_cart inflates the top of the funnel, so the true abandonment is lower than the raw number. What does not change with cleaner events is the shape: a large, early leak that is worse on mobile.

None of this is a redesign pitch. It is reading a trustworthy funnel and turning it into ad decisions: who to remarket to, who to bid for, and which step to fix first.

91% carts that never convert
18% carts that reach checkout
15% / 39% mobile vs desktop to checkout
53% / 37% checkout-to-sale, mobile vs desktop

The win is not a lower abandonment number on a slide. It is trustworthy funnel data that finally changes how the account spends.

05 · How to apply it

When the funnel read pays, and when to fix tracking first.

This work pays for an ecommerce store with a real cart and GA4 ecommerce events in place. The funnel exists to read, the leaks are actionable, and the signal feeds straight into the ad account. The more traffic the store runs, the more a single fixed step is worth.

It does not apply to lead-gen, where there is no cart funnel to speak of. And if the tracking is so broken that the funnel shows impossible numbers, this is a measurement rebuild first and a funnel read second. There is no point reading a leak in a pipe you know is mismeasured.

Good fitAn ecommerce store with a real cart, GA4 ecommerce events live, and enough traffic to act on a step.
Fix firstLead-gen with no cart, or tracking so broken the funnel shows impossible rates. Rebuild measurement first.
06 · What we watch for

The traps in reading a GA4 funnel.

Event inflation is the big one. GA4's add_to_cart fires more easily than a real intent to buy, so the top of the funnel is almost always overstated and abandonment looks worse than it is. We discount the raw rate and read the shape, not the headline percentage.

Cross-device journeys are the next trap. A shopper who adds to cart on a phone and buys later on a laptop looks like two failures and no sale, when it is one happy customer. So we read the device funnels as tendencies, not verdicts, and lean on signed-in and modeled data where it exists.

Consent and cookie gaps undercount the purchases at the bottom, which makes the funnel look leakier than reality. And attribution windows decide which channel gets credit for the carts that do close, so we hold the window steady before comparing channels. Each of these distorts the funnel in a different direction, and reading it well means knowing which way.

07 · In depth

The funnel audit, step by step.

The audit runs in four phases, and the order protects you from acting on noise. First, the event audit. We confirm add_to_cart, begin_checkout, and purchase fire once, on the right trigger, with the right value, and reconcile them against the platform's own orders. Anything that double-fires or shows an impossible rate is fixed before we read a single percentage.

Second, read the leak. With clean events, we find the biggest drop. For these accounts it is cart to checkout, not checkout to payment, which redirects the work away from where teams usually look.

Third, cut by device and channel. The mobile and desktop funnels behave differently, and the channels that bring closing carts are not the ones that bring vanishing ones. This is where the funnel stops being one number and becomes a set of decisions.

Fourth, feed it back. Cart-abandoners become a remarketing audience, purchasers feed the value signal, the device split tunes the bids, and the worst step goes to the store as the fix. A funnel read that ends in a slide deck changed nothing. One that ends in the ad account changes the spend.

08 · Takeaways

What to remember.

GA4 will tell you most carts never become a sale, 91% across the accounts we run, with only 18% reaching checkout. The first move is not to ask why, it is to verify the events, because loose tracking inflates the whole picture.

Once the data is trustworthy, the leak is early and specific: cart to checkout, worse on mobile. And the funnel only earns its keep when it changes the spend, by feeding remarketing, value bidding, and bid adjustments back into the ad account.

Key improvements
  • Funnel events reconciled and deduplicated so the rates could be trusted before any decision
  • The real leak located between cart and checkout, not at the payment step where teams look
  • The mobile-to-checkout gap surfaced (15% against 39% on desktop) and routed to the right fix
  • Cart-abandoners and purchasers fed back into remarketing and value-based bidding

Frequently asked questions

Where do ecommerce funnels lose the sale?

Mostly between cart and checkout. Across the accounts we run, 91% of add-to-carts never become a purchase and only 18% reach checkout, but you can only trust those numbers once the funnel events are verified.

Why check GA4 funnel data before fixing drop-off?

Because loose event tracking inflates the drop-off, so some of the leak is a tracking gap rather than real abandonment. We verify the funnel events first, then separate real drop-off from measurement noise.

How does funnel data improve ad performance?

Once the funnel is trustworthy, the real buying signals of add-to-cart, checkout and purchase can be fed back to the ad account so bidding optimizes on genuine intent rather than inflated or missing events.

If your GA4 funnel has never been reconciled against real orders, the abandonment number you are reading is probably wrong. We can tell you by how much.

Find out whether your funnel data can be trusted.

Our free Due Diligence Audit reconciles your GA4 funnel against your real orders across 50+ dimensions, and shows you where the funnel actually leaks once the tracking is clean.

Get your free Due Diligence Audit