Genera un plugin de recuperación de carritos abandonados para WooCommerce
La recuperación de carritos abandonados es una de esas funciones donde cada tienda necesita algo un poco distinto. Quieres emails que suenen a ti, no una plantilla genérica. Quieres que el primer recordatorio salga a los 45 minutos en vez de la hora. Quieres excluir a los clientes B2B de la automatización. Los plugins existentes o bien meten esto en el plan pro o bien traen una UX opinada contra la que vas a pelear durante horas.
Un plugin generado resuelve esto porque toma la forma de tu descripción. Cuéntanos cuándo deben dispararse los recordatorios, qué asunto lleva el email, cuántos intentos quieres y cuándo parar, si el segundo email debe incluir un código de descuento. Obtienes un plugin que hace exactamente eso y nada más, sin banners de upsell en tu admin.
¿Por qué generarlo en vez de instalar un plugin existente?
El plugin gratuito WooCommerce Cart Abandonment Recovery es sólido para un setup estándar, pero en cuanto quieres segmentar por rol de usuario o categoría de producto topas con el muro de la versión pro en torno a 60€/año. Retainful, Omnisend y AutomateWoo arrancan en rangos parecidos y añaden superficie de marketing que igual no quieres.
El coste oculto de esos plugins es la propiedad del dato. Los datos del carrito pasan por su infraestructura para enviar los emails. Para una tienda B2B con clientes enterprise eso es una conversación real de privacidad. Un plugin autoalojado que encola emails a través de tu SMTP (o vía wp_mail con un plugin SMTP que ya tengas) deja todo en tu servidor.
También vemos tiendas pagando el tier enterprise de un SaaS sólo para conseguir "saltar los emails si el cliente tiene un ticket abierto en nuestro CRM". Esa integración son 15 líneas en un hook si el plugin expone la acción adecuada — imposible de injertar en un SaaS cerrado, trivial sobre código que controlas.
Prompt de ejemplo
Este es el tipo de descripción que genera este plugin. Puedes partir de aquí y ajustar lo que necesites antes de generar.
Nombre del plugin: Acme Recuperación Carritos
Disparadores:
- Un carrito es "abandonado" si pasan 45 minutos desde que el cliente introdujo el email en el paso 1 del checkout y no ha completado el pedido.
- Guardamos pendientes en una tabla acme_cart_recovery (id, email, cart_total, cart_items JSON, recovery_token, created_at, status).
Flujo de emails (WP Cron):
1. A los 45 min: email A "Te dejaste algo" — sin descuento.
2. A las 24 h: email B con código 10% válido 48 h, generado por la API de cupones de WC.
3. A las 72 h: email C (texto plano, muy corto).
Cada email usa un recovery_token único que precarga el carrito.
Ajustes admin: asunto por email, on/off por paso, excluir rol "wholesale".
Hooks: acme_before_send_recovery, acme_after_recovery (para loguear al CRM).
Compatible HPOS. Desinstalar elimina la tabla y limpia eventos cron.Qué suele incluir el plugin generado
- Tabla personalizada creada con dbDelta y opción de versión de esquema
- Eventos de cron programados en activación y limpiados en desactivación y uninstall
- Plantillas de email renderizadas desde /templates/emails/ (sobreescribibles por el tema)
- Enlace de recuperación con token firmado — restauramos carrito sin sesión
- Widget en el dashboard admin: pendientes vs recuperados vs expirados
- Acciones personalizadas para enganchar tu CRM o analítica
- Declaración de compatibilidad HPOS
Cambiar tiempos, añadir SMS por Twilio, enganchar con Mailchimp en vez de wp_mail, segmentar por historial de compra — todo descrito en el prompt, sin editar código después.
Preguntas frecuentes
¿Es compatible con HPOS?
Sí. Declara compatibilidad con custom_order_tables en before_woocommerce_init y usa wc_get_order() más $order->get_meta(). Nada de get_post_meta sobre pedidos.
¿Desde dónde se envían los emails?
Vía wp_mail(). El plugin SMTP que ya tengas (WP Mail SMTP, FluentSMTP, etc.) se encarga de la entrega. El plugin no trae su propio SMTP — así no tocamos tu entregabilidad.
¿Puedo excluir productos o clientes?
Sí, describe la regla en el prompt. Las más comunes: excluir artículos bajo un umbral, excluir categorías concretas, excluir roles, excluir checkouts de invitado. Cada regla se convierte en un filtro on/off en el admin.
¿Y si un cliente se da de baja de los emails?
Añadimos un token de baja en el pie de cada email y guardamos la supresión en user meta. El plugin comprueba antes de cada paso. También puedes describir el flujo GDPR de borrado.