All posts
cart abandonment rateshopify analyticsecommerce metricssms marketingcart recovery

How to Calculate Cart Abandonment Rate

10 min read

Cart abandonment rate is calculated by subtracting completed purchases from total carts created, dividing by total carts created, and multiplying by 100. A store with 12,000 carts and 3,600 completed orders therefore has a 70% cart abandonment rate.

That formula is simple. The difficult part is deciding what belongs in each term, then turning the result into a useful recovery plan rather than treating one percentage as a diagnosis. The popular advice is to calculate the rate, compare it with a benchmark, and send more reminders. That approach misses the commercial question: which abandoned carts reflect temporary hesitation, and which reflect a price, shipping, or delivery rejection that SMS won't fix?

Table of Contents

The Core Cart Abandonment Formula

Cart abandonment rate measures the percentage of shopping carts that were created but didn't lead to a completed purchase. The foundational calculation is:

Cart Abandonment Rate = ((Carts Created - Completed Purchases) / Carts Created) × 100

The denominator matters more than most dashboards admit. Use unique carts created, not website sessions, product views, or checkout visits. A session can contain browsing without shopping intent, while a product view says nothing about whether a shopper considered buying. A checkout visit measures a later funnel stage and belongs in a separate checkout-abandonment calculation.

An infographic explaining the formula for calculating cart abandonment rate with a simple example calculation.

A worked Shopify example

Suppose a Shopify store records 12,000 carts created and 3,600 completed orders during one month:

  • Abandoned carts: 12,000 - 3,600 = 8,400
  • Rate: 8,400 / 12,000 × 100 = 70%

The same result comes from the alternative form, [1 - (Completed Purchases / Carts Created)] × 100. Keep the observation window identical for both figures. If your cart count covers a calendar month but your purchase count includes late orders from a different period, the result won't describe one coherent cohort.

Baymard Institute's compilation of 50 studies reports an average documented abandonment rate of 70.22%, or roughly seven abandoned carts in every ten, but that pooled figure is a reference point, not a target for every store. Baymard's benchmark also highlights why category, geography, device mix, traffic quality, and measurement method affect comparisons.

Define a purchase before reporting

Decide whether “completed purchase” means a paid Shopify order, a successfully recorded purchase event, or another consistently defined outcome. Document that choice, deduplicate repeated cart updates, and preserve it across monthly reports and campaigns. Merchants comparing calculation methods can also review Evoteam's conversion tools for related conversion-rate work.

Pulling Accurate Data from Shopify Analytics

A correct formula still produces a misleading answer when the source events don't share the same unit. Shopify and GA4 can expose add-to-cart activity and purchase events, but a shopper may trigger several add-to-cart events while updating quantities, returning to the cart, or adding another product. Comparing those raw events with order counts can inflate the denominator.

Shopify's guidance on checkout optimization makes the operational principle clear: use the same unit, whether that unit is sessions, users, or carts, on both sides of the equation.

Establish the reporting window

Start with a fixed period, such as a calendar month or a defined campaign window. Then record:

  1. Unique cart creations, or the chosen equivalent such as add-to-cart sessions.
  2. Completed purchases attributable to those carts.
  3. The attribution window used to allow a later purchase to count.
  4. Exclusions, including test orders and internal transactions.

Don't mix a cart event count with completed order count unless your measurement design explicitly accounts for the difference. If one shopper creates multiple events, the event-based rate can materially overstate abandonment.

Audit the event stream

In Shopify Analytics or GA4, inspect the relationship between add_to_cart, begin_checkout, and purchase. Confirm that each purchase carries a usable order ID and that the purchase event fires once after payment succeeds. Sample real sessions against recorded events, especially after a theme, checkout, payment, or consent-management change.

A practical audit should check:

  • Duplicate activity: repeated cart updates are deduplicated according to your chosen cart or session definition.
  • Test traffic: test orders and internal QA activity are excluded.
  • Late purchases: purchases made after the initial cart event remain inside the documented attribution window.
  • Event continuity: add-to-cart and purchase records use compatible session, user, or cart identifiers.
  • Channel consistency: campaign reporting uses the same conversion definition as store reporting.

