What This Flow Does
Automatically detects when someone starts checkout on your Shopify store but leaves without placing the order. The flow sends a series of timed WhatsApp messages nudging them to complete their purchase, with direct links back to their abandoned checkout.
Why You Need This
Recovers 15-30% of abandoned carts: Most people don't abandon because they changed their minds, they got distracted. A reminder brings them back.
Automates follow-up: No manual tracking of who abandoned what. The flow handles it 24/7.
Personalizes recovery: Uses their name, shows their exact cart, and addresses common objections at different time intervals.
Things to Note
You Need a Phone Number to Message Them
This flow only works if we have the customer's WhatsApp number. That happens in two scenarios:
They entered their phone number at checkout (even if they didn't complete payment)
They're already logged into your store beforehand
If a customer reaches checkout anonymously (not logged in) and bounces before entering their phone number, Shopify can't identify them and we can't send recovery messages.
What About Anonymous Visitors?
If you want to recover checkouts from anonymous visitors who haven't entered any info, consider integrating Nitro. Nitro identifies anonymous website visitors in some cases and can capture their phone number even without them manually entering it. Spur has a full integration with Nitro that feeds those contacts into this flow automatically.
Exit Conditions Stop the Flow
The flow has two exit conditions:
Order Placed: If the customer completes their purchase at any point, no matter which stage of the flow they are on, the flow stops immediately (no point messaging someone to buy something they already bought).
Has been in this flow: If they've already received this abandoned checkout sequence once in the last day, they won't get it again. Prevents spam if someone abandons multiple times.
Only Works for Checkout Abandonment
This triggers when someone reaches the Shopify checkout page and leaves. It doesn't fire if they just add items to cart and leave; that's a different use case (cart abandonment, not checkout abandonment).
How It Looks In Action
The flow sends three messages at 20-minute, 4-hour, and 1-day intervals. Each message has a different angle: urgency, social proof, and final reminder with discount code.
How Each Step In The Flow Works
1. Trigger: Shopify Checkout Started
Fires when a customer lands on your checkout page and begins the checkout by entering their phone number.
2. Exit Conditions Checked
Condition 1: Has the order been placed?
If yes β Flow stops, customer doesn't get recovery messages.
Condition 2: Has this customer been in this flow within the last 1 day?
If yes β Flow stops to avoid bombarding them.
If both conditions are false, the flow proceeds.
3. Actions Taken
Delay 1 (30 minutes):
This delay is very important, it is there to check if after 30 minutes from when they started the checkout they have placed the order or not. That is ensured by the exit condition ''Order placed'' which if met will stop any message from being sent at this point, or at any point in the flow.
But if order is not placed within 30 minutes, first message goes out shortly after abandonment while intent is still warm. (By shortly, we mean that the default duration is set at 30 minutes, so if someone started checkout at 10am and they haven't placed an order by 10.30am, we send the first message to start the recovery of the potential order)
Message 1:
"Hi {{name}}! We noticed you left items in your cart π. Don't miss this opportunity to complete your purchase with {{brand}}. Click the button below to return to your cart and finish your order."
CTA: "Complete Order"
Delay 2 (4 hours):
Second nudge for those who didn't act on the first.
Message 2:
"Hey {{name}}, our customers love us! πβ¨ Don't miss out on the items in your cart. They won't last forever. You have {{time}} hours to complete your order before it's gone."
CTA: "Checkout Now"
Delay 3 (1 day):
Final attempt with added incentive (discount code).
Action 1: Immediately after the delay is over, we create a unique (one time use only per customer) discount code on your Shopify store which we will give to your customer right after creation in a separate Message #3 which we send after this.
Message 3:
"Hello {{name}}! As a special treat, we're offering you the chance to save {{discount}}% on your order. Copy the coupon below and use during checkout. This exclusive offer is only available for the next {{hours}} hours, so seize the opportunity now!"
CTA: "Copy offer code" + "Complete Purchase"
Setup Tips
Customize the delays: If your product has a shorter buying window (like event tickets), shorten the delays. For high-ticket items, space them out more.
Test the discount logic: Make sure your discount code variable
{{properties['Discount Code']}}
pulls from the right place (by default it's stored in the workflow variable called ''Discount Code'').Check message approval: WhatsApp requires marketing message templates to be pre-approved by Meta. Make sure all three messages are approved before enabling the flow.
Questions? Ping us in chat and we'll help you set it up. :)