Analista de marketing

0 de 21 lecciones completas (0%)

Sistema de Carrito Abandonado por WhatsApp — Funcionamiento Completo

Esta es una vista previa de clase

Compra el curso, o inicia sesión si ya te has inscrito, para asistir a esta clase.

📱 ¿Qué es el Sistema de Carrito Abandonado por WhatsApp?

Es un sistema automático que detecta carritos abandonados en Shopify y envía un mensaje de WhatsApp al cliente para recuperar la venta. Si el cliente responde, un bot con IA lo atiende sabiendo exactamente qué productos dejó en el carrito.

Canales: WhatsApp (mensaje directo) + Klaviyo (flujo de emails condicional).

🔄 Flujo Completo

  1. Cliente abandona checkout en yeppo.cl — Shopify registra el carrito.
  2. Espera 45 minutos — margen para que el cliente vuelva solo.
  3. El sistema revisa cada 60 min (entre 10:00 y 22:00) todos los checkouts abandonados de los últimos 7 días.
  4. Envía template de WhatsApp recuperar_carrito_yeppo con el nombre del cliente y link directo a su checkout.
  5. Guarda en Klaviyo el campo wa_carrito_enviado_at con la fecha/hora del envío.
  6. Klaviyo lo detecta — el Conditional Split en el flujo U48rQK evita enviar email si ya recibió WhatsApp.
Flujo del Sistema de Recuperacion de Carritos
Flujo completo: desde el checkout abandonado hasta la respuesta del bot.

📨 El Mensaje de WhatsApp

Template: recuperar_carrito_yeppo (ID Meta: 4367182693500526)

Contenido:

  • Saludo personalizado con el nombre del cliente
  • Recordatorio de que dejó productos en el carrito
  • Botón directo al checkout para completar la compra

Límites:

  • Máximo 1 mensaje cada 30 días por cliente (controlado por Redis).
  • Intervalo de 1.2 segundos entre mensajes (rate limit de Meta).
  • Solo se envía si el checkout tiene teléfono válido (formato chileno).
Mensaje de WhatsApp del template recuperar_carrito_yeppo
Así se ve el mensaje que recibe el cliente. Incluye su nombre, recordatorio del carrito y botón directo al checkout.

🤖 Bot con IA: Respuestas con Contexto

Cuando el cliente responde al mensaje de WhatsApp, el bot NO responde genéricamente. El sistema inyecta en la IA:

  • Productos abandonados: nombre, variante, cantidad y precio de cada producto del carrito.
  • Total del carrito.
  • Contexto de la campaña: sabe que el cliente viene de un mensaje de recuperación.

Ejemplo de lo que recibe la IA:

## Contexto: Recuperación de carrito abandonado
Productos en su carrito:
- Sérum Niacinamida 10% (30ml) x1 — $12.990
- Protector Solar Oil-Free (50ml) x2 — $8.990
Total: $30.970
Como el Bot recibe contexto del carrito
El cliente ve una conversacion normal. La IA recibe datos concretos de los productos abandonados.

Esto permite que el bot responda preguntas como «¿ese sérum es bueno para piel grasa?» o «¿cuánto me demora el envío?» sin necesidad de preguntar de qué producto habla.

Conversacion del bot con contexto de carrito
Conversación real: el bot responde sobre productos específicos del carrito sin preguntar de qué habla el cliente.

🔀 Conditional Split en Klaviyo

El flujo de carrito abandonado en Klaviyo (U48rQK) tiene un Conditional Split que verifica si el cliente ya recibió WhatsApp:

  • Condición: wa_carrito_enviado_at existe y fue en las últimas 2 horas.
  • Rama SÍ: el cliente ya recibió WhatsApp → NO se envía email #1 (evita duplicación).
  • Rama NO: no recibió WhatsApp → sigue el flujo normal de emails.

⚠️ Importante: la rama SÍ debe reconectar al delay de 24h (siguiente paso del flujo), NO terminar el flujo. Si termina, el cliente no recibe ningún email de seguimiento.

Ver lección específica: Conditional Split en Flujo de Carritos — WhatsApp + Klaviyo

📊 Monitoreo y Métricas

Verificar envíos recientes:

  • Endpoint de logs: /admin/logs?n=100 en Railway.
  • Buscar líneas con [carrito] para ver candidatos, envíos exitosos y errores.

Verificar en Klaviyo:

  • Campo wa_carrito_enviado_at en el perfil del cliente → indica que recibió WhatsApp.
  • Flujo U48rQK → revisar entradas para confirmar que el split está funcionando.

Métricas del sistema (ejemplo real del 21-may-2026):

  • 189 checkouts procesados
  • 120 candidatos (teléfono válido, no duplicado)
  • 88 mensajes enviados ✅
  • 0 fallos ❌

⚙️ Configuración Técnica

Stack: Node.js + Railway + Redis + Shopify API + Meta WhatsApp Cloud API + Klaviyo API.

Variables de entorno (Railway):

  • CARRITO_ENABLED=true — activa/desactiva el módulo.
  • WHATSAPP_ACCESS_TOKEN — token de Meta para enviar mensajes.
  • SHOPIFY_TOKEN — token admin de Shopify para leer checkouts.
  • KLAVIYO_API_KEY — API key para escribir wa_carrito_enviado_at.
  • REDIS_URL — Redis para control de duplicados (TTL 30 días).

Horario: 10:00 a 22:00 (hora Chile), cada 60 minutos.

Ubicación del código: core/carrito-abandonado.js en el repositorio claw-whatsapp-agent.

🚫 Lo Que NO Hace

  • NO envía mensaje si el cliente ya completó la compra (próximamente se agregará verificación).
  • NO reemplaza el flujo de emails de Klaviyo — son canales complementarios.
  • NO envía más de 1 mensaje por cliente cada 30 días.

🔗 Referencias