← Laboratorio

Carritos abandonados en PrestaShop: qué puedes enviar y qué no

Cómo detectar los carritos realmente abandonados en PrestaShop, qué permite la LSSI enviar a quien nunca ha comprado, y cómo montar la secuencia con cron sin acabar en spam.

Publicado: 20/8/2026Revisado: 23/7/202614 min de lectura

Autor y revisor:

Ilustración editorial: Carritos abandonados en PrestaShop: qué puedes enviar y qué no

El carrito que se queda a medias

Alguien eligió el producto, lo metió en el carrito, llegó a poner el correo y se fue. No es un curioso: es la persona que más cerca ha estado de comprarte hoy.

Recuperar esos carritos es de las pocas automatizaciones de una tienda que se pagan solas. También es de las que más fácil se hacen mal, porque tiene tres partes y casi todo el mundo solo mira la tercera: saber qué carrito está abandonado de verdad, saber a quién puedes escribir legalmente, y escribir.

Esta guía va de las tres, en ese orden, sobre PrestaShop 8 y 9.

Qué es y qué no es un carrito abandonado

Si abres Clientes → Carritos en el back office y te asustas, respira: la mayoría de esas filas no son abandonos.

PrestaShop crea una fila en la tabla de carritos casi por cualquier cosa. Muchas quedan vacías, otras corresponden a visitantes sin identificar, y otras son carritos que sí acabaron en pedido. Contar todas como abandono infla la cifra y hace que la primera métrica del proyecto ya sea mentira.

Un carrito abandonado útil cumple tres condiciones: tiene productos dentro, no tiene pedido asociado, y sabes cómo contactar con esa persona.

SELECT c.id_cart, c.id_customer, cu.email, c.date_upd
FROM ps_cart c
JOIN ps_customer cu ON cu.id_customer = c.id_customer
LEFT JOIN ps_orders o ON o.id_cart = c.id_cart
WHERE o.id_order IS NULL              -- no acabó en pedido
  AND c.id_customer > 0               -- sabemos quién es
  AND EXISTS (SELECT 1 FROM ps_cart_product p WHERE p.id_cart = c.id_cart)
  AND c.date_upd < NOW() - INTERVAL 1 HOUR
  AND c.date_upd > NOW() - INTERVAL 30 DAY;

Ajusta el prefijo de tabla si el tuyo no es ps_. Ese último filtro de treinta días importa: un carrito de hace cuatro meses no es una oportunidad, es un cadáver, y escribirle a alguien por algo que hizo en primavera parece exactamente lo que es.

Una advertencia sobre el estado de existencias: entre el abandono y tu correo pueden pasar horas. Comprueba el stock antes de enviar. Recordarle a alguien un producto agotado es la manera más rápida de convertir una venta perdida en un cliente enfadado.

Lo que la ley te deja enviar

Esta es la parte que casi ninguna guía menciona, y es la que puede costarte dinero de verdad.

En España, el artículo 21 de la LSSI prohíbe enviar comunicaciones comerciales por correo electrónico a quien no las ha solicitado o autorizado. Hay una excepción, y conviene leerla despacio: se permite cuando existe una relación contractual previa y se ofrecen productos similares a los ya contratados.

De ahí salen dos situaciones muy distintas:

El cliente que ya te ha comprado alguna vez. Encaja en la excepción. Puedes escribirle sobre productos similares, siempre con una forma sencilla y gratuita de oponerse en cada mensaje.

Quien nunca ha comprado. Aunque haya dejado el correo en el checkout, no hay relación contractual previa. Dejar un correo para completar un pedido no es autorizar publicidad. Aquí necesitas consentimiento explícito y separado.

La consecuencia práctica es que la casilla importa. Si tu checkout ya tiene una casilla de suscripción —no premarcada, no mezclada con la de condiciones de venta—, quien la marca entra en la secuencia. Quien no, no.

Merece la pena decirlo claro: esto reduce el volumen. También reduce las denuncias, y las sanciones por comunicaciones comerciales no consentidas no son simbólicas. Segmenta por base jurídica primero y por comportamiento después, nunca al revés.

Y en todos los casos, sin excepción: identificación clara del remitente, la palabra “publicidad” o equivalente cuando proceda, y baja en un clic que funcione de verdad.

El disparador: cron, no visitas

Muchos módulos lanzan sus tareas aprovechando las visitas a la tienda. Es cómodo y es frágil: si tienes poco tráfico de madrugada, los correos de las tres de la mañana salen a las nueve, y la secuencia deja de ser una secuencia.

Lo correcto es una tarea programada de verdad:

