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. +923001234567)
- 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