Setup Guide 12 min read

Cart Recovery Setup

From a fresh Cartio install to your first recovered cart, this walkthrough covers everything: pipeline design, message timings, channel mix, discount codes, and how to verify it's working.

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.

Cart Abandoned15 min wait WhatsApp2h no reply AI CallRecovered

The three recovery channels

WhatsApp

  • • 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

1

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.

Where:Settings → Cart Recovery → Abandonment Threshold
2

Design 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.

Where:Pipeline page → drag/drop nodes → Save
3

Tune 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.

Where:Settings → Recovery Sequence + Set Up SMS Sequence
4

Customize 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}}.

Where:Pipeline → click node → edit template/script
5

Enable 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.

Where:Settings → Auto Discount Codes → toggle ON

Understanding the pipeline

The pipeline is built from 6 node types. You add them by clicking the + button on any edge between existing nodes:

TRIGGER

Entry point, every flow starts here. Auto-created.

DELAY

Wait for a configured duration before advancing.

CONDITION

Branch the flow on a check (e.g., Has WhatsApp?, Customer Replied?).

ACTION

Send a WhatsApp / SMS message OR make an AI Call.

SEND_CHECKOUT_LINK

Auto-deliver the trackable recovery link via WhatsApp + SMS fallback.

END

Terminal node, flow stops with a recorded outcome (Link Sent, Declined, etc.).

Run your first test

  1. 1
    Open your Shopify storefront in an incognito window
  2. 2
    Add an item to cart, go to checkout
  3. 3
    Enter a real phone number you can receive messages on (E.164 format, e.g. +15551234567)
  4. 4
    Close the tab without paying
  5. 5
    Wait for your configured abandonment threshold (15 min by default)
  6. 6
    You 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