Recuperación de Carritos Abandonados Multietapa — Guía completa
Instalar, configurar y explotar la recuperación de carritos abandonados: detección automática, secuencias de correos multietapa, cupones escalonados, recuperación del carrito en un clic, seguimiento y estadísticas de recuperación para PrestaShop 8 y 9.
Presentación
El módulo Recuperación de Carritos Abandonados Multietapa (datafireflycartrecovery) detecta automáticamente los carritos abandonados y reactiva a sus clientes mediante una secuencia de correos programados. Cada etapa tiene su propio retraso, su contenido por idioma y un cupón opcional cuyo incentivo puede intensificarse con el tiempo. Un enlace firmado permite al cliente recuperar su carrito con un solo clic, y un panel mide los ingresos realmente recuperados.
De media, casi 7 de cada 10 carritos se abandonan antes del pago. Una secuencia de recuperación bien ajustada (un recordatorio simple, luego un descuento moderado y después una oferta mayor con envío gratis) recupera una parte significativa de esos ingresos sin esfuerzo manual.
Compatibilidad
- PrestaShop 8.0 a 9.x
- PHP 8.1 a 8.3
- Monotienda y multitienda (campañas y estadísticas segmentadas por tienda)
- 5 idiomas: FR, EN, ES, DE, IT
- Arquitectura PSR-4 sin Composer, una clase por archivo, sin dependencias externas
Instalación
- En el back office, abra Módulos > Gestor de módulos.
- Haga clic en Subir un módulo y seleccione el archivo
datafireflycartrecovery.zip. - Una vez instalado, haga clic en Configurar.
Al instalarse, el módulo crea sus tablas (carritos seguidos, cola de envío, eventos, lista de supresión), registra sus hooks, añade una pestaña Recuperación de carritos en el menú Clientes y crea una campaña predeterminada de tres etapas lista para usar: +1 h (recordatorio simple, sin cupón), +24 h (cupón −5 %) y +72 h (cupón −10 % + envío gratis).
Configuración del CRON
El módulo se basa en dos tareas programadas, ejecutadas por una única URL protegida por token: el escaneo (marca como abandonados los carritos inactivos y programa las etapas) y el procesamiento (envía los correos pendientes respetando las salvaguardas). La URL exacta, con su token, se muestra en la página de configuración del módulo.
https://SU-TIENDA/index.php?fc=module&module=datafireflycartrecovery&controller=cron&token=EL_TOKEN
Programe una tarea aproximadamente cada 15 minutos, por ejemplo:
*/15 * * * * wget -q -O /dev/null "https://SU-TIENDA/index.php?fc=module&module=datafireflycartrecovery&controller=cron&token=EL_TOKEN"
Sin una tarea cron activa, ningún carrito se marcará como abandonado y no se enviará ningún recordatorio. El token protege la URL frente a llamadas no autorizadas: no lo comparta públicamente. Si lo regenera, recuerde actualizar su línea cron.
Ajustes generales
Desde la página de configuración, ajuste el comportamiento global de la detección y el envío:
- Plazo de abandono (60 min por defecto): periodo de inactividad tras el cual un carrito se considera abandonado.
- Tamaño del lote (50 por defecto): número de correos procesados en cada pasada del cron, para suavizar la carga del servidor y del SMTP.
- Máximo de correos por carrito (3 por defecto): límite de correos enviados para un mismo carrito, en todas las etapas.
- Duración del seguimiento (30 días por defecto): más allá, un carrito no convertido deja de reactivarse y se archiva.
- Reconexión automática (activada por defecto): reconecta al cliente cuando hace clic en el enlace de recuperación (ver más abajo).
- Remitente: dirección y nombre de envío. Déjelo vacío para usar la dirección y el nombre de la tienda.
Campañas y secuencias
Ajustes de campaña
Una campaña agrupa una secuencia de etapas y sus reglas de segmentación:
- Importe mínimo del carrito: solo reactiva los carritos por encima de un umbral (0 = sin mínimo).
- Franja de envío: rango horario (p. ej. 8 h–21 h) fuera del cual los correos pendientes se posponen, para evitar envíos nocturnos. La franja gestiona el cruce de la medianoche.
- Antirrepetición (cooldown): retraso mínimo entre dos secuencias para un mismo cliente, para no saturarlo.
- Segmentar invitados: incluye o excluye las compras como invitado (carritos sin cuenta de cliente).
- Excluir cuentas B2B: excluye a los clientes cuya empresa, SIRET o número de IVA estén rellenados.
Etapas de la secuencia
Cada etapa define cuándo y qué enviar:
- Posición: orden de la etapa en la secuencia.
- Retraso tras el abandono (en minutos): p. ej. 60 = 1 h, 1440 = 24 h, 4320 = 72 h.
- Asunto y cuerpo HTML por idioma: el contenido de marketing, traducible para cada idioma activo.
- Etapa activa: permite activar o pausar una etapa sin eliminarla.
El contenido HTML que introduce se inserta en una plantilla de correo responsive incluida en cinco idiomas: la cabecera, el botón de acción, la tabla resumen del carrito, el bloque del cupón y el pie de página (incluido el enlace de baja) se añaden automáticamente. Hay tres variables disponibles en su texto: {firstname}, {shop_name} y {voucher_code}.
Cupones
Cada etapa puede generar un cupón nominativo, creado al instante para el cliente concreto:
- Tipo: porcentaje o importe fijo.
- Valor e importe mínimo de aplicación.
- Validez en días.
- Envío gratis (combinable con el descuento).
- Descuento con o sin IVA.
Los cupones son nominativos, de un solo uso y con tiempo limitado: no pueden compartirse ni reutilizarse. Una buena práctica es no ofrecer descuento en la primera etapa (un simple recordatorio) y luego escalar gradualmente (−5 %, después −10 % + envío gratis), para conceder un descuento solo a los clientes que lo necesitan para convertir.
Recuperación del carrito en un clic
Cada correo contiene un enlace de recuperación firmado (HMAC) que reconstruye el carrito exacto del cliente y, si la opción está activada, lo reconecta automáticamente a su cuenta. Un solo clic lo lleva de vuelta a su página de carrito, listo para pagar, con el cupón de la etapa ya asociado.
El enlace está firmado: cualquier alteración de sus parámetros lo invalida. La reconexión automática puede desactivarse en los ajustes generales si prefiere que el cliente se reconecte manualmente.
Seguimiento y atribución de ingresos
- Aperturas: un píxel invisible registra la apertura de cada correo.
- Clics: se contabiliza el clic en el enlace de recuperación.
- Conversión: al validar un pedido, el módulo asocia automáticamente el pedido al carrito reactivado, marca el carrito como recuperado, atribuye los ingresos y cancela los recordatorios restantes de la secuencia.
Conformidad RGPD
Cada correo incluye un enlace de baja. Cuando un cliente se da de baja, su dirección se añade a una lista de supresión persistente: no volverá a ser reactivado y se cancelan los envíos pendientes que le conciernen. Los carritos sin una dirección de correo utilizable nunca se siguen. La desinstalación del módulo elimina las tablas, la configuración y la pestaña de administración.
Panel y estadísticas
La pestaña Recuperación de carritos muestra los indicadores clave a 30 días: carritos detectados y valor abandonado, carritos recuperados y tasa de recuperación, correos enviados, tasas de apertura y clic, e ingresos recuperados. Un gráfico compara las detecciones con las recuperaciones día a día, y una tabla detalla el rendimiento de cada etapa de la campaña activa (enviados, abiertos, clicados, tasa de clic). La pestaña Carritos lista los últimos carritos seguidos con su estado.
FAQ y resolución de problemas
No se envía ningún recordatorio
Compruebe en primer lugar que la tarea cron está activa y llama a la URL con el token correcto. Sin cron, no se detecta ni se envía nada. Compruebe después que la campaña está activa, que al menos una etapa está activa y que la hora actual está dentro de la franja de envío.
¿Cómo se detectan los carritos abandonados?
El módulo registra los carritos mediante un hook de PrestaShop, y luego el escaneo del cron marca como abandonados los que han quedado inactivos más allá del plazo de abandono configurado, siempre que haya una dirección de correo utilizable.
¿Puede un cliente recibir demasiados correos?
No: el máximo de correos por carrito, la antirrepetición entre secuencias y la franja de envío enmarcan estrictamente la frecuencia. En cuanto un carrito se convierte o el cliente se da de baja, los recordatorios restantes se cancelan.
¿Son seguros los cupones?
Sí. Cada cupón es nominativo, de un solo uso y con tiempo limitado; se genera para un cliente concreto y no puede ser reutilizado por un tercero.
¿El módulo es compatible con multitienda?
Sí. Las campañas, los carritos seguidos y las estadísticas están segmentados por tienda.
¿Es compatible con PrestaShop 9?
Sí. El módulo se ha probado en PrestaShop 8 y 9 y sigue los cambios de la API de PS9 (formato de precios mediante la API Locale, controladores, etc.).