For a deeper framework around event definitions and reporting hygiene, see digital commerce analytics guidance.

Practical rule: Never publish the percentage without publishing its denominator and unit. “70% abandonment” is incomplete unless the reader knows whether it means carts, sessions, users, or raw events.

If your platform can't reliably connect a cart to a later order, report the limitation rather than creating false precision. A stable, transparent approximation is more useful than a polished number built from incompatible events.

Building a Funnel Beyond the Global Benchmark

A global benchmark can tell you that abandonment is common. It can't tell you whether your store loses shoppers before checkout, when shipping appears, or during payment. Baymard's 70.22% average across 50 studies is useful context, but treating it as a personal performance target confuses a pooled reference with a diagnosis. Baymard's checkout usability research supports a more granular approach.

A funnel visualization showing key conversion rate milestones from total carts to confirmed customer purchases.

Separate the stages

Build a funnel with one consistent cohort definition:

  • Add to cart: unique sessions or users with an add-to-cart action.
  • Begin checkout: those who proceed into checkout.
  • Enter payment: those who reach the payment stage.
  • Purchase: confirmed completed orders.

Cart abandonment is 1 - completed purchases / add-to-cart sessions. Checkout abandonment is 1 - completed purchases / checkout sessions. Those rates answer different questions, so don't combine them under one label.

Use identical time windows and report the denominator beside every percentage. Segment the funnel by device, country, acquisition channel, new versus returning customer, and product category. A high mobile share or a change in paid traffic can move the store-wide rate even when the underlying checkout experience hasn't changed.

Prefer cohorts to daily reactions

Small samples produce volatile percentages. One completed order can move a low-volume segment sharply, so avoid redesigning checkout because of one unusual day. Rolling 28-day or 90-day views provide a steadier basis when daily volume is limited, while identical comparison windows preserve interpretability.

Validate sudden movements against order IDs and sampled sessions. Missing purchase events inflate abandonment, duplicate add-to-cart events distort the denominator, and late purchases can look abandoned when the attribution window is undocumented. The objective isn't to make the number look lower. It's to identify the exact stage where a meaningful group of shoppers stops progressing.

Identifying Recoverable Carts for SMS Campaigns

An abandoned cart isn't automatically a sale waiting for a reminder. Some shoppers are comparing products, some clicked accidentally, and others reject the final economics after seeing shipping, taxes, or delivery timing. A recovery flow works best when it distinguishes hesitation from fulfillment rejection.

Recent payments research points to the importance of total-cost expectations. In one 2025 payments-experience report, 40% of consumers cited high shipping costs, while hidden fees and surcharges were each cited by about 17%. The same source's international survey covered 24,000 online shoppers across 24 countries, giving merchants a basis for country-level segmentation rather than relying only on a single-market view. The 2025 payments report is useful here because it changes the recovery question from “How many carts did we lose?” to “What did the shopper learn before leaving?”

Create an eligibility layer

Your store-wide abandonment rate should include all defined carts. Your SMS recovery rate should use only message-eligible abandoned carts. Build that audience by checking:

  • Whether the shopper opted into the store's SMS program before abandonment.
  • Whether shipping cost was displayed or changed during the session.
  • Whether the delivery promise met the shopper's location and product requirements.
  • Whether the cart contained an item with stock, pricing, or availability changes.
  • Whether a purchase occurred later within the approved attribution window.

This segmentation prevents an incentive from masking a delivery problem. If a shopper abandons after seeing an unacceptable shipping charge, a discount may reduce margin without resolving the objection. If the shopper left before reviewing shipping, a timely reminder that shows the cart and clarifies delivery may be more appropriate.

A tool such as YipSMS Inc. can connect Shopify SMS automation with abandoned-cart and abandoned-checkout flows, while real-time conversion reporting helps compare eligible recipients with completed purchases. Use it as an execution layer after the audience definition is sound, not as a substitute for clean measurement. For campaign structure and message ideas, review this cart-abandonment campaign guide.

