Cart Abandonment Rate, What Yours Actually Means
By Thomas Davis The number in your dashboard is probably wrong
Picture the board deck. Slide nine. "Cart abandonment rate: 68%." Nobody asks a question, because nobody knows what a good number looks like. The meeting moves on. Meanwhile the checkout is leaking six figures a year and the only person who could have stopped it was in the room.
That's the problem with this metric. It's quoted constantly and understood rarely. It gets treated as a score to feel bad about rather than a diagnostic to act on.
So let's fix that. By the end of this page you'll know how to calculate your rate so it isn't flattering you, why the famous 70.22% figure is not your target, how to break the number down until it tells you something, and how to convert it into money. Then you'll know exactly which step to fix first.
The formula, and the one mistake that flatters your number
Here it is, and it's simple:
Cart abandonment rate = (Created carts − Completed purchases) ÷ Created carts × 100
Worked example
Your store created 4,000 carts last month. 1,120 of them turned into completed purchases.
(4,000 − 1,120) ÷ 4,000 × 100 = 72%
That's your cart abandonment rate. 2,880 carts were created and never completed.
Now the part that matters more than the arithmetic.
Why the denominator changes everything
Most analytics tools will happily give you a number built on sessions instead of created carts. It looks like the same metric. It isn't.
A session is any visit. A created cart is a shopper who added something and started a purchase. If you divide abandoned carts by total sessions, you're diluting the denominator with people who were never buying: blog readers, job applicants, someone who bounced off your homepage in four seconds.
The result is a number that looks reassuring and means nothing. Your "abandonment rate" drops to 30% and you feel fine, while the actual leak, the shoppers who got all the way to a cart and left, is untouched.
Rule of thumb
Count created carts. Always. It's the only denominator that isolates the people who were close to buying.
How to count consistently, month to month
The absolute number matters less than the trend, and the trend is only real if you measure the same way every time. So write down your definition and stick to it:
- Denominator: carts created, not sessions, not visitors.
- Numerator: created carts minus completed purchases in the same period.
- Window: calendar month, closed on the same day each time.
- Exclusions: decide once whether you're excluding test orders, wholesale accounts, or B2B carts. Then never change it mid quarter.
- Source of truth: pick one, Shopify or GA4, and use it for every report. They will not agree, and switching between them creates fake trends.
Do that and you have a baseline. A baseline is the only thing you can beat.
70.22% is a sanity check, not a target
Baymard Institute's meta analysis of 50 studies puts the average documented cart abandonment rate at 70.22%. It's the most quoted figure in ecommerce, and it's genuinely useful, as a sanity check.
If your rate is 72%, you're in normal territory. Nothing is on fire. If your rate is 92%, something is broken and you should go looking.
But it is not a target, and it is not your benchmark. Here's why.
A store selling $8 consumables has a structurally different natural rate from one selling $4,000 furniture. The $8 buyer decides in seconds and often abandons because they got distracted. The $4,000 buyer abandons on purpose. They're comparing, they're measuring a sofa against a wall, they're waiting for a partner to say yes. Same metric, completely different behavior.
Category, price point, delivery lead time, and whether you sell something people research all move the natural rate. So the useful move is this: build your own baseline, then beat it. Pull your last 12 months, calculate the rate the same way each month, and look at the shape of the line. That line is your benchmark. Everything else is context.
One number hides everything, segment before you judge
A single site wide rate is an average of averages. It tells you the size of the problem and nothing about where it lives.
Break it down before you judge it. Six cuts do most of the work.
| Segment | What to compare | What a gap usually means |
|---|---|---|
| Device | Mobile vs desktop | Mobile much worse means checkout friction, form fields, or payment step breaking on small screens |
| Traffic source | Paid vs organic vs email | Paid worse means message to page mismatch, or you're buying low intent clicks |
| Customer type | New vs returning | New much worse means trust gap, no account history, no reason to believe you |
| Cart value band | Under $50 / $50 to $200 / $200+ | High value carts abandoning means shipping cost, delivery promise, or a decision that needs reassurance |
| Product category | Category by category | One category dragging the average means sizing, stock, or expectation problem |
| Checkout step reached | Where the drop happens | This is the one that tells you what to fix, see below |
Run these cuts and the site wide number stops being a mystery. It becomes a set of specific, addressable problems.
Device
Almost every store has a worse mobile rate. That's expected. What matters is the size of the gap. If mobile is 15 points worse than desktop, that's not "mobile is harder," that's a checkout that doesn't work properly on a phone.
Traffic source
Paid traffic usually abandons more than email traffic, because email traffic already knows you. If your paid rate is dramatically worse, the problem may be upstream of the cart: the ad promised something the landing page didn't deliver.
New vs returning
Returning customers abandon less. They trust you, they know your delivery, they've done this before. A wide gap here is a trust problem, and trust problems are fixable with presentation: payment logos, a returns policy at the payment step, a real contact route.
Cart value band
This is the cut most teams skip and the one that changes decisions. A $30 cart and a $900 cart abandon for different reasons. Low value carts often abandon on shipping cost, since the shipping is a large percentage of the total. High value carts often abandon on risk, since the shopper wants to be sure before committing.
Product category
If one category is dragging your average, you have a category problem, not a checkout problem. Look at sizing information, stock levels, delivery estimates, and whether the product photography sets the right expectation.
Checkout step reached
This is the cut that turns a diagnosis into an action. Which brings us to the most important idea on this page.
The step level view is the only number worth acting on
Here's the distinction that separates teams who fix abandonment from teams who talk about it:
- Your overall abandonment rate tells you the size of the leak.
- Your step level drop off tells you where the leak is.
You cannot fix a size. You can fix a location.
So map the funnel step by step and measure the drop between each one:
- Product page → add to cart
- Cart → checkout started
- Checkout started → contact and shipping information entered
- Information → shipping method selected
- Shipping → payment details entered
- Payment → order completed
Now find the step with the highest drop off. That's your leak. Fix that one first, before anything else on this list.
Why that order? Because a 20 point drop at one step is a specific, testable, fixable problem. "Our abandonment rate is 72%" is not. One is a task. The other is a mood.
And be honest about what you find. If the biggest drop is at the shipping step, the answer is almost certainly cost surprise or a delivery promise that's too vague. If it's at payment, it's trust or a broken payment method. If it's at account creation, you built that friction yourself and you can remove it today.
Fix the worst step. Measure again. Then find the new worst step. That's the whole loop.
How to pull the number in GA4 and Shopify
Here's the honest limitation, because it trips people up constantly: GA4 does not report cart abandonment natively. There is no built in "cart abandonment rate" report. Anyone who tells you there is hasn't looked recently.
You have two practical routes:
- Funnel exploration. Build a funnel with add_to_cart, begin_checkout, and purchase. GA4 will show you the drop off between each step, which is exactly the step level view you need. This is the fastest route and it works on standard ecommerce tracking.
- Custom events. If you want a true created carts denominator, fire a custom event when a cart is created, then calculate the rate yourself in a report or a spreadsheet.
Either way, you're building the metric rather than reading it. That's normal, and it's why so many teams quote a session based number by accident.
In Shopify
Shopify gives you the raw material in two places:
- Abandoned checkouts: the list of checkouts that were started and not completed. This is your numerator, close enough for practical purposes.
- Orders: completed purchases.
Created carts is the piece you have to define. The cleanest practical definition is checkouts started plus orders completed, measured over the same window. Then apply the formula. If you want a cart abandonment rate calculator you can trust, build it once in a spreadsheet with those two inputs and refresh it monthly. Don't rebuild the math every time someone asks.
Building a cart abandonment rate calculator you trust
Keep it boring. One sheet. Columns for month, created carts, completed purchases, rate, and a note on any tracking change. Twelve rows and you have a year of trend. That sheet will tell you more than any dashboard, because you'll know exactly how every number was produced.
What a realistic improvement looks like
This is where most articles invent a benchmark. We won't, because segment level benchmarks don't exist in any reliable form, and if someone hands you one, ask which store it came from.
What we can say honestly:
- Use Baymard's 70.22% for the overall average. That's what it's for.
- Use your own history for everything else. Your mobile rate, your paid traffic rate, your high value cart rate, the only meaningful benchmark for each is your own last 12 months.
- Expect improvement to be uneven. Fixing a broken payment method on mobile can move that segment a lot. Fixing a vague delivery promise moves it a little. Both are worth doing; neither is a headline.
- Judge in money, not points. A two point improvement on a high value segment can be worth more than a ten point improvement on $20 carts.
The realistic goal isn't a low number. It's a number you understand, moving in the right direction, with the biggest drop off step getting smaller each month.
Turn the percentage into money
A percentage doesn't get budget approved. Currency does. So do the conversion.
Take a store with a $90 average order value, 4,000 created carts a month, and a 72% abandonment rate.
- Abandoned carts: 4,000 × 0.72 = 2,880
- Value of abandoned carts: 2,880 × $90 = $259,200 per month
That's the size of the leak. Now the part that matters: you will never recover all of it. Some of those shoppers were browsing, some changed their mind, some bought elsewhere. Recovering 5% of that value is $12,960 a month, $155,520 a year.
For the board deck
Not "our abandonment rate is 72%," but "the leak is worth $259k a month, and closing a twentieth of it is worth $155k a year."
Do this calculation with your own numbers before you decide anything. It changes the conversation from a metric to a budget.
What to do once you know your rate
You now have four things: a correctly calculated rate, a baseline to beat, a segmented view, and the step with the worst drop off.
That's enough to act. Two next steps:
- If you don't yet know why shoppers are leaving, the causes, not the location, start with the diagnosis. Baymard's documented reasons are the map: extra costs, browsing, delivery speed, forced accounts, checkout length, errors, trust, returns. Our guide to how to reduce cart abandonment walks through all of them and the fixes in priority order.
- If you know the cause and want it fixed, that's the recovery layer. ConvertFlux designs and operates revenue recovery campaigns on a performance based model: you pay per conversion, not per month. BounceBack handles exit intent and on site recovery for shoppers who haven't left yet, and we measure everything against a holdout so you see incremental lift rather than recovered revenue. Campaigns we run average over 10% conversion rate, and clients have seen up to a 25% increase in net customer acquisition. Everything else, test on your own store.
Either way, you're no longer quoting a number you don't understand. That alone puts you ahead of most of the room.
Questions readers are asking
What is a good cart abandonment rate?
There's no universal good number. Baymard Institute's meta-analysis of 50 studies puts the average documented rate at 70.22%, so anything near that is normal. What matters more is your own trend and your category - an $8 consumable and a $4,000 sofa have very different natural rates. Build your baseline, then beat it.
How do I calculate my cart abandonment rate?
(Created carts − Completed purchases) ÷ Created carts × 100. If you created 4,000 carts and completed 1,120 purchases, your rate is 72%. Count created carts rather than sessions, and measure it the same way every month.
Why does counting sessions instead of created carts matter?
Because sessions include everyone who ever visited, including people who were never buying. Dividing abandoned carts by sessions dilutes the denominator and produces a number that looks better than reality. Created carts isolates the shoppers who were close to purchasing - which is the group you can actually help.
Does GA4 report cart abandonment rate?
Not natively. GA4 has no built-in cart abandonment report. You build it with a funnel exploration using add_to_cart → begin_checkout → purchase, or with custom events, then calculate the rate yourself. That's why so many teams accidentally quote a session-based figure.
Is 70.22% a good benchmark for my store?
It's a useful sanity check, not a target. It's the average across 50 studies, spanning every category and price point. Your natural rate depends on what you sell and at what price. Use 70.22% to confirm you're in normal territory, then use your own 12-month history as the benchmark you actually try to beat.
Should I fix my overall rate or a specific segment first?
The specific segment. Your overall rate tells you the size of the leak; step-level drop-off tells you where it is. Find the checkout step with the highest drop-off, fix that, measure again, then find the new worst step.
How often should I recalculate my cart abandonment rate?
Monthly, using the same definition every time. The trend matters more than the absolute figure. Review the segments quarterly, because traffic mix and device behavior shift, and a segment that was fine in January can be your worst performer by June.
What's a realistic improvement to expect?
It depends entirely on what's broken. Fixing a payment method that fails on mobile can move that segment sharply. Tightening a vague delivery promise moves it a little. Judge the result in money, not percentage points - a small gain on high-value carts can be worth more than a large gain on $20 carts
The short version
Calculate your rate with created carts, not sessions. Treat 70.22% as a sanity check, not a target. Segment the number until it tells you something. Find the step with the worst drop off and fix that one first. Then convert the whole thing into currency, because that's the only version anyone will act on.
