How cart recovery works
When a customer adds items to their cart but doesn't pay, Shopify fires a checkout webhook to Cartio. After your configured abandonment threshold, Cartio starts walking that customer through your visual recovery pipeline, sending messages, making calls, or branching based on customer behavior.
The three recovery channels
- • Highest open rate (95%+)
- • Rich messages with images
- • Two-way conversation
Requires: Meta WhatsApp Business account
AI Voice Call
- • Most personal channel
- • Real-time conversation
- • Convert hesitant buyers
Requires: Twilio + VAPI account
SMS
- • Universal reach
- • Reliable delivery
- • Works as fallback
Requires: Twilio account
5-step setup walkthrough
Set the abandonment threshold
How long a checkout sits idle before Cartio treats it as abandoned. Anywhere from 15 to 60 minutes works for most stores. Shorter windows risk catching customers still actively typing; longer windows lose urgency.
Settings → Cart Recovery → Abandonment ThresholdDesign your recovery pipeline
The Pipeline is a visual flow editor where each node is a step (delay, message, call, condition). The default flow is a 3-attempt sequence: WhatsApp → AI Call → final WhatsApp. Most stores keep the defaults; you can customize via drag-and-drop.
Pipeline page → drag/drop nodes → SaveTune the message and call timings
In the Settings page each call and WhatsApp message has its own slider showing absolute time from cart abandonment. Drag a slider to change when that step fires. The pipeline auto-reorders if a stage time crosses another.
Settings → Recovery Sequence + Set Up SMS SequenceCustomize message templates
Each WhatsApp / SMS / Call action node has a customizable message template or call script. Click any node in the Pipeline → Configure panel opens on the right → edit template variables like {{customer_name}} and {{cart_value}}.
Pipeline → click node → edit template/scriptEnable discount codes (optional)
Auto-generate single-use discount codes that get woven into recovery messages. Codes follow the pattern RF-XXXXXX and are tied to one cart, so customers can't share them.
Settings → Auto Discount Codes → toggle ONUnderstanding the pipeline
The pipeline is built from 6 node types. You add them by clicking the + button on any edge between existing nodes:
TRIGGEREntry point, every flow starts here. Auto-created.
DELAYWait for a configured duration before advancing.
CONDITIONBranch the flow on a check (e.g., Has WhatsApp?, Customer Replied?).
ACTIONSend a WhatsApp / SMS message OR make an AI Call.
SEND_CHECKOUT_LINKAuto-deliver the trackable recovery link via WhatsApp + SMS fallback.
ENDTerminal node, flow stops with a recorded outcome (Link Sent, Declined, etc.).
Run your first test
- 1Open your Shopify storefront in an incognito window
- 2Add an item to cart, go to checkout
- 3Enter a real phone number you can receive messages on (E.164 format, e.g. +15551234567)
- 4Close the tab without paying
- 5Wait for your configured abandonment threshold (15 min by default)
- 6You should receive the first WhatsApp message; check the dashboard for the live execution status
Common pitfalls
My flow says "Inactive" even though I saved it
The flow has its own active toggle (separate from Cart Recovery Enabled). Open the Pipeline page and click Activate in the toolbar, the pill should turn green.
Time changes in Settings don't affect carts that already started
By design, once a cart is mid-recovery, Cartio doesn't mid-flight switch its path. Time changes apply to NEW abandoned carts going forward. To test changes, trigger a fresh abandonment.
Validation banner shows red errors after editing
Each node validates against the runtime's expected fields. Hover over the red ! badge on any node to see the exact error. Common ones: a CONDITION missing its check type, an ACTION missing its channel, an END missing its end type.
Start with the default flow
The default pipeline (3 message attempts + 3 call attempts with conditional fallbacks) is battle-tested. Resist the urge to redesign on day one, run it for a week, look at the recovery rate, then tweak based on what you see.
Open the Pipeline editor
Cart recovery doesn't need code, drag, drop, connect. The default flow is ready to fire on your next abandoned cart.
Open Pipeline