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.
Trigger
Section titled “Trigger”The flow keys off Shopify’s checkout webhooks, not the order webhooks.
- A customer reaches the contact-information step of checkout. Shopify fires
checkouts/createand, as more fields are filled in,checkouts/update. - 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.
- 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.
- 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.
The two reminders
Section titled “The two reminders”There are two distinct flow types, each with its own template, language, delay, and discount setting:
| Reminder | Purpose | Plan availability |
|---|---|---|
| Reminder 1 | First nudge after the cart is abandoned. | Basic, Growth, Plus |
| Reminder 2 | Follow-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.
Reminder timing
Section titled “Reminder timing”Each reminder’s delay is configured on its flow and counts from the point the cart is confirmed abandoned.
Discount codes
Section titled “Discount codes”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.
Variables
Section titled “Variables”The recovery message is built from the abandoned checkout’s data. Available variables depend on whether the reminder carries a discount.
Standard reminder
| Variable | Description |
|---|---|
customer_first_name | Customer’s first name; falls back to a generic greeting when unknown. |
checkout_url | The Shopify recovery link that returns the customer to their checkout. |
support_phone | Your store’s support phone number. |
Reminder with discount
| Variable | Description |
|---|---|
customer_first_name | Customer’s first name. |
checkout_url | The recovery link with the discount code pre-applied. |
discount_code | The generated discount code. |
discount_value | The 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.
- Confirm your plan includes the reminder(s) you want — Basic for Reminder 1, Growth or Plus for Reminder 2. See Plans.
- In Flows, create or enable Abandoned cart reminder 1 (and Reminder 2 if available).
- Set each reminder’s delay. Keep the second reminder at least 24 hours out.
- Optionally enable a discount per reminder and configure its value.
- Wait for each reminder’s template to be Approved by Meta before it can send. See Flows overview.