Taking pilot applications

Abandoned checkout recovery for Shopify stores

Shopify does not announce that a checkout was abandoned, so we watch checkouts as they are created and updated, wait one to three hours, and act only if no order followed. Each message is chosen per checkout and measured against a holdout group that gets nothing.

Detection

How we know a cart was abandoned

  1. Step 1

    We watch checkouts

    We subscribe to checkout created and checkout updated events through Shopify’s GraphQL Admin API, the API Shopify supports for new apps.

  2. Step 2

    We wait before deciding

    A checkout is only treated as abandoned after a wait of one to three hours, so we never write to someone who is still shopping.

  3. Step 3

    We confirm no order followed

    Before acting, and again right before sending, we check that no order was placed. Someone who bought in the meantime is skipped.

Access

What your store’s app allows

Installed by you in your Shopify admin and revocable at any time. Nothing in your theme or checkout changes.

  • Read checkouts, including abandoned checkouts
  • Read orders, to confirm nobody who already bought is messaged
  • Read customers, for contact details and consent
  • Read products, so offers can respect your exclusions
  • Create discount codes, single use and with an expiry

Before a pilot

Worth knowing

  • Consent is often missing on Shopify checkouts

    Shopify saves the marketing consent checkbox only when a shopper reaches Pay now, so many abandoned checkouts carry no recorded consent. We follow your consent settings exactly, which can mean fewer carts are contactable than you expect. We will tell you the share before the pilot starts.

  • Your shoppers' language and currency

    Messages follow the language the shopper checked out in, and prices appear in the currency they saw. Multi-currency and multi-language Shopify stores need no extra setup.

  • Protected customer data

    Shopify treats abandoned checkout data as protected customer data. Access is requested for this purpose only, and shopper details are used only to recover carts for your store.

Everything after detection is the same on every platform. The ten steps

Shopify questions

Why wait hours before sending anything?

Because Shopify does not say when a checkout is abandoned. A shopper comparing shipping costs in another tab is not gone. Waiting one to three hours and checking for an order avoids writing to people who were about to buy.

Will this conflict with Shopify’s abandoned checkout emails?

Not if both groups see the same thing. Pause Shopify’s abandoned checkout emails during the pilot, or keep them running unchanged for every checkout. Either way the messaged and holdout groups get identical treatment from Shopify, so the comparison stays fair.

Do you use the REST Admin API?

No. Shopify made the REST Admin API legacy for new public apps, so the Slipwork adapter uses the GraphQL Admin API throughout: for checkout events, abandoned checkouts, orders, customers, products and creating single-use discount codes.

What are your abandoned carts really worth?

Find out in 4 weeks, free, with a holdout group so the answer is yours to check.