# Cada hora en punto. El token evita que la URL la pueda lanzar cualquiera.
0 * * * * curl -s "https://tutienda.es/modules/mimodulo/cron.php?token=XXXX" > /dev/null

Si tienes acceso al servidor, mejor por línea de comandos que por URL, porque así el proceso no compite con el tiempo de respuesta de la web ni depende del límite de ejecución de PHP-FPM.

Dos cosas que este proceso necesita sí o sí:

Marca de envío por carrito y por paso. Sin una tabla que registre qué se ha mandado ya, un cron que se ejecute dos veces manda el correo dos veces. Es el fallo más común y el que más rápido quema la reputación de tu dominio.

Condición de parada. Si la persona compra, se da de baja o llega al último paso, sale de la secuencia. Suena obvio hasta que alguien recibe el recordatorio del carrito que ya pagó.

Cuántos correos y cuándo

No hay una cifra universal, y quien te la dé sin conocer tu tienda se la está inventando. Lo que sí es estable es la lógica: cada mensaje necesita un motivo distinto, o el segundo y el tercero son el primero repetido y más molesto.

Un esquema que funciona en tiendas normales:

Primer mensaje, a la hora. Puramente útil, sin venta. “Te hemos guardado el carrito” con el enlace para recuperarlo. Mucha gente abandona por interrupción, no por duda: el móvil suena, el niño llama. A esa persona le estás haciendo un favor.

Segundo mensaje, al día siguiente. Aquí sí hay una objeción que resolver, y suele ser la misma: envío, plazo, devoluciones o garantía. Contéstala en el correo en lugar de repetir el producto.

Tercer mensaje, a los tres días. Es el último y hay que decirlo. Si va a haber incentivo, va aquí.

Manda los tres desde el mismo remitente reconocible y con asuntos distintos. Y no envíes de madrugada aunque el carrito se abandonara de madrugada: llegar a las cuatro de la mañana no mejora nada y sí aumenta las bajas.

El cupón, y la trampa del cupón

Un descuento en el primer correo sube la recuperación a corto plazo. También le enseña a tu cliente habitual que si abandona el carrito le llega un diez por ciento, y eso lo aprenden más rápido de lo que parece. Al cabo de unos meses estarás pagando descuento por pedidos que ibas a tener igual.

Si usas cupón:

  • En el último mensaje, no en el primero.
  • Con caducidad corta y visible.
  • De un solo uso y vinculado al correo, no un código genérico que acabará en foros de descuentos.
  • Nunca sobre productos que ya están rebajados.
// Cupón nominal, un uso, 72 horas. Un código genérico en un correo masivo
// termina publicado en un agregador de cupones el mismo día.
$regla = new CartRule();
$regla->code = 'CR-' . strtoupper(Tools::passwdGen(8));
$regla->id_customer = (int) $idCliente;
$regla->quantity = 1;
$regla->quantity_per_user = 1;
$regla->reduction_percent = 5;
$regla->date_from = date('Y-m-d H:i:s');
$regla->date_to = date('Y-m-d H:i:s', strtotime('+3 days'));
$regla->active = true;
$regla->add();

Lo que no funciona

Escribir a todo el que dejó un correo. Además del problema legal, tus tasas de queja suben y acabas en la carpeta de promociones o directamente en spam, con lo que pierdes también los correos transaccionales.

Cinco correos “por si acaso”. A partir del tercero lo que recuperas es marginal y lo que ganas son bajas y marcas de spam.

Recordar el carrito sin mirar el stock. Ya está dicho, pero es el fallo que más enfada.

Atribuirte toda la recuperación. Parte de esa gente iba a volver sola. Si no descuentas eso, el informe dirá que la automatización es tres veces mejor de lo que es.

Reutilizar el remitente de las notificaciones de pedido. Si el correo comercial genera quejas, arrastra al transaccional que sí necesita llegar.

Cómo medir sin engañarte

La medición honesta de una secuencia de recuperación necesita un grupo de control: un porcentaje de los carritos que cumplen todas las condiciones y a los que, deliberadamente, no se les envía nada.

Es incómodo, porque parece dejar dinero sobre la mesa. Es lo único que responde a la pregunta de verdad, que no es “cuántos volvieron después del correo” sino “cuántos volvieron por el correo”.

Con un cinco o un diez por ciento de control basta en la mayoría de tiendas. Deja correr dos o tres meses —los carritos no son tantos como parecen— y compara la tasa de conversión de los dos grupos. La diferencia es tu resultado real. Todo lo demás es el número que sale en la captura de pantalla del proveedor.

Guarda también las bajas y las quejas por spam en la misma tabla. Una secuencia que recupera un poco más a costa de quemar la lista no es una mejora, es un préstamo.

