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