Verlorene Verkäufe zurückholen: abgebrochene Shopify-Warenkörbe per WhatsApp
Hol Kunden zurück, die ohne Kauf gehen, mit einer automatischen WhatsApp-Erinnerung für jeden abgebrochenen Shopify-Warenkorb. Ohne Code, an einem Nachmittag eingerichtet.

Rund 7 von 10 Kunden, die etwas in den Warenkorb legen, gehen ohne zu bezahlen. Die meisten Shops versuchen es per E-Mail, obwohl kaum jemand diese Mails öffnet. WhatsApp ist anders: Fast jede Nachricht wird gelesen, meist innerhalb von Minuten. Eine kurze, freundliche Erinnerung wie "Hi Alex! Du hast die Merino-Wolljacke liegen lassen. Hier ist dein Link zum Abschließen." holt einen echten Teil dieser Kunden zurück.
Das Beste: Du kannst das selbst einrichten, ohne Code, ohne Entwickler und ohne Technikwissen. Wali ist der einfachste Weg, WhatsApp für dein Business zu automatisieren, und diese Anleitung zeigt dir den genauen Weg vom Start bis zum ersten zurückgewonnenen Verkauf.
Was du einrichtest
Wenn ein Kunde deinen Shopify-Shop mitten im Checkout verlässt, bekommt er automatisch eine WhatsApp-Nachricht mit seinem Namen, dem liegengelassenen Produkt und einem Link direkt zurück zum Checkout. Immer noch kein Kauf? Eine optionale Nachricht am nächsten Tag legt einen kleinen Gutschein drauf. Mehr steckt nicht dahinter, und einmal eingeschaltet, läuft die Sache von allein.
Du verbindest drei Dinge, ein einziges Mal:
- Abgebrochene Warenkörbe erkennt Shopify in jedem Tarif bereits ohne dein Zutun.
- Am einfachsten automatisierst und verschickst du deine WhatsApp-Nachrichten mit Wali, ganz ohne Code.
- Für deine WhatsApp-Nummer kommt dabei die offizielle WhatsApp Business API zum Einsatz.
So geht's, Schritt für Schritt.
Wali holt den Verkauf zurück, indem es die Erinnerung sendet, wartet, nachfasst und am Ende den Abschluss macht. Shopify selbst kann kein WhatsApp senden und hat nur eine Aufgabe: Wali in dem Moment zu melden, in dem ein Warenkorb abgebrochen wird. Stell dir Shopify als die Türklingel vor und Wali als den Verkäufer.
Schritt 1 · Erstelle dein Wali-Konto
Geh auf app.wali.chat/register und registriere dich. Dauert eine Minute.
Schritt 2 · Verbinde deine WhatsApp-Nummer
Verbinde in Wali deine Nummer auf der offiziellen WhatsApp Business API (von Meta). Wali führt dich durch die Registrierung der Nummer bei Meta. Dabei kannst du eine neue Nummer nehmen oder deine bestehende Geschäftsnummer mitbringen.
Schritt 3 · Erstelle deine Erinnerungsnachricht
WhatsApp verlangt von Unternehmen eine genehmigte Nachrichtenvorlage für Erinnerungen wie diese. So hält Meta WhatsApp frei von Spam. Erstelle in Wali eine einfache Vorlage mit drei Lücken für den Namen des Kunden, das Produkt und den Wiederherstellungslink und reiche sie ein. Die Freigabe dauert in der Regel bis zu 24 Stunden. Schon eine? Überspring diesen Schritt.
Zwei einfache Regeln, mit denen du auf der sicheren Seite bist:
- Schreibe nur Kunden, die dir die Erlaubnis gegeben haben (füge ein WhatsApp-Opt-in im Checkout hinzu).
- Hör auf, jemandem zu schreiben, der STOP antwortet.
Schritt 4 · Baue deinen Recovery-Flow in Wali
Öffne in Wali Flows und erstelle deinen Recovery-Flow (ab dem Business-Tarif enthalten). Der Flow prüft, ob der Kunde eine Nummer hinterlassen hat, schickt die Erinnerung, wartet einen Tag und sendet ein Follow-up mit Gutschein.
Im Editor setzt du diese Schritte mit wenigen Klicks zusammen, statt bei null anzufangen.
Schneller starten? Importiere diesen fertigen Flow in den Editor und lege dann deinen API-Key, dein Gerät und die Template-Namen fest:
{
"name": "WhatsApp abandoned-cart recovery",
"nodes": [
{ "parameters": { "httpMethod": "POST", "path": "abandoned-cart", "responseMode": "onReceived", "options": {} },
"id": "a1", "name": "Abandoned cart", "type": "n8n-nodes-base.webhook", "typeVersion": 2, "position": [260, 300], "webhookId": "abandoned-cart" },
{ "parameters": { "conditions": { "options": { "caseSensitive": true, "leftValue": "", "typeValidation": "loose", "version": 2 }, "conditions": [ { "id": "c1a2b3", "leftValue": "={{ $json.body.phone }}", "rightValue": "", "operator": { "type": "string", "operation": "notEmpty", "singleValue": true } } ], "combinator": "and" }, "options": {} },
"id": "a2", "name": "Has phone?", "type": "n8n-nodes-base.if", "typeVersion": 2.2, "position": [480, 300] },
{ "parameters": { "method": "POST", "url": "https://api.your-domain.com/v1/messages", "sendHeaders": true, "headerParameters": { "parameters": [ { "name": "Token", "value": "YOUR_API_KEY" }, { "name": "Content-Type", "value": "application/json" } ] }, "sendBody": true, "specifyBody": "json", "jsonBody": "={ \"device\": \"YOUR_DEVICE_ID\", \"phone\": \"{{ $('Abandoned cart').item.json.body.phone }}\", \"template\": { \"name\": \"abandoned_checkout_reminder\", \"language\": \"en\", \"components\": [ { \"type\": \"body\", \"parameters\": [ { \"type\": \"text\", \"text\": \"{{ $('Abandoned cart').item.json.body.first_name }}\" }, { \"type\": \"text\", \"text\": \"{{ $('Abandoned cart').item.json.body.product }}\" }, { \"type\": \"text\", \"text\": \"{{ $('Abandoned cart').item.json.body.recovery_url }}\" } ] } ] } }", "options": {} },
"id": "a3", "name": "Send reminder", "type": "n8n-nodes-base.httpRequest", "typeVersion": 4.2, "position": [720, 300] },
{ "parameters": { "amount": 24, "unit": "hours", "resume": "timeInterval" },
"id": "a4", "name": "Wait 24 hours", "type": "n8n-nodes-base.wait", "typeVersion": 1, "position": [940, 300], "webhookId": "wait-24h" },
{ "parameters": { "method": "POST", "url": "https://api.your-domain.com/v1/messages", "sendHeaders": true, "headerParameters": { "parameters": [ { "name": "Token", "value": "YOUR_API_KEY" }, { "name": "Content-Type", "value": "application/json" } ] }, "sendBody": true, "specifyBody": "json", "jsonBody": "={ \"device\": \"YOUR_DEVICE_ID\", \"phone\": \"{{ $('Abandoned cart').item.json.body.phone }}\", \"template\": { \"name\": \"abandoned_checkout_reminder_coupon\", \"language\": \"en\", \"components\": [ { \"type\": \"body\", \"parameters\": [ { \"type\": \"text\", \"text\": \"{{ $('Abandoned cart').item.json.body.first_name }}\" }, { \"type\": \"text\", \"text\": \"{{ $('Abandoned cart').item.json.body.product }}\" }, { \"type\": \"text\", \"text\": \"{{ $('Abandoned cart').item.json.body.recovery_url }}\" } ] } ] } }", "options": {} },
"id": "a5", "name": "Send reminder + coupon", "type": "n8n-nodes-base.httpRequest", "typeVersion": 4.2, "position": [1160, 300] }
],
"connections": {
"Abandoned cart": { "main": [[{ "node": "Has phone?", "type": "main", "index": 0 }]] },
"Has phone?": { "main": [[{ "node": "Send reminder", "type": "main", "index": 0 }], []] },
"Send reminder": { "main": [[{ "node": "Wait 24 hours", "type": "main", "index": 0 }]] },
"Wait 24 hours": { "main": [[{ "node": "Send reminder + coupon", "type": "main", "index": 0 }]] }
},
"active": false, "settings": { "executionOrder": "v1" }, "pinData": {}
}Kopiere jetzt deine Webhook-URL, denn mehr verbindet Shopify und Wali nicht:
- Öffne den ersten Node des Flows, Abandoned cart (ein Webhook).
- Kopiere seine URL, an die Shopify künftig jeden abgebrochenen Warenkorb schickt.
- Bewahre sie für den nächsten Schritt auf, wo du sie in Shopify einfügst.
Schritt 5 · Verbinde Shopify (das meldet nur an Wali)
Weil Shopify Flow selbst kein WhatsApp verschicken kann, beschränkt sich seine Rolle darauf, Wali zu benachrichtigen, sobald ein Warenkorb abgebrochen wird. Die Verbindung ist eine einzige URL: Shopify Flow → (sendet die Warenkorbdaten) → dein Wali-Webhook → Wali sendet das WhatsApp. Du richtest es einmal ein:
Öffne in deinem Shopify-Admin den App Store und installiere Shopify Flow. Diese kostenlose App von Shopify selbst gibt Wali genau dann Bescheid, wenn ein Warenkorb abgebrochen wird.

