Shopify Abandoned Cart Recovery Free 2026 — No Apps, No Monthly Fees
The average Shopify store abandons 70–80% of checkouts. Most stores pay £30–£100/month to recover them via Klaviyo, Omnisend, or a dedicated cart recovery app. The free alternative — a Make.com webhook routing to a Systeme.io automation sequence — does the same job at $0/month.
This guide covers the complete free setup in 30 minutes.
What the Free Stack Does
Before building it, understand exactly what you’re getting:
- Trigger: Shopify fires a
checkouts/createwebhook the moment a checkout is abandoned — no app required, available on all Shopify plans - Router: Make.com receives the webhook and extracts the customer email, cart contents, checkout URL, and order value
- Sender: Systeme.io sends a three-email recovery sequence with conditional logic that stops after purchase
The sequence: email 1 at 1 hour (soft reminder, cart contents shown), email 2 at 24 hours (add urgency or social proof), email 3 at 72 hours (final nudge, optionally with discount).
Recovery rate for this sequence: 5–15% of abandoned checkouts depending on your niche, average order value, and email quality.
What You Need
- A Systeme.io free account — 2,000 contacts, unlimited sends, free
- A Make.com free account — 1,000 ops/month, free
- Your Shopify Admin access (Settings → Notifications → Webhooks)
Step 1 — Create the Systeme.io Automation
Set up the email sequence in Systeme.io before configuring the webhook, so you have a destination ready.
In Systeme.io — create your free account here if you haven’t already:
- Go to Automations → Create automation
- Set trigger: Contact subscribes to a tag — create a tag called
abandoned-cart - Add Email step — delay: 1 hour after trigger
Email 1 subject: You left something behind...
Write a short, personal email showing what they left in their cart. Include the checkout link. Keep it under 100 words. No hard sell — just a reminder.
- Add Condition step: check if contact has made a purchase (use the
purchasedtag if you’re tagging buyers). If yes → end automation. - Add Email step — delay: 24 hours after trigger
Email 2 subject: Still thinking about it?
Add a line of social proof (e.g. “Over 500 customers bought this last month”) or address a common objection. Include the checkout link again.
- Add Condition step: same purchase check.
- Add Email step — delay: 72 hours after trigger
Email 3 subject: Last chance — your cart expires soon
Create gentle urgency. Optionally include a discount code if your margins support it. This is the last email — keep it short.
- Save the automation. Note the tag name (
abandoned-cart) — you’ll use this in Make.com.
Step 2 — Get Your Systeme.io API Key
In Systeme.io: Profile icon → Settings → API keys → Generate new key
Copy the key. You’ll paste it into Make.com in the next step.
Step 3 — Build the Make.com Scenario
In Make.com — create your free account here if you haven’t already:
- Create a new scenario
- Add Webhooks → Custom webhook as the trigger
- Copy the generated webhook URL
The scenario needs two modules after the webhook trigger:
Module 2 — HTTP → Make a request
- URL:
https://api.systeme.io/api/contacts - Method: POST
- Headers:
X-API-Key: [your Systeme.io API key] - Body (JSON):
{
"email": "{{email}}",
"firstName": "{{first_name}}",
"fields": [
{"slug": "cart_value", "value": "{{total_price}}"},
{"slug": "checkout_url", "value": "{{abandoned_checkout_url}}"}
],
"tags": ["abandoned-cart"]
}
Map email, first_name, total_price, and abandoned_checkout_url from the Shopify webhook payload. Systeme.io creates or updates the contact and immediately triggers the abandoned-cart automation sequence.
Module 3 — Filter (optional but recommended)
Add a filter before Module 2: only proceed if {{email}} is not empty. This prevents failed runs when anonymous browsing creates checkouts without an email address.
Save the scenario and click Run once to activate the webhook listener.
Step 4 — Add the Webhook in Shopify
In Shopify Admin: Settings → Notifications → Webhooks → Create webhook
- Event: Checkout abandonment
- Format: JSON
- URL: paste your Make.com webhook URL
- Save
Shopify’s checkout abandonment webhook documentation confirms this event fires when a checkout has been created but not completed for longer than 10 minutes.
Step 5 — Test the Sequence
- On your store, add a product to cart, begin checkout, enter a real email address you control, then close the browser
- Wait 10–15 minutes for Shopify to fire the abandonment webhook
- Check Make.com → the scenario should show a successful run
- Check Systeme.io → Contacts → find the email → verify it has the
abandoned-carttag - Check your inbox — the first email should arrive within the hour
If the Make.com run fails, check the webhook payload in Make.com’s execution history to see the exact error. The most common issues are an empty email field (add the filter from Step 3) or an incorrect Systeme.io API key.
What Recovery Rates to Expect
Recovery rate depends on four factors: email timing, subject lines, average order value, and your niche.
| Scenario | Typical recovery rate |
|---|---|
| High AOV (£150+), well-written emails | 10–15% |
| Mid AOV (£40–£150), standard emails | 5–10% |
| Low AOV (under £40), impulse products | 3–7% |
| No recovery emails at all | 0% |
The 1-hour email almost always has the highest open rate. Many stores see 30–40% of total recoveries from the first email alone. Don’t skip it.
Free vs Paid: Is This Actually Equivalent to Klaviyo?
Klaviyo’s abandoned cart flow is more feature-rich: it supports dynamic product blocks showing the exact abandoned items with images, price drop triggers, and deep Shopify property access.
The free stack gives you: email content, checkout link, total cart value, and the customer’s name. No product images in the email (unless you build them manually), no dynamic blocks. For most Shopify stores — particularly under £500k/year revenue — this difference does not materially affect recovery rates.
The sequence logic (timing, conditions, stopping after purchase) is functionally equivalent on Systeme.io’s free plan.
Connect It to Your Full Free Stack
This abandoned cart sequence uses the same Make.com scenario you’re running for CAPI Shield and server-side tracking. Add the Systeme.io HTTP module as a parallel branch alongside your existing Meta CAPI and Google Enhanced Conversions branches — one Shopify webhook, abandoned cart recovery running simultaneously with server-side tracking at $0/month.
Full stack: CAPI Shield + Stocky Swap + P&L Auto + abandoned cart recovery — all running from a single Make.com free account.
Complete your free Shopify automation stack
While Make.com + Systeme.io handles abandoned cart recovery, the Complete Kit adds the rest of your automation layer — server-side tracking (CAPI Shield replaces Elevar), inventory management (Stocky Swap replaces Stocky before the August 31 shutdown), and live P&L reporting. Four pre-built Make.com JSON blueprints, $29 one-time, deploy in 10 minutes.
Skip the manual build — get the pre-built stack for $29
The Make.com scenarios for abandoned cart recovery, CAPI Shield, Stocky Swap, and P&L Auto are all available pre-built in the Complete Kit. Every field pre-mapped, every API connected. Import in 10 minutes instead of building from scratch. One payment, no subscription, 30-day money-back guarantee.