Si te apañas con esto, no necesitas nada más

La consulta está arriba, el cron son dos líneas y las plantillas de correo las tienes en PrestaShop. Si tu volumen es pequeño y tienes quien mantenga el código, hacerlo a mano es una decisión perfectamente sensata.

Lo que se complica con el tiempo es lo de siempre: que la marca de envío aguante un cron que se solapa, que los cupones caduquen solos, que la plantilla no se rompa en la siguiente actualización y que exista el grupo de control cuando alguien pregunte si esto sirve para algo.

Ampliación editorial · revisión 2026

La decisión central de esta guía

¿Puedo escribir a quien abandonó el carrito en mi tienda PrestaShop?

Depende de quién sea. Si ya te compró alguna vez, la excepción del artículo 21 de la LSSI permite escribirle sobre productos similares con una baja sencilla en cada mensaje. Si nunca ha comprado, dejar el correo en el checkout no es autorizar publicidad: hace falta consentimiento explícito y separado, normalmente una casilla no premarcada e independiente de las condiciones de venta.

Decisión

Segmenta primero por base jurídica y después por comportamiento. Dispara la secuencia con una tarea programada real y no aprovechando las visitas, limita la secuencia a dos o tres mensajes con un motivo distinto cada uno, y deja el incentivo para el último si es que lo usas.

Evidencia

Reserva entre un cinco y un diez por ciento de los carritos como grupo de control que no recibe nada, y compara su conversión con la del grupo tratado durante dos o tres meses. Registra en la misma tabla las bajas y las quejas por spam: una recuperación que quema la lista no es una mejora.

Límite

No se dan tasas de recuperación ni de apertura. El descuento automático en el primer correo entrena a los clientes habituales a abandonar el carrito. Y recordar un carrito sin comprobar existencias convierte una venta perdida en un cliente enfadado.

Carrito y panel visual que representan una operación ecommerce
Visual editorial relacionada con el sistema analizado en esta guía.

Marco técnico

Arquitectura de ecommerce orientada a compra y operación

Un ecommerce coordina descubrimiento, decisión, pago, inventario, entrega y postventa. La interfaz es solo la capa visible. La calidad depende de que producto, precio, stock, cliente y pedido tengan reglas claras y de que las excepciones puedan resolverse sin perder trazabilidad.

La plataforma se selecciona después de modelar catálogo, clientes, países, impuestos, pagos, transportistas e integraciones. PrestaShop, WooCommerce o Shopify pueden resolver bien escenarios diferentes. Comparar solo precio de licencia ignora módulos, hosting, soporte, comisiones, actualización y coste de salida.

La ficha de producto reduce incertidumbre. Nombre, imágenes, variantes, medidas, disponibilidad, entrega, devolución y soporte aparecen con una jerarquía coherente. Las descripciones duplicadas del fabricante no expresan experiencia ni diferencian. El contenido responde preguntas que llegan a ventas y utiliza datos estructurados solo cuando la información existe en pantalla.

Analítica para revisar compra, checkout y rentabilidad
La segunda imagen separa diagnóstico y aplicación para reducir fatiga de lectura.

El checkout elimina campos que no cambian la entrega o el pago, conserva datos ante error y comunica el coste antes del último paso. Compra como invitado, métodos rápidos y autocompletado pueden ayudar, pero se validan por dispositivo y mercado. Reducir pantallas no compensa una política confusa o un pago que falla.

Stock y pedido requieren reconciliación. La tienda no debe prometer disponibilidad que el sistema maestro no puede sostener. Cuando una integración falla, el equipo necesita alerta, contexto e instrucciones. Los reintentos no pueden duplicar pedidos y los estados visibles para el cliente deben corresponder con el trabajo real.

Lista de control antes de ejecutar

  1. 01
    Catálogo gobernado

    Taxonomía, atributos, variantes, imágenes y propietario están definidos.

  2. 02
    Compra móvil probada

    Búsqueda, ficha, carrito, teclado, pago y errores funcionan en pantalla pequeña.

  3. 03
    Coste transparente

    Impuestos, envío, plazos y devolución aparecen antes de confirmar.

  4. 04
    Stock reconciliable

    Existe un dato maestro y un procedimiento para resolver diferencias.

  5. 05
    SEO de ciclo completo

    Filtros, paginación, variantes, agotados y retirados tienen política explícita.

  6. 06
    Rentabilidad medida

    Compra se conecta con margen, comisión, logística, devolución y soporte.

Qué medir para saber si funciona

