Recovering abandoned checkouts on Shopify with WhatsApp, the compliant way

How Shopify records abandoned checkouts, what consent you need before messaging, how to time the reminder, and how to measure whether it is working without inflating the numbers.

An abandoned-checkout reminder over WhatsApp is a marketing message, and WhatsApp treats it as one: it needs a marketing template, it costs more per conversation than a utility message, and the recipient must have opted in. Do it right and it is one of the few reminders customers do not mind; do it carelessly and you burn your number's quality rating.

How Shopify defines an abandoned checkout

Shopify creates a checkout record as soon as a shopper enters contact information on the checkout page. If no order is placed, that record stays as an abandoned checkout and is exposed through the checkouts/create and checkouts/update webhooks and the Admin API. The record includes the items, the recovery URL that restores the cart, and, if the shopper entered one, a phone number.

Consent first

Shopify stores SMS marketing consent on the customer record, set when a shopper ticks the marketing box at checkout or when you import it. Use that flag as the gate for WhatsApp marketing too. Beacon Messenger's abandoned-checkout automation requires consent by default; checkouts from customers without it are skipped and logged with the reason, so you can prove who was and was not messaged. If your checkout does not show the marketing opt-in, enable it in Shopify Settings, Checkout, Marketing options.

Timing

One reminder, one to two hours after the checkout stalls, catches most of the recoverable cases without feeling like surveillance. Beacon Messenger only sends if the checkout is still unpaid at send time, so a shopper who came back on their own is not nagged. A second reminder the next day is possible but doubles your Meta marketing spend for a fraction of the return; test before assuming.

Writing the template

Marketing templates are reviewed more strictly than utility ones. Keep it short, include the store name, mention the items generically ("the items in your cart") or use a variable for the first product title, and include the recovery link as a URL button or variable. Avoid urgency language you cannot back up ("only 2 left!") and avoid discount codes unless you genuinely intend to honour them; both are common reasons templates are rejected or numbers rated low.

Measuring honestly

  • Count recovered checkouts as those that converted after the message was delivered, not every order from a customer who once abandoned.
  • Compare against a baseline: Shopify already shows your abandoned-checkout recovery rate in Analytics before you add any messaging.
  • Track skipped and failed messages alongside sent ones. A high skip rate for no consent means the fix is your checkout opt-in, not the message.
  • Watch the quality rating of your phone number in WhatsApp Manager. If it drops after you start marketing messages, reduce frequency before Meta reduces your limits.

Setting it up in Beacon Messenger

  1. Connect your WhatsApp Business account and refresh templates so your approved marketing template appears.
  2. Open Automations, Abandoned checkout. Switch it on, pick the template, and map the variables (customer first name, shop name, checkout recovery URL).
  3. Set the delay, leave Require marketing consent on, and save.
  4. Check the Messages log after the first day: you should see sent, delivered and read entries, plus skipped entries with the reason for customers without consent.

More guides