← Back

Abandoned cart recovery in Shopify: the practical guide

Most Shopify stores lose the majority of their checkout starts. This guide explains how Shopify records abandoned checkouts, why recovery timing matters more than copy, and how draft-order invoices convert better than a plain cart link.

When does Shopify mark a cart as abandoned?

A cart becomes an abandoned checkout once a shopper reaches the checkout page, provides contact details (email or phone), and leaves without completing payment. Shopify emits a checkouts/create webhook almost immediately, but the customer email is frequently absent on that first payload and arrives later on a checkouts/update event — in practice up to 30 minutes later. Recovery systems that start their timer on checkouts/create therefore fire against empty contact data and silently skip the cart.

The reliable pattern is: start the delay only once an email or phone number is captured, and back-fill any checkout older than 30 minutes directly from Shopify's checkouts API before deciding the cart is unreachable.

Recovery emails vs draft-order invoices

Shopify's built-in abandoned checkout email sends a link back to the cart. It works, but the shopper still has to re-enter checkout and re-confirm shipping and payment. A draft order invoice is different: the order already exists in your admin with the same line items, taxes, shipping and currency, and the email contains a single pay-now link. Because it is sent through Shopify's own draftOrderInvoiceSend mutation, deliverability and sender domain match your transactional email.

Should you send a discount code?

A discount lifts recovery rate but costs margin on carts that would have converted anyway. A common approach is a single modest code (5–15%) attached only to recovery invoices, never published on-site, and reviewed against recovered revenue each month. Cart Revive lets you pick the code per store so the same app can run a discounted market and a full-price market side by side.

Attribution: counting recovered revenue honestly

Recovery credit gets double-counted fast when email and messaging tools each claim the same order. Attribution should be explicit: an order counts as recovered when it originates from a Cart Revive recovery draft order. Everything else stays out of the number. That gives one revenue figure you can bill against and report to stakeholders.

Metrics worth watching

Getting started

Cart Revive installs from your Shopify admin, registers the checkout webhooks, and starts sending recovery invoices within minutes of a cart being abandoned. Pricing is performance based (a share of recovered revenue) or a flat monthly plan, billed through Shopify.

Install Cart Revive on your Shopify store →