Cart Abandonment Rate
Last updated: Oct 22, 2025
What is Cart Abandonment Rate?
Cart Abandonment Rate is the percentage of shopping sessions in which a visitor adds at least one item to a cart but leaves without completing a purchase. It quantifies mid?funnel friction and helps you pinpoint checkout blockers, pricing or shipping concerns, and gaps in product detail clarity. Track it over time and by segment to understand where intent stalls and which fixes move the needle.
Cart Abandonment Rate Formula
How to calculate Cart Abandonment Rate
Imagine an e-commerce site with the following data point for the month of June: - Sessions with add_to_cart: 8,000 - Sessions with purchase: 2,800 Cart Abandonment Rate = (8,000 ? 2,800) ÷ 8,000 × 100 = 65.0%
Start tracking your Cart Abandonment Rate data
Use Klipfolio PowerMetrics, our free analytics tool, to monitor your data.
Get PowerMetrics FreeWhat is a good Cart Abandonment Rate benchmark?
There is no universal standard because the rate depends on industry, price point, shipping and tax transparency, device mix, traffic quality, and purchase frequency. Establish your baseline by segment, then target improvements within each segment over several weeks. Expect higher abandonment on mobile, on first-time visits, and for higher?ticket items.
More about Cart Abandonment Rate
Cart Abandonment Rate highlights how many carting sessions fail to convert. A rising rate suggests friction after the add-to-cart step, such as unexpected costs, poor payment options, or usability issues. A falling rate indicates improvements in PDP clarity, cart UX, or checkout flow are working. Use this metric to prioritize CRO work, validate experiments, and align teams on funnel health by channel, device, and customer type.
Standard session-based definition
This entry uses a session-based definition to stay consistent across web analytics and commerce platforms.
- A session is a contiguous visit as defined by your analytics tool. Google Analytics 4 (GA4) starts a session with a session_start and ends it after inactivity. Shopify Analytics and Adobe Analytics use similar concepts. Mobile apps follow SDK-specific rules. Exact boundaries differ, so document your choice.
- A cart add is an add_to_cart event or equivalent storefront action. A purchase is a purchase event or an order completion recorded in your platform. The session-based rate looks at whether a purchase occurred in the same session that contained a cart add.
Variants and when to use them
- Checkout Abandonment Rate: Sessions with checkout_start and no purchase ÷ Sessions with checkout_start. Use this to isolate problems inside checkout steps.
- User-based abandonment: Users who added to cart with no purchase ÷ Users who added to cart. Use for cohort or CRM-linked analysis.
- Cart-based abandonment: Carts created that never convert within X days ÷ Carts created. Use when carts persist across sessions and devices.
- Product view to cart drop-off: Sessions with product detail view and no add ÷ Sessions with product detail view. Use to troubleshoot PDP content.
Keep names explicit so teams do not confuse cart abandonment with checkout abandonment.
Dimensions and cuts to consider
- Device type and app vs web
- Traffic source, campaign, and landing template
- New vs returning customers
- Geography, currency, and language
- Product category, brand, and price band
- Discount state, shipping threshold exposure, and delivery promise visibility
- Payment method availability and wallet usage
Data sources and mapping
This metric shows up across tools with different event names and scopes.
- GA4: add_to_cart, begin_checkout, purchase. Use session-scoped identifiers to count unique sessions with events. For carts that purchase in later sessions, use a cart- or user-based variant.
- Shopify Analytics: Online store funnel reports show Added to cart, Reached checkout, and Sessions converted. Build the cart abandonment figure from sessions with added to cart as the denominator and sessions converted as the purchase numerator. Shopify also exposes Abandoned checkouts, which aligns to checkout abandonment, not cart abandonment.
- BigCommerce and Adobe Commerce (Magento): Storefront analytics, server logs, and data layers expose cart additions and orders. Tag managers can mirror events to an analytics destination.
- Custom tracking: Emit cart add and order completion both client side and server side. Use a consistent session or cart identifier to avoid double counting.
Align time zone, filters, and bot exclusions before comparing sources.
Ways to reduce cart abandonment
- Make costs clear. Show shipping, taxes, and delivery estimates early.
- Offer guest checkout. Remove account creation roadblocks.
- Expand payment coverage. Include major cards, wallets, and local methods.
- Speed up the flow. Reduce form fields, enable autofill, and keep pages fast.
- Keep carts persistent. Save state across sessions and devices.
- Reduce distractions. Limit popups and unrelated promos in cart and checkout.
- Fix validation pain. Surface concise error messages and keep entered data.
- Clarify returns and support. Display return policy, warranty, and help links.
- Use reminders thoughtfully. Send cart recovery emails or push notifications with sensible timing and frequency.
Quality assurance and common pitfalls
- Session mismatch. A buyer adds in one session and purchases in another. Decide whether to use a cart- or user-based variant for lifecycle analysis.
- Duplicate events. Fire add_to_cart once per action and de?duplicate client and server events.
- Quantity handling. Treat multi?quantity adds consistently: one event per action or per unit.
- Internal and bot traffic. Exclude staff IPs, crawlers, and monitors.
- Currency and tax settings. Inaccurate totals create perceived price jumps that inflate abandonment.
- A/B testing artefacts. Ensure experiments carry users through checkout without session splits.
- Consent and blockers. Expect lower capture on privacy?focused browsers. Use server events where possible.
- Time zone alignment. Keep event and session tables in the same zone before aggregation.
Cart Abandonment Rate Frequently Asked Questions
What’s the difference between Cart Abandonment Rate and Checkout Abandonment Rate?
Cart Abandonment Rate looks at sessions that included at least one add_to_cart event and asks whether a purchase also happened in that same session. It captures friction between the cart step and order completion but includes traffic that never reached checkout. Checkout Abandonment Rate narrows the focus to sessions with a checkout_start event and measures how many of those fail to purchase. Use cart abandonment to judge the combined impact of PDP clarity, cart UX, and early checkout hurdles. Use checkout abandonment to diagnose issues inside checkout such as payment coverage, address validation, and performance. Keep both metrics on the same session scope and naming conventions so stakeholders understand where drop?off starts and where it gets worse.
How should you handle carts that convert in a later session or on another device?
If carts persist across sessions and devices, a session-based cart abandonment rate will overstate abandonment for deferred buyers. Solve this by tracking a cart identifier and building a cart?based metric with a lookback window that fits your buying cycle, such as 7 or 30 days. Calculate: carts created that do not convert within the window ÷ carts created. Keep the session-based rate on your main dashboard because it is sensitive to on?site UX and marketing traffic quality day to day. Use the cart?based view for lifecycle and remarketing analysis. Document both definitions. Align attribution rules, time zones, and exclusion lists so comparisons make sense.
What denominator should you use across GA4 and Shopify, and how do you keep numbers consistent?
Use sessions with add_to_cart as the denominator when the goal is a session-based cart abandonment rate. In GA4, count distinct session_id values where add_to_cart occurred. In Shopify’s online store funnel, use sessions with “Added to cart” as the denominator and sessions converted as the purchase numerator. Exclude internal traffic and known bots. Align time zones and currencies. Decide how to treat refunds and cancellations: leave them out of the cart abandonment calculation and handle them with post?purchase metrics. If you blend tools, standardize event names and session identity first, then compute the metric in one system of record to avoid reconciliation churn.