Observa búsqueda sin resultados, uso de filtros, selección de variante, añadir al carrito, inicio de checkout, error, pago y compra. Segmenta por dispositivo, método y origen. Un embudo agregado puede ocultar que una sola pasarela o navegador concentra el problema.

La operación añade exactitud de stock, pedidos retenidos, tiempo de preparación, entrega, devolución y contacto. La mejora de conversión solo es sostenible cuando el equipo puede servir el volumen y el margen resultante justifica adquisición y soporte.

Playbook propio de esta guía

Secuencia de recuperación de carrito en PrestaShop, de la consulta al control

Esta ampliación desarrolla el problema específico de carritos abandonados en prestashop: qué puedes enviar y qué no y no se reutiliza en otras entradas del Laboratorio.

Contar bien antes de escribir a nadie

La pantalla de carritos del back office asusta porque PrestaShop crea una fila casi por cualquier interacción, y la mayoría de ellas no son abandonos: son carritos vacíos, visitantes sin identificar o carritos que sí acabaron en pedido. Un carrito abandonado que sirva para algo cumple tres condiciones simultáneas: tiene productos dentro, no tiene pedido asociado y se sabe cómo contactar con la persona. Contar el resto infla la cifra y hace que la primera métrica del proyecto ya sea falsa.

Al filtro conviene añadirle una ventana temporal por arriba. Un carrito de hace cuatro meses no es una oportunidad y escribir por algo que ocurrió en otra estación parece exactamente lo que es. Treinta días es un límite razonable en la mayoría de tiendas. Y antes de enviar nada hay que comprobar existencias, porque entre el abandono y el correo pueden pasar horas: recordarle a alguien un producto agotado convierte una venta perdida en un cliente enfadado.

La base jurídica va antes que el comportamiento

El artículo 21 de la LSSI prohíbe mandar comunicaciones comerciales por correo a quien no las ha solicitado, con una excepción concreta: que exista relación contractual previa y los productos ofrecidos sean similares a los ya contratados. Quien ya compró encaja en esa excepción; quien nunca ha comprado, no, aunque haya dejado su correo en el checkout, porque dejar un correo para completar un pedido no es autorizar publicidad.

En la práctica esto convierte una casilla en la pieza central del sistema: una suscripción no premarcada, separada de la aceptación de las condiciones de venta, decide quién entra en la secuencia. Reduce el volumen y reduce también el riesgo, que en comunicaciones comerciales no consentidas no es simbólico. Todos los envíos, sin excepción, necesitan remitente identificable y una baja gratuita que funcione de verdad al primer clic.

Disparo, parada y medición

El disparador debe ser una tarea programada real y no un proceso que aproveche las visitas a la tienda: con poco tráfico de madrugada, los correos de las tres salen a las nueve y la secuencia deja de serlo. El proceso necesita dos piezas que se olvidan a menudo. Una tabla que registre qué se ha enviado a qué carrito y en qué paso, porque un cron que se solapa manda el mensaje dos veces. Y una condición de parada explícita: pedido hecho, baja o último paso alcanzado.

La medición honesta exige un grupo de control, es decir, un porcentaje de carritos que cumplen todas las condiciones y a los que deliberadamente no se envía nada. Incomoda porque parece dejar dinero sin recoger, pero es lo único que distingue cuántos volvieron después del correo de cuántos volvieron por el correo. Con un cinco o un diez por ciento basta, y hacen falta dos o tres meses para que la comparación signifique algo.

Cuaderno de campo: la parte legal es la que decide el proyecto

Casi todas las guías sobre carritos abandonados empiezan por las plantillas de correo, y esa es exactamente la tercera parte del problema. Antes hay dos: saber qué carrito está abandonado de verdad y saber a quién se le puede escribir. La primera es un ejercicio de consultas y se resuelve en una tarde. La segunda es la que decide si el proyecto entero tiene sentido, porque marca cuánta gente entra realmente en la secuencia. Es habitual llegar con una expectativa de varios miles de contactos y descubrir que el número de personas a las que se puede escribir con base jurídica sólida es una fracción pequeña de eso. Descubrirlo al principio permite decidir con calma si merece la pena; descubrirlo después de haber montado todo suele acabar en la tentación de mirar hacia otro lado.

La excepción del artículo 21 de la LSSI se cita mucho y se lee poco. Permite escribir a quien ya tiene una relación contractual previa sobre productos similares a los contratados. Las dos condiciones son acumulativas, y la primera excluye precisamente al caso que más ilusión hace: el visitante nuevo que llegó hasta el checkout, dejó su correo y se fue. Ese correo se dio para completar una compra, no para recibir publicidad, y la diferencia no es un tecnicismo. La consecuencia práctica es que la casilla de suscripción del checkout —no premarcada, separada de la aceptación de condiciones— pasa de ser un detalle de formulario a ser la pieza que alimenta todo el sistema. Cuidar su redacción y su posición rinde más que cualquier ajuste de asunto de correo.