The right recovery metric isn't “messages sent to abandoned carts.” It's completed purchases from compliant, message-eligible carts, evaluated after messaging cost, discounts, refunds, and unsubscribes.

Test the smallest useful intervention first. A reminder may suit high-intent shoppers who left before checkout, while transparent shipping information may outperform a discount for shoppers uncertain about delivery. If the displayed total is the problem, more reminders won't repair the offer.

Navigating SMS Compliance and Consent Rules

In the United States, an abandoned-cart text is promotional when it encourages a shopper to buy. Compliance guidance citing the FCC's definition treats communications intended to encourage purchases as telemarketing, so merchants shouldn't classify recovery messages as purely transactional just because they reference a cart.

The operational baseline is prior express written consent for marketing texts to the specific number. Consent can't be required as a condition of purchase. Store the opt-in source and timestamp, preserve the wording shown at signup, and suppress numbers that don't meet the consent requirement.

An infographic detailing five key steps to ensure SMS marketing compliance, including TCPA consent and opt-out rules.

Build compliance into the audience

A compliant abandoned-cart segment should be generated from eligibility fields, not from every cart that contains a phone number. Keep these records separate:

  • Cart status: created, abandoned, purchased, or expired.
  • Consent status: opted in, not opted in, revoked, or unknown.
  • Consent evidence: source, timestamp, and applicable signup language.
  • Message status: eligible, suppressed, sent, failed, or opted out.
  • Outcome: purchase, no purchase, refund, or unsubscribe.

A separate compliance overview recommends limiting abandoned-cart automation to one message within 48 hours of the trigger, sent only to shoppers who opted into the store's SMS program before abandoning. The abandoned-cart SMS compliance guidance provides the practical framework for that restriction.

Include clear opt-out language and honor unsubscribe requests promptly. Also account for state-level requirements and privacy obligations. Merchants operating in Florida can use Coto & Waddington's FIPA overview as a starting point for reviewing privacy considerations with counsel.

For a store-level implementation checklist, use this TCPA compliance checklist. A responsible flow automatically excludes non-consenting numbers, records every eligibility decision, and calculates SMS recovery only from the compliant denominator. That protects both the campaign's economics and the quality of the subscriber list.

Creating a Monthly Measurement Routine

Treat the monthly review as an instrumentation audit, not a screenshot of the Shopify dashboard. Start by exporting the same cart, checkout, and purchase definitions used in the prior period. Reconcile completed orders against order IDs, inspect a sample of sessions, and record any theme, payment, shipping, consent, or analytics changes that could affect the funnel.

Then compare four separate outcomes:

Measure What it answers
Cart abandonment rate How often created carts fail to produce purchases
Checkout abandonment rate How often checkout starters fail to purchase
SMS recovery rate How often eligible messaged carts produce purchases
Net recovery value Whether recovered sales remain profitable after costs

For net recovery, include SMS fees, discount margin, refunds, and unsubscribe impact, not only attributed order revenue. Compare recovery by device, channel, shipping exposure, delivery promise, and customer status. A campaign can produce purchases while weakening margin if it sends discounts to shoppers who would have converted without one.

Review instrumentation before changing message copy. If purchase events are missing, the apparent recovery rate and abandonment rate are both unreliable. If repeated add-to-cart events are counted separately, the denominator is unstable. If late purchases fall outside an undocumented window, the store may label eventual customers as lost.

Use the result to choose one controlled action for the next period: clarify shipping earlier, repair a payment step, adjust the eligible SMS audience, test a non-discount reminder, or change the consent capture experience. Keep the comparison window consistent and report the denominator beside every result. That routine turns “how to calculate cart abandonment rate” from a vanity exercise into a repeatable decision process tied to profitable retention.


YipSMS Inc. helps Shopify merchants run consent-aware SMS automation for abandoned carts, checkout recovery, product follow-ups, delivery updates, and repeat-purchase campaigns, with analytics for tracking conversions and ROI. Visit YipSMS Inc. to connect cart-level measurement with targeted recovery flows and evaluate which eligible shoppers return to purchase.