Reduce cart abandonment: find and fix the real causes

Measure the funnel from add_to_cart through begin_checkout to purchase, locate the drop-off and fix the exact step that is costing you orders.

ecomando editorial9 min read
Contents
  1. Two numbers that get confused
  2. Step by step: build the funnel in GA4
  3. Extra data sources in your store platform
  4. Fixes per drop-off point
  5. The causes in detail
  6. Abandoned cart emails: what is realistic
  7. Checklist for your own checkout
  8. How to proceed measurably

A cart that never becomes an order is the most expensive visitor you have: the interest was there, the money is gone. The mistake in practice is almost always the same. People start rebuilding the checkout when the abandonment happens somewhere else entirely. This article shows you first how to measure exactly where the drop-off is, and then the fixes that match each place.

Two numbers that get confused

There are two different abandonment rates, and they call for different actions.

Cart abandonment covers everyone who put something in the cart and did not order.

Checkout abandonment covers only those who had already started the checkout.

Worked example for one month: 2,000 add-to-cart events, 900 started checkouts, 540 orders.

  • Cart abandonment: 1 − (540 / 2,000) = 73%
  • Checkout abandonment: 1 − (540 / 900) = 40%
  • The jump from cart into checkout: 900 / 2,000 = 45% get that far at all

In this example the biggest loss happens before the checkout. Rebuilding the payment flow here would address the smaller half of the problem.

For context: a high cart abandonment rate is normal. In many stores the cart is effectively a wish list and a shipping cost calculator. So do not compare against other people's numbers, compare against your own previous month and the same month last year. How this metric sits next to the rest is in the overview of the ecommerce metrics that matter.

Step by step: build the funnel in GA4

The prerequisite is the ecommerce events. If you are not sure they all arrive, check that first, because one missing step shifts the whole funnel. The checks are in what to do when GA4 ecommerce tracking is not working.

For a first look you do not have to build anything: the Monetization section contains two standard reports, the purchase journey report and the checkout journey report, which show the funnel out of the box. Their steps cannot be edited, though, so no custom steps of your own. That is exactly why your own funnel is worth the ten minutes:

  1. Open the explorations area in GA4 and create a new funnel exploration.
  2. Add the steps as events, in this order: view_item, add_to_cart, begin_checkout, add_shipping_info, add_payment_info, purchase.
  3. If you do not send add_shipping_info and add_payment_info, leave them out. Three real steps beat six estimated ones.
  4. Set the period to a full month so weekday swings do not matter.
  5. Add a breakdown by device category. For this topic that is the single most important cut.
  6. Save the exploration so you can reopen it every month with one click.
  7. Repeat it once with a breakdown by default channel group.

Then do not read the end figure, read the largest step-to-step difference. That is where the work is.

What the breakdowns typically show

Mobile almost always drops off harder than desktop. A moderate difference is normal; a large gap points to a concrete usability problem: form fields hidden by the keyboard, a discount code field that pushes the cart summary away, or a continue button below the fold.

For channels, the comparison is more interesting than any single value. If visitors from an ad abandon the checkout noticeably more often than visitors from search, it is usually an expectation problem: the price in the ad felt different from the final price including shipping.

Extra data sources in your store platform

GA4 shows you where people abandon. Your store platform shows you who abandoned.

In Shopify you find them under Orders and then Abandoned checkouts, with cart contents and contact details where they exist. Recovery emails can be sent automatically or manually, and Shopify's own documentation is clear about the limits. A checkout only counts as abandoned once it has stayed incomplete for more than ten minutes after the customer provided their email information, and recovery emails are withheld in a list of situations: the order was completed before the email went out, payment processing failed, the store cannot ship to that location, the customer left only a phone number, nothing in the cart is in stock, everything in it is free, or the attempt was flagged as high risk. The page itself shows a tooltip explaining why a given email was not sent. The details are in the Shopify help on abandoned checkouts. Lightspeed eCom has a comparable overview in the back office; check there which reminder functionality your plan includes.

Do not expect those lists to match the GA4 figure. Store platforms generally only record an abandonment once an email address has been entered, so everyone who leaves earlier is missing.

A third source that costs nothing: internal search and customer support. If three customers a week ask about shipping cost, you know which piece of information is missing from the product page.

Fixes per drop-off point

Drop-offWhat the visitor is probably thinkingFixes
view_item → add_to_cartI do not know enough about this product.Shipping cost and delivery time on the product page, availability per variant, more images, return terms stated briefly
add_to_cart → begin_checkoutI did not expect it to cost that much.Show shipping cost early, show progress toward the free-shipping threshold, keep the cart readable, one clear continue button
begin_checkout → add_shipping_infoWhy do I need an account?Offer guest checkout, cut the number of fields, address autocomplete, offer express payment methods
add_shipping_info → add_payment_infoThis takes too long or costs too much.Name delivery time concretely, several shipping options, local pickup where possible
add_payment_info → purchaseI do not trust this.Offer the payment methods people expect, make error messages understandable, no surprises in the final summary

Work top to bottom, but only on the step that is actually bleeding in your data.

The causes in detail

Shipping cost that shows up late

The most common reason for abandonment between cart and checkout is a number the visitor did not expect. Someone who learns in step three that shipping costs $6.90 starts recalculating.

What helps:

  • State shipping cost, or at least the shipping rule, on the product page
  • With free shipping above a threshold, show the missing amount in the cart
  • No surprises between the cart and the final summary
  • If you raise the free-shipping threshold, watch average order value at the same time