Sobre el cupón hay una trampa que tarda meses en aparecer y por eso casi nadie la relaciona con su causa. Un descuento en el primer mensaje sube la recuperación de forma inmediata y visible, así que se queda. Lo que pasa después es que los clientes habituales aprenden la regla: si abandono, me llega un descuento. No hace falta que sean muchos ni que lo hagan conscientemente. Al cabo de un tiempo, una parte de los pedidos que antes se pagaban a precio completo pasan por el carrito abandonado, y el sistema está pagando descuento por ventas que ya tenía. La versión sensata es dejar el incentivo para el último mensaje, hacerlo nominal, de un solo uso y con caducidad corta, y no aplicarlo nunca sobre producto ya rebajado.

La pieza que más se resiste es el grupo de control, porque exige no enviar a gente a la que se podría enviar. La objeción siempre es la misma y es razonable: eso es dejar dinero encima de la mesa. La respuesta también es siempre la misma: sin control no se sabe cuánto dinero hay realmente sobre la mesa, y la cifra que se acaba comunicando —todas las ventas que ocurrieron después de un correo— incluye a toda la gente que iba a volver sola. Un cinco por ciento durante un trimestre es un coste pequeño y convierte el informe en algo que se puede defender delante de alguien que pregunte. Sin él, el proyecto vive de una captura de pantalla y no de un dato.

Comprobaciones antes de cerrar

  1. 01
    El filtro exige producto y ausencia de pedido

    Sin las dos condiciones se cuentan como abandonos filas que nunca fueron un carrito.

  2. 02
    Hay ventana temporal por arriba

    Treinta días. Más allá, el recordatorio parece lo que es: rebuscar en el histórico.

  3. 03
    Se comprueba el stock antes de enviar

    Recordar un producto agotado es el fallo que más enfada de toda la secuencia.

  4. 04
    La casilla de consentimiento no está premarcada

    Ni mezclada con la aceptación de condiciones de venta. Son dos cosas distintas y la ley las trata distinto.

  5. 05
    Existe marca de envío por carrito y paso

    Es lo que impide que un cron solapado mande el mismo correo dos veces.

  6. 06
    Hay grupo de control activo

    Sin él, el informe se apunta ventas que habrían ocurrido igual.

Revisa la secuencia cuando cambie el catálogo de forma apreciable, después de cada actualización de PrestaShop —las plantillas de correo son de lo primero que se rompe— y siempre que suban las bajas o las quejas por spam. Si la recuperación mejora mientras la lista se encoge, no hay mejora: hay un préstamo contra la entregabilidad futura.

Pasos del procedimiento

  1. 1. Separa carrito abandonado de carrito vacío

    En PrestaShop hay muchas filas en la tabla de carritos que no son abandonos: son visitantes que tocaron un producto y se fueron. Filtra por carritos con líneas y sin pedido asociado antes de contar nada.

  2. 2. Comprueba si puedes escribir a esa persona

    Si nunca ha comprado y no dio consentimiento, la LSSI no te deja mandarle publicidad por correo. Segmenta primero por base jurídica y luego por comportamiento, no al revés.

  3. 3. Monta el disparador con cron, no con visitas

    Un proceso programado revisa cada hora qué carritos han cumplido el plazo. Depender de que alguien visite la web para lanzar el envío hace que la secuencia dependa del tráfico.

  4. 4. Define la secuencia y ponle final

    Dos o tres mensajes como mucho, con horas distintas y un motivo distinto cada uno. Toda secuencia necesita una condición de parada: pedido hecho, baja o límite alcanzado.

  5. 5. Decide el cupón con criterio, no por defecto

    El descuento automático en el primer correo enseña a tus clientes a abandonar el carrito. Si lo usas, que sea en el último mensaje y con caducidad corta.

  6. 6. Mide contra un grupo que no recibe nada

    Sin grupo de control estarás apuntándote ventas que habrían ocurrido igual. Deja fuera un porcentaje de los carritos y compara.

Control editorial

Metodología y fuentes

La consulta de detección y el esquema de disparo proceden de implantaciones sobre PrestaShop 8 y 9. No se publican tasas de recuperación ni de apertura: dependen del sector, del ticket y de la lista, y darlas como cifra general sería inventarlas. El criterio legal se apoya en la LSSI y en la doctrina publicada por la AEPD.