Unos 7 de cada 10 clientes que añaden algo al carrito se van sin pagar. La mayoría de tiendas intenta recuperarlos por email — pero casi nadie abre esos correos. WhatsApp es distinto: casi todos los mensajes se leen, normalmente en minutos. Así que un recordatorio corto y cercano — "¡Hola Alex! Te dejaste la Chaqueta de Lana Merino. Aquí tienes tu enlace para terminar." — hace que vuelva una parte real de esos clientes.
Lo mejor: puedes montarlo tú mismo. Sin código, sin programador, sin conocimientos técnicos. Wassenger es la forma más fácil de automatizar WhatsApp en tu negocio, y esta guía te lleva por el camino exacto, desde el principio hasta tu primera venta recuperada.
Qué vas a montar
Cuando alguien deja tu tienda de Shopify a mitad de la compra, recibe automáticamente un mensaje de WhatsApp con su nombre, el producto que dejó y un enlace directo para volver al checkout. ¿Sigue sin comprar? Un mensaje opcional al día siguiente añade un pequeño cupón. Eso es todo — y una vez activado, funciona solo.
Conectas tres cosas, una sola vez:
- Shopify — ya detecta los carritos abandonados por ti, en cualquier plan.
- Wassenger — la forma más fácil, sin código, de automatizar y enviar tus mensajes de WhatsApp.
- Tu número de WhatsApp — en la API oficial de WhatsApp Business.
Vamos paso a paso.
Wassenger es quien recupera la venta. Envía el recordatorio, espera, hace el seguimiento y cierra la venta. Lo único que hace Shopify es avisar a Wassenger en el momento en que se abandona un carrito — no puede enviar WhatsApp por sí solo. Es el timbre; Wassenger es quien vende.
Paso 1 · Crea tu cuenta de Wassenger
Entra en app.wassenger.com/register y regístrate. Es cuestión de un minuto.
Paso 2 · Conecta tu número de WhatsApp
Dentro de Wassenger, conecta tu número en la API oficial de WhatsApp Business (de Meta). Wassenger te guía para registrar el número con Meta — puedes usar un número nuevo o tu número de empresa de siempre.
Paso 3 · Crea tu mensaje recordatorio
WhatsApp pide a los negocios usar una plantilla de mensaje aprobada para recordatorios como este. Es una norma de Meta, y es lo que mantiene WhatsApp libre de spam. En Wassenger, crea una plantilla sencilla con tres huecos — el nombre del cliente, el producto y el enlace de recuperación — y envíala. La aprobación suele tardar hasta 24 horas. ¿Ya tienes una? Salta al siguiente paso.
Dos reglas sencillas para ir sobre seguro:
- Mensajea solo a quien te dio permiso (añade un opt-in de WhatsApp en el checkout).
- Deja de mensajear a quien responda STOP.
Paso 4 · Crea tu flujo de recuperación en Wassenger
En Wassenger, abre Flows y crea tu flujo de recuperación (está incluido desde el plan Business). El flujo comprueba que el cliente dejó un teléfono, envía el recordatorio, espera un día y manda un seguimiento con un cupón — así:
No lo construyes desde cero — el editor te deja colocar estos pasos en unos clics.
¿Quieres adelantar? Importa este flujo ya hecho en el editor y luego pon tu API key, tu dispositivo y los nombres de plantilla:
{
"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.wassenger.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.wassenger.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": {}
}
Ahora copia la URL de tu webhook — es el único enlace que conecta Shopify con Wassenger:
- Abre el primer nodo del flujo, Abandoned cart (es un webhook).
- Copia su URL — la dirección a la que Shopify enviará cada carrito abandonado.
- Guárdala para el siguiente paso, donde la pegarás en Shopify.
Paso 5 · Conecta Shopify (esto solo avisa a Wassenger)
Shopify Flow no puede enviar WhatsApp — su única función es avisar a Wassenger en cuanto se abandona un carrito. El enlace entre ambos es una sola URL: Shopify Flow → (envía los datos del carrito) → tu webhook de Wassenger → Wassenger envía el WhatsApp. Se configura una sola vez:
En tu panel de Shopify, abre la App Store e instala Shopify Flow. Es gratis, es de Shopify, y es la pieza que le avisa a Wassenger en el momento en que se abandona un carrito.
Busca Shopify Flow y haz clic en Install.
Ahora dile a Shopify que dispare ese flujo cada vez que alguien abandona un carrito. Abre la app Shopify Flow y:
1. Haz clic en Create workflow.
2. Haz clic en Add trigger, busca abandons y elige Customer abandons checkout. Luego haz clic en el + de abajo.
3. Elige Action.
4. Busca Send HTTP request y selecciónalo.
5. El formulario de la solicitud se abre vacío.
6. Rellena la solicitud exactamente como en la imagen de abajo. Configura cada campo:
- Método:
POST - URL: la URL del webhook de tu flujo de Wassenger (el nodo Abandoned cart que copiaste antes)
- Cabecera
Content-Type→application/json - Cabecera
Token→ tu API key de Wassenger - Body: pega el bloque de abajo y usa el botón Add variable de Flow para rellenar cada valor (no necesitas entenderlo — solo hacer coincidir los nombres de los campos):
{
"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 %}
]
}
Nota: la acción Send HTTP request de Shopify está disponible a partir del plan Grow.
Paso 6 · Actívalo
Haz clic en Turn on workflow. Ya está — cada carrito abandonado dispara ahora un recordatorio automático de WhatsApp. Esto es lo que ve tu cliente:
¿Aún no tienes tienda en Shopify? Empieza una prueba gratuita de Shopify — monta tu tienda y prueba todo este flujo antes de pasar a un plan de pago.
Una secuencia de recordatorios
Un mensaje recupera algunos carritos; una secuencia corta y respetuosa recupera más — y ya está incluida en el flujo de arriba. Detente en el momento en que el cliente compra o responde STOP.
| Cuándo | Mensaje |
|---|---|
| 1 hora después | Recordatorio cercano + enlace al checkout |
| 24 horas después | Seguimiento + un pequeño cupón |
Preguntas frecuentes
¿Necesito un plugin para detectar carritos abandonados?
No. Shopify registra los checkouts abandonados de forma nativa en todos los planes — tú solo añades WhatsApp encima.
¿Necesito saber programar?
No. Todo el montaje es hacer clic por Shopify Flow y Wassenger.
¿Qué planes necesito?
Wassenger plan Business o superior (para los flujos). En Shopify, el paso Send HTTP request necesita el plan Grow o superior.
¿Y si el cliente no dejó un teléfono?
Entonces WhatsApp no puede alcanzarle — Shopify solo captura el teléfono si el cliente lo escribió. A esos los sigue cubriendo el email de recuperación de Shopify.
Recursos
¿List@ para recuperar más ventas?
Móntalo una vez y trabaja por ti mientras duermes. Crea tu cuenta gratuita de Wassenger y convierte carritos abandonados en pedidos completados.
