Suche nach Shopify Flow und klicke auf Install.

Sag Shopify jetzt, dass es diesen Flow auslösen soll, sobald jemand einen Warenkorb abbricht. Öffne die App Shopify Flow und:
1. Klicke auf Create workflow.

2. Klicke auf Add trigger, suche abandons und wähle Customer abandons checkout. Dann klicke auf das + darunter.

3. Wähle Action.

4. Suche Send HTTP request und wähle es aus.

5. Das Anfrageformular öffnet sich leer.

6. Fülle die Anfrage genau so aus wie im Bild unten, Feld für Feld:
- Methode:
POST - URL: die Webhook-URL deines Wali-Flows (der Abandoned cart-Node, den du vorhin kopiert hast)
- Header
Content-Type→application/json - Header
Token→ dein Wali-API-Key - Body: füge den Block unten ein und nutze den Add variable-Button von Flow, um jeden Wert einzusetzen (du musst ihn nicht lesen, sondern nur die Feldnamen zuordnen):
{
"event": "abandoned_checkout",
"checkout": {
"recovery_url": "{{ abandonedCheckout.abandonedCheckoutUrl }}",
"total": "{{ abandonedCheckout.totalPriceSet.presentmentMoney.amount }}",
"currency": "{{ abandonedCheckout.totalPriceSet.presentmentMoney.currencyCode }}"
},
"customer": {
"first_name": "{{ abandonedCheckout.customer.firstName }}",
"email": "{{ abandonedCheckout.customer.email }}",
"phone": "{{ abandonedCheckout.customer.phone }}"
},
"line_items": [
{% for lineItem in abandonedCheckout.lineItems %}
{ "title": "{{ lineItem.title }}", "quantity": {{ lineItem.quantity }} }{% unless forloop.last %},{% endunless %}
{% endfor %}
]
}
Hinweis: Die Send-HTTP-request-Aktion von Shopify gibt es ab dem Grow-Tarif.
Schritt 6 · Schalte ihn ein
Klicke auf Turn on workflow. Das war's. Ab jetzt löst jeder abgebrochene Warenkorb automatisch eine WhatsApp-Erinnerung aus. Das sieht dein Kunde:

