Skip to content

Abandoned Cart Recovery

Abandoned cart recovery sends a WhatsApp reminder to customers who started checkout, entered a phone number, but did not complete the purchase. WhatPro supports up to two reminders, each sent after its own delay and each able to carry an optional discount code.

The flow keys off Shopify’s checkout webhooks, not the order webhooks.

  1. A customer reaches the contact-information step of checkout. Shopify fires checkouts/create and, as more fields are filled in, checkouts/update.
  2. WhatPro records the checkout once a phone number is present. The create webhook often arrives before the customer has entered a phone, so the update webhook is what usually starts recovery for guest checkouts.
  3. WhatPro waits for Shopify to formally flag the checkout as abandoned (Shopify only marks a checkout abandoned after a period of customer inactivity, and the recovery link is not usable until then). Reminders are only scheduled once Shopify confirms the checkout is abandoned and the recovery URL is live.
  4. Each reminder is then delivered after its configured delay.

If the customer completes the purchase at any point, Shopify fires checkouts/update with a completion timestamp. WhatPro marks the cart as recovered and cancels every pending reminder for it, so a customer who converts never receives a reminder.

There are two distinct flow types, each with its own template, language, delay, and discount setting:

ReminderPurposePlan availability
Reminder 1First nudge after the cart is abandoned.Basic, Growth, Plus
Reminder 2Follow-up for customers who ignored the first reminder.Growth, Plus

You can enable one or both. If only one is enabled, only that reminder is scheduled.

Each reminder’s delay is configured on its flow and counts from the point the cart is confirmed abandoned.

Each reminder can optionally include a discount. When a discount is enabled on a reminder, WhatPro generates a Shopify discount code at send time and appends it to the recovery link, so the customer lands back in checkout with the code already applied. The reminder’s template must reference the discount variables for them to render.

The recovery message is built from the abandoned checkout’s data. Available variables depend on whether the reminder carries a discount.

Standard reminder

VariableDescription
customer_first_nameCustomer’s first name; falls back to a generic greeting when unknown.
checkout_urlThe Shopify recovery link that returns the customer to their checkout.
support_phoneYour store’s support phone number.

Reminder with discount

VariableDescription
customer_first_nameCustomer’s first name.
checkout_urlThe recovery link with the discount code pre-applied.
discount_codeThe generated discount code.
discount_valueThe discount’s display value.

Abandoned cart recovery is not part of the lifecycle order-tagging system used by the payment confirmation flows, because an abandoned checkout is not yet an order. Recovery results are visible in Logs, and a checkout that converts is recorded as recovered. See Order tags for how tagging applies to order-based flows.

  1. Confirm your plan includes the reminder(s) you want — Basic for Reminder 1, Growth or Plus for Reminder 2. See Plans.
  2. In Flows, create or enable Abandoned cart reminder 1 (and Reminder 2 if available).
  3. Set each reminder’s delay. Keep the second reminder at least 24 hours out.
  4. Optionally enable a discount per reminder and configure its value.
  5. Wait for each reminder’s template to be Approved by Meta before it can send. See Flows overview.