SW Shopware 6 Principiante

DfCartRecovery — Recuperación de carrito abandonado para Shopware 6

Instalar y configurar la recuperación de carritos abandonados en Shopware 6: recordatorios programados, códigos únicos, enlace de restauración y seguimiento.

Actualizado Versión del módulo 1.0.0

Presentación

DfCartRecovery añade a Shopware 6 (Community Edition) la recuperación de carritos abandonados, normalmente reservada al plan Commercial: detección de carritos, hasta 3 emails de recordatorio programados, un código de descuento único por cliente, un enlace de restauración del carrito en 1 clic y seguimiento de los pedidos recuperados. Sin servicio externo, sin build de administración: todo se configura en los ajustes del plugin.

Requisitos

  • Shopware 6.5, 6.6 o 6.7 (Community Edition autoalojada — Shopware Cloud SaaS no soportado)
  • PHP 8.1 o superior (8.2+ recomendado)
  • Consumidor de mensajes y ejecutor de tareas programadas activos (recomendación estándar de Shopware en producción)
  • Envío de emails operativo en la tienda (los recordatorios pasan por el servicio de correo nativo de Shopware)

Instalación

  1. Descomprime el archivo y coloca la carpeta DfCartRecovery en custom/plugins/.
  2. Desde la raíz de Shopware, ejecuta:
bin/console plugin:refresh
bin/console plugin:install --activate DfCartRecovery
bin/console cache:clear

La tarea programada df_cart_recovery.process se registra automáticamente y se ejecuta cada 15 minutos. Comprueba que tus workers están activos:

bin/console scheduled-task:run
bin/console messenger:consume async low_priority

La instalación crea la tabla de seguimiento df_cart_recovery y la plantilla de email «Recordatorio de carrito abandonado (DataFirefly)», pretraducida a ES, EN, DE, FR e IT.

Configuración

Ve a Extensiones → Mis extensiones → DfCartRecovery → Configuración. Tres tarjetas de ajustes:

General

  • Activar la recuperación de carritos — interruptor global del plugin.
  • Valor mínimo del carrito — los carritos por debajo de este importe se ignoran (0 = sin mínimo).
  • Retención de datos (días) — las fichas de seguimiento más antiguas se eliminan automáticamente (30 días por defecto, ver la sección RGPD).

Emails de recordatorio

  • Número de recordatorios — 1, 2 o 3 (2 por defecto).
  • Recordatorio 1 — minutos tras el abandono del carrito (60 por defecto, es decir 1 hora).
  • Recordatorio 2 — minutos tras el recordatorio 1 (1440 por defecto, es decir 24 horas).
  • Recordatorio 3 — minutos tras el recordatorio 2 (4320 por defecto, es decir 72 horas).

La secuencia 1 h / +24 h / +72 h es el estándar probado del retargeting por email: mantenla como punto de partida y ajústala según tus estadísticas de recuperación.

Código de descuento

  • Incluir un código de descuento único — activa la generación de códigos individuales.
  • Promoción para los códigos generados — selecciona la promoción Shopware que llevará los códigos (ver más abajo).
  • Enviar el código con el recordatorio nº — 2 por defecto: los clientes que vuelven tras el primer email compran sin descuento.
  • Prefijo del código — CART por defecto; los códigos generados tienen la forma CART-7F3A91B2.

Crear la promoción para los códigos únicos

  1. En el admin de Shopware, abre Marketing → Promociones y crea una promoción (o reutiliza una existente).
  2. En la pestaña general, activa Códigos promocionales individuales.
  3. Define el descuento (porcentaje o importe), las condiciones y el periodo de validez como de costumbre.
  4. Activa la promoción y selecciónala en la configuración del plugin.

La promoción debe tener obligatoriamente los códigos individuales activados: el plugin inserta sus códigos generados en esa lista. Sin esta opción, los códigos enviados por email no serán aceptados en el checkout.

Personalizar el email de recordatorio

El contenido se edita en Ajustes → Plantillas de email, tipo «Recordatorio de carrito abandonado (DataFirefly)», para cada idioma de la tienda. Variables Twig disponibles:

  • firstName / lastName — nombre y apellido del cliente
  • items — artículos del carrito, cada uno con label y quantity
  • total y currency — importe del carrito y código de divisa
  • recoveryUrl — enlace de restauración del carrito (colócalo en el botón de acción)
  • voucherCode — código de descuento único (vacío si está desactivado o en recordatorios sin código: envuelve su bloque en una condición Twig)
  • shopName — nombre de la tienda del canal de venta
  • reminderNumber — número del recordatorio en curso (1, 2 o 3)

El enlace de restauración

Cada email contiene un enlace único de la forma /df-cart-recovery/token, generado en el dominio del canal de venta del cliente, en su idioma. Al hacer clic, el plugin reconstruye el carrito artículo por artículo, señala los productos que ya no están disponibles con un mensaje en el storefront, registra la fecha del clic y redirige a la página del carrito. Los enlaces inválidos o caducados redirigen a la portada con un mensaje explícito.

Seguimiento de recuperación

En cuanto se realiza un pedido, el plugin compara el email del cliente con los carritos abandonados pendientes: la ficha pasa a «recuperada» con el identificador del pedido, la fecha y el número de recordatorios enviados. Los recordatorios se detienen inmediatamente para ese carrito. Los datos residen en la tabla df_cart_recovery (tokens, estados, clics, pedidos vinculados) para tus informes SQL o BI.

RGPD y datos

  • Ningún dato sale de tu servidor; no se llama a ningún servicio de terceros.
  • Las fichas de seguimiento se purgan automáticamente tras el periodo de retención configurado.
  • Al desinstalar, elige «Eliminar todos los datos de la aplicación» para borrar la tabla, la plantilla de email y la configuración — o consérvalos para mantener el histórico.

Solución de problemas

No se envía ningún email

  • Comprueba que la tarea programada funciona: bin/console scheduled-task:list debe mostrar df_cart_recovery.process como scheduled, y tus workers de messenger deben estar activos.
  • Prueba el envío global de email de la tienda (Ajustes → Agente de correo): el plugin usa el servicio de correo estándar.
  • Revisa el valor mínimo del carrito y el retraso del recordatorio 1: un carrito abandonado hace 20 minutos con un retraso de 60 minutos aún no es elegible.

Los invitados no reciben nada

Es el comportamiento esperado: sin dirección de email, no es posible ningún recordatorio. Los invitados se registran en cuanto se identifican (inicio de sesión o creación de cuenta durante el checkout) — la fusión del carrito actualiza la ficha con su dirección.

El código de descuento no aparece en el email

  • Comprueba que «Incluir un código de descuento único» está activo y que hay una promoción seleccionada.
  • La promoción debe existir, estar activa y tener los códigos individuales activados.
  • El código solo se adjunta a partir del recordatorio configurado (el 2º por defecto): el recordatorio 1 no lleva código en la configuración estándar.

El enlace de restauración redirige a la portada

El token es inválido o la ficha fue purgada (retención superada) — el cliente ve un mensaje invitándole a rehacer su carrito. Aumenta el periodo de retención si tus retrasos de recordatorio son largos.

¿Te ha resultado útil esta página?

¿Sigues atascado? Contacta con soporte