Forced account creation

A mandatory customer account is one of the few places where a single setting shows an immediate effect. Someone buying from you for the first time wants to order, not to become a member.

What helps:

  • Make guest checkout possible and visibly offer it
  • Offer account creation after the purchase, not before
  • Explain saved details as a benefit, not as a requirement

Too many fields and too many steps

Every required field costs orders. Go through your form field by field and ask whether you genuinely need it for delivery.

Typical candidates to remove or make optional:

  • Phone number, when the carrier does not require it
  • Company name as a required field for consumers
  • Address line 2 as a required field
  • Entering the email address twice
  • Separate fields for street and house number where one would do

What helps technically:

  • The right keyboard per field type on mobile, numbers for the postcode
  • Allow browser address autocomplete
  • Show errors at the field, not as a summary at the top after submitting
  • Keep entered values after an error instead of clearing them

Missing payment methods

If your audience expects a particular payment method and cannot find it, they leave without telling you. Look in GA4 at how many visitors reach add_payment_info and still do not order. If that gap is large, the payment selection is the first suspect.

Express payment methods have the extra benefit of handling address and payment in one step. Be aware that these routes can change your tracking: if the purchase ends without a classic confirmation page, the purchase event may not fire. Test every payment method once, individually. If your platform and GA4 totals drift apart afterwards, the likely reasons are collected in why Shopify revenue does not match GA4.

Load time and stutter in the checkout

Patience is at its lowest in the checkout. A page that stays blank for two seconds after the visitor taps continue feels like an error. What to do about it is in the article on Core Web Vitals for online stores.

A practical note: measure checkout load time with a real cart, on a mid-range phone, over mobile data. A measurement in the office on fibre tells you nothing.

Missing trust

Trust does not come from badges alone but from answered questions. In the checkout those are:

  • Who is the seller, and how do I reach them?
  • What happens if the product does not fit?
  • When does it arrive, concretely, in days?

A visible contact route in the checkout costs nothing and helps measurably more than one more logo.

The discount code field

A prominent discount code field sends visitors out of the checkout to search for a code. Some do not come back.

What helps:

  • Keep the field, but place it unobtrusively
  • Apply the discount automatically when it came through a campaign link
  • Word error messages for invalid codes clearly and without blame

Abandoned cart emails: what is realistic

A sequence of two to three messages is standard: one shortly after the abandonment, one the next day, optionally a third after a few days. It only reaches visitors whose contact details you have, so with guest visitors who entered nothing, nobody.

Three rules from practice:

  1. The first email reminds, it does not sell. Product image, cart contents, one link back.
  2. No discount in the first email. Otherwise you train customers to leave the cart on purpose.
  3. If you know why they abandoned, address the cause directly, for example delivery time or the return window.

Anything involving email opt-in and consent depends on your market and your legal setup, so check that with your lawyer or data protection officer rather than copying another store.

Recovery emails are a repair, not a solution. They bring part of the loss back but change nothing about the step that causes the abandonment.

Checklist for your own checkout

Walk through it yourself, on a phone, in a private window, with a real payment.

  • Shipping cost visible before the checkout
  • Delivery time given in days, not as fast
  • Guest checkout possible and visible
  • Every required field is genuinely necessary
  • Address autocomplete and the right keyboards work
  • Error messages sit at the field and are understandable
  • Entered values survive an error
  • The expected payment methods are present
  • Continue button reachable without scrolling
  • A contact route is visible in the checkout
  • Discount code field present but not dominant
  • No new number appears in the final summary
  • purchase fires for every payment method
  • Recovery email active and tested once yourself

How to proceed measurably

Take the biggest gap from the funnel, pick one fix for it, implement it and leave it running for at least two to four weeks. Then look at the same funnel again, with the same breakdown and the same type of period.

Two things to keep in mind: checkout changes need volume before you can see anything. And if you change advertising, prices and the checkout at the same time, you will not be able to attribute anything afterwards. Note every change with a date.

The full relationship between funnel steps and the overall result is in the article on ecommerce conversion rate. And if you would rather not click the funnel together by hand every month, a dashboard keeps the steps side by side permanently; in ecomando they appear from product view through to order in the weekly report.

Frequently asked questions

How do I calculate the cart abandonment rate?

Divide purchases by add-to-cart events and subtract the result from one. If you only want to look at the checkout, use the number of started checkouts as the base instead of add-to-cart events.

Which GA4 events do I need for the funnel?

At minimum add_to_cart, begin_checkout and purchase. With add_shipping_info and add_payment_info you can split the checkout into a shipping and a payment step and narrow the drop-off down further.

Is a high cart abandonment rate normal?

Yes, a substantial share of carts never becomes an order in any store. Many visitors use the cart as a wish list or as a shipping cost calculator. What matters is not the absolute value but whether it is getting worse and at which step people leave.

Why does my store back office show fewer abandonments than GA4?

Store platforms usually only record an abandoned checkout once an email address has been entered. Shopify, for example, counts a checkout as abandoned after it has been incomplete for more than ten minutes following the email entry. Anyone who leaves before that does not appear in the back office but does appear in GA4.

Are abandoned cart emails worth setting up?

As an experience value they bring back a share of abandoned carts, and they are cheap because they keep running once configured. But they only reach visitors whose contact details you have, and they do not replace fixing the actual cause of the abandonment.

Keep reading