Noch kein Shopify-Shop? Starte eine kostenlose Shopify-Testphase, richte deinen Shop ein und teste den ganzen Flow, bevor du dich für einen kostenpflichtigen Plan entscheidest.
Eine sanfte Erinnerungssequenz
Eine einzelne Nachricht holt zwar einige Warenkörbe zurück, eine kurze und respektvolle Sequenz aber mehr. Genau die steckt bereits im Flow oben. Stoppe in dem Moment, in dem der Kunde kauft oder STOP antwortet.
| Wann | Nachricht |
|---|---|
| Nach 1 Stunde | Freundliche Erinnerung + Link zum Checkout |
| Nach 24 Stunden | Follow-up + ein kleiner Gutschein |
Häufige Fragen
Brauche ich ein Plugin, um abgebrochene Warenkörbe zu erkennen?
Nein. Shopify erfasst abgebrochene Checkouts nativ in jedem Tarif. Du legst nur WhatsApp obendrauf.
Muss ich programmieren können?
Nein. Die ganze Einrichtung ist Klicken durch Shopify Flow und Wali.
Welche Tarife brauche ich?
Wali Business-Tarif oder höher (für die Flows). Bei Shopify braucht der Schritt Send HTTP request den Grow-Tarif oder höher.
Was, wenn der Kunde keine Nummer hinterlassen hat?
Dann kann WhatsApp ihn nicht erreichen, weil Shopify die Nummer nur erfasst, wenn der Kunde sie einträgt. Solche Kunden fängt weiterhin die Recovery-E-Mail von Shopify auf.
Ressourcen
Bereit, mehr Verkäufe zurückzuholen?
Einmal eingerichtet, arbeitet es für dich, während du schläfst. Erstelle dein kostenloses Wali-Konto und mach aus abgebrochenen Warenkörben abgeschlossene Bestellungen.