Popup de ventas: configuración y ayuda
Inicio rápido
- Sube el archivo ZIP de Sales Popup en Módulos > Gestor de módulos e instala el módulo.
- Haz clic en Configure y deja Enable Notifications activado.
- En General, elige Notification Mode. Usa Real orders only si quieres mostrar exclusivamente pedidos reales.
- En Rules & Filters, revisa Max Order Age (hours), Include Products (IDs) y Exclude Products (IDs).
- En Content, edita Message Template para cada idioma de la tienda y elige los campos visibles.
- En Display & Timing, configura los retrasos, la duración y el límite por sesión, y guarda.
- Abre la tienda en una nueva ventana de navegación privada. Espera el retraso inicial y comprueba una ventana emergente y su enlace al producto.
Requiere PrestaShop 1.6 o posterior y PHP 7.1 o posterior.
Manual de configuración
Instalación y configuración
Sigue los pasos de Inicio rápido.
Configurar las notificaciones de compra
Haz clic en Configure en el Gestor de módulos para abrir Settings. Guarda después de modificar una pestaña. Los valores predeterminados siguientes corresponden a una instalación nueva.
General
| Ajuste | Valor predeterminado | Cómo usarlo |
|---|---|---|
| Enable Notifications | Sí | Desactívalo para detener las notificaciones en la tienda. |
| Notification Mode | Mixed (recomendado) | Elige Real orders only (real) para pedidos reales, Generated only (fake) para actividad inventada basada en productos aptos del catálogo, o Mixed (mixed) para completar los datos reales con entradas generadas cuando sean insuficientes. |
| Show on Mobile | Sí | Desactívalo para ocultar las notificaciones de compra con anchuras de pantalla de hasta 768px. |
Visualización y tiempos
| Ajuste | Valor predeterminado | Cómo usarlo |
|---|---|---|
| Position | Bottom Left | Elige Bottom Left, Bottom Right, Top Left o Top Right. |
| Animation | Slide | Elige Slide o Fade. |
| Initial Delay (seconds) | 8 | Establece la espera antes de la primera notificación. Cero elimina el retraso inicial. |
| Minimum Interval (seconds) | 5 | Establece el intervalo más corto. Usa un número entero positivo. |
| Maximum Interval (seconds) | 15 | Establece el intervalo más largo, como mínimo igual al intervalo mínimo. El módulo elige un intervalo aleatorio. |
| Display Duration (seconds) | 5 | Establece una duración de visualización positiva. Al pasar el cursor por la ventana emergente, se pausa su temporizador. |
| Max Notifications Per Session | 20 | Usa 0 para no limitar el número. El recuento se guarda durante la sesión del navegador. |
Para mostrarlas con menos frecuencia, usa Initial Delay 12, Minimum Interval 20, Maximum Interval 45, Display Duration 6 y Max Notifications Per Session 8.
Contenido
| Ajuste | Valor predeterminado | Cómo usarlo |
|---|---|---|
| Show Product Image | Sí | Muestra la imagen de portada del producto cuando está disponible. |
| Show Price | No | Añade el precio con formato debajo del mensaje. |
| Show Time Ago | Sí | Añade un texto que indica el tiempo transcurrido. |
| Show Close Button | Sí | Permite a los visitantes ocultar las siguientes notificaciones de compra. |
| Link to Product Page | Sí | Hace que las notificaciones con una URL de producto sean clicables. |
| Message Template | [firstname] from [city] just purchased [product] |
Edita la plantilla para cada idioma. El texto predeterminado integrado está localizado. |
Puedes usar [firstname], [city], [product] y [price] en Message Template. Por ejemplo:
[firstname] from [city] bought [product]
Someone in [city] just ordered [product]
[firstname] purchased [product] for [price]
El marcador [price] funciona independientemente de la línea separada Show Price. Los nombres reales se reducen a su primera letra seguida de ..., como M.... La etiqueta Verified Purchase solo aparece en las entradas de pedidos reales.
Estilo
Background Color, Text Color y Accent Color están vacíos de forma predeterminada. Déjalos vacíos para usar el estilo del tema. Accent Color controla la insignia, la barra de progreso y los enlaces. Para establecer colores concretos, introduce #ffffff, #333333 y #fc6139, respectivamente.
Reglas y filtros
| Ajuste | Valor predeterminado | Cómo usarlo |
|---|---|---|
| Max Order Age (hours) | 72 | Amplía el periodo de pedidos reales, por ejemplo a 168 horas para siete días. |
| Include Products (IDs) | Vacío | Introduce ID como 12,45,88 para permitir únicamente esos productos. |
| Exclude Products (IDs) | Vacío | Introduce los ID que quieras excluir. Las exclusiones también se aplican cuando existe una lista de inclusión. |
Estos campos filtran las notificaciones de compra por ID de producto. El creador de campañas tiene condiciones independientes.
Configurar las campañas del comerciante
Abre Campaign content con una sola tienda seleccionada. Necesitas el permiso de visualización del empleado para abrirlo y los permisos de añadir, editar o eliminar para la acción correspondiente.
- Haz clic en Add content. Introduce Internal name, traduce Title y añade Content blocks.
- Elige HTML, imagen, vídeo alojado o contenido de un proveedor compatible entre las opciones del editor de bloques. El HTML se sanea. Se eliminan los scripts, estilos, formularios y documentos incrustados.
- En los textos que redactes, usa solo
[shop_name],[language]y[currency]. Los marcadores de clientes y pedidos no están disponibles aquí. - Sube imágenes JPG, PNG o WebP de hasta 10 MiB, o vídeos MP4/WebM de hasta 100 MiB. Las imágenes están limitadas a 8000 píxeles por lado y 40 megapíxeles. También se aplican los límites de subida del servidor. Los formatos de URL de proveedores compatibles son
https://www.youtube-nocookie.com/embed/VIDEO_IDyhttps://player.vimeo.com/video/VIDEO_ID. - Usa Preview, establece Enabled en Sí y guarda. El contenido nuevo está desactivado inicialmente. Las traducciones vacías utilizan el idioma predeterminado de la tienda.
- Abre Popup campaigns. Usa el creador de campañas para seleccionar la acción Show merchant campaign content e introduce el Content ID guardado. Configura Display duration in milliseconds (0 keeps it open). Su valor predeterminado es 10000.
- Configura las condiciones de la campaña y previsualiza el resultado antes de activarla. El módulo expone como señales el ID del producto actual, el ID de la categoría actual y el número de compras en cola.
La acción independiente Show next purchase notification utiliza la cola de compras. Una regla integrada puede mostrar una compra en cola cuando un visitante regresa tras al menos 15 segundos de ausencia, con una espera de 60 segundos entre activaciones. La visualización de una campaña del comerciante pausa la programación de las notificaciones de compra mientras está activa.
Comprobar la tienda
Los datos de compra se cargan desde /module/mprsalespopup/notifications después de que se inicie el script. La respuesta JSON contiene un array notifications y envía X-Robots-Tag: noindex, nofollow, noarchive junto con cabeceras de caché no-store. Los campos opcionales se omiten cuando sus opciones de visualización están desactivadas. Una entrada real puede contener:
{"notifications":[{"message":"M... from Berlin bought Running Shoes","verified":true,"image":"https://example.com/product.jpg","price":"$49.90","time_ago":"2 hours ago","url":"https://example.com/product.html"}]}
Las entradas reales requieren pedidos recientes válidos en la tienda actual, un precio positivo en la línea del pedido y un producto apto. El flujo de datos también comprueba la visibilidad del producto y los permisos de acceso del visitante. Las entradas generadas utilizan productos activos aptos del catálogo, listas integradas de nombres y ciudades, y valores de tiempo generados. Los resultados mixtos se mezclan aleatoriamente antes de enviarse.
Haz la prueba en una ventana de navegación privada. Espera el retraso inicial y comprueba la imagen, el mensaje, el precio y el enlace. Comprueba la visualización con una anchura de pantalla de móvil. Después, cierra una notificación y recarga la página: las notificaciones de compra deberían permanecer ocultas para ese ámbito de almacenamiento.
Solucionar problemas
- Si no aparece ninguna ventana emergente en el modo Real orders only, comprueba los pedidos recientes válidos, que los productos sean aptos, el periodo de antigüedad de los pedidos y ambas listas de filtros de productos.
- Si ya cerraste una ventana emergente, usa una nueva sesión privada o elimina la clave
mprlivesales_dismissed_correspondiente en localStorage. La clave real tiene un sufijo que indica el ámbito del contenido. Los recuentos de sesión usanmprlivesales_count_seguido del ámbito en sessionStorage. - Comprueba Enable Notifications, la visibilidad en móviles y el límite por sesión. Revisa la solicitud de notificaciones en el panel de red del navegador.
- Comprueba la ubicación de los hooks del módulo si falta el contenedor. El módulo utiliza la integración de recursos/cabecera del front office y
displayBeforeBodyClosingTagodisplayFooterpara el contenedor. El tema debe renderizar esa ubicación. - Abre Integrity para comprobar los intervalos, la duración, el modo, los datos de pedidos y los filtros de productos. Usa intervalos positivos y mantén Maximum Interval como mínimo igual a Minimum Interval.
- Si no se puede guardar el contenido de una campaña, selecciona una sola tienda, comprueba los permisos del empleado y recarga el editor antes de volver a intentar guardar una revisión desactualizada.
Personalizar la apariencia
Coloca el CSS en la hoja de estilos personalizada de tu tema. Las clases disponibles incluyen mprlivesales-container, mprlivesales-bottom-left, mprlivesales-bottom-right, mprlivesales-top-left, mprlivesales-top-right, mprlivesales-toast, mprlivesales-image, mprlivesales-content, mprlivesales-label, mprlivesales-message, mprlivesales-meta, mprlivesales-price, mprlivesales-time, mprlivesales-close y mprlivesales-progress.
.mprlivesales-toast { max-width: 340px; }
.mprlivesales-label { text-transform: none; }
.mprlivesales-message { font-size: 14px; }
.mprlivesales-progress { height: 2px; }
Desactivar o desinstalar
Desactiva Enable Notifications para detener la visualización y conservar la configuración. Para eliminar el módulo, usa Módulos > Gestor de módulos > Desinstalar. La desinstalación elimina la configuración del módulo, su menú de administración y el esquema de base de datos declarado. Exporta el contenido de las campañas o haz una copia de seguridad antes de desinstalar. El estado de cierre de notificaciones guardado en el navegador es independiente de la configuración del servidor.
Capturas de pantalla de referencia







Preguntas
1
¿Qué añade Sales Popup a la carga de la tienda?
Sales Popup añade JavaScript local, estilos de notificación y solicitudes a tu tienda para obtener los datos de las notificaciones. Estas consultan pedidos o productos del catálogo según el modo elegido. Los ajustes de tiempo y los límites por sesión controlan la frecuencia de las notificaciones.
Problemas conocidos
16
Los popups de compra antiguos persistían tras cambiar el contenido
El texto de los popups aparecía en el idioma incorrecto
Los avisos móviles tapaban los botones flotantes
Las notificaciones generadas mostraban Compra verificada
Las notificaciones se iniciaban antes de abrir una página preparada
Save and stay perdía los cambios de configuración
Las ubicaciones eliminadas de la tienda reaparecían
Refuerzo de la seguridad
Las notificaciones de pedidos reales incluían líneas sin pagar
Los colores de los popups no seguían el tema de la tienda
La integración con el tema podía fallar junto a otros módulos
La ventana emergente de ventas muestra el nombre completo y la ciudad del cliente — problema de privacidad
La notificación muestra 'John Smith from London just purchased...', revelando nombres y ubicaciones reales de los clientes sin su consentimiento.
Nota de resolución
Los nombres de los clientes ahora se anonimizan de forma predeterminada (mostrando 'J.S. from London'). Los nombres completos requieren una aceptación explícita mediante un interruptor de configuración.
Las notificaciones se bloqueaban o desaparecían al volver a la pestaña
El popup podía iniciarse más de una vez
Los popups fallaban en algunos temas
Combinar recursos podía afectar a los popups
Solicitudes de funcionalidades
2
Implementado
Notificación de venta al volver a la pestaña
Contenido multimedia de campañas
Registro de cambios
v1.1.202026-05-27
- Addedcomplete FR/DE/ES/IT/PL translations
- FixedStabilize sales popup rendering and defaults
- FixedAdd noindex header to notifications endpoint
- FixedVersion sales popup frontend css
- FixedAdd theme detector support
Versiones anteriores
v1.3.02026-04-20
- Addedself-healing integrity checks for automatic diagnostics and repair
- AddedLicense management tab with key management and renewal options
- Addedcomplete FR/DE/ES/IT/PL translations
- Improvedsettings form organization with tabbed layout
- FixedSkip deleted/invalid products in notifications endpoint
- FixedMove notification div from displayHeader to displayBeforeBodyClosingTag
- FixedUse localStorage for dismiss persistence, bump to 1.0.1
v1.2.02026-02-05
- AddedPS 9 / Hummingbird theme compatibility
- Addedpurchase-count blending — mix real orders with generated notifications
- Improvedtoast positioning with configurable screen corner (all four corners)
- Fixedpopup not dismissing on iOS Safari when tapping outside toast area
- Optimized notification queue — random delay between toasts (3-8 s configurable)
v1.1.02025-06-26
- Addedreal-order data source — show actual recent purchases from order history
- Addedproduct image thumbnail in toast notification
- Improvedmobile display — reduced toast width on viewports below 480 px
v1.0.02025-04-03
- Initialrelease: social-proof sales popup notifications for PrestaShop
- InitialGenerated purchase notifications with configurable names and locations
- InitialDisplay delay, frequency cap, and animation style configuration
- InitialCompatible with PS 1.7.x and PS 8.x
Demo
Prueba el módulo completo antes de comprar
Compra la licencia más tarde y conserva tus ajustes.
- Tu demo de 30 días Pruébalo en tu propia tienda durante 30 días desde la primera instalación.
- Tienda demo lista Explora una tienda demo lista en tu navegador.
- Sin registro Sin cuenta, correo ni dominio de tienda.
Al descargar, aceptas las condiciones de la demo y la política de privacidad.
Al abrir esta demo, acepta los términos de la demo y la política de privacidad.