Productos vistos recientemente: ayudar a los clientes a encontrar lo que habían olvidado
Casi nadie compra en la primera visita. Un cliente encuentra un producto que le gusta, se distrae con una llamada o cierra una pestaña, y vuelve una hora, o un día, después con un problema: no recuerda exactamente qué estaba mirando. Sabe que era "el gris con el mango de madera", pero tu tienda tiene cuarenta parecidos. Así que busca, no encuentra nada y se va. Un bloque de productos vistos recientemente resuelve justo ese momento: le devuelve al cliente los productos que ya había elegido, de modo que el camino entre "he vuelto" y "añadir al carrito" sea un solo clic en lugar de una búsqueda frustrante.
Última actualización: junio de 2026.
Este artículo trata de esa única tarea: cerrar la brecha entre la intención y el botón de volver recordando lo que un visitante miró. No va de sugerir productos que no ha visto (eso es venta cruzada y venta adicional) ni de guardar productos a propósito para más tarde (eso es una lista de deseos). Los productos vistos recientemente funcionan de forma automática, pasiva y se apoyan en una verdad sencilla: reconocer es más fácil que recordar.
Lo que PrestaShop ya incluye, y dónde se queda corto
PrestaShop incorpora desde hace años una función de productos vistos recientemente, y la mayoría de los comerciantes no se dan cuenta de que ya está instalada. En 1.7, 8 y 9 es el módulo nativo ps_viewedproduct ("Viewed products block"); en 1.5/1.6 se llamaba blockviewed. Lo encontrarás en Módulos → Gestor de módulos: busca "viewed". Muestra los productos vistos en la página de producto, normalmente mediante displayFooterProduct (el antiguo blockviewed de 1.6 usaba los hooks de columna), y su único ajuste configurable es el número de productos que se muestran.
Por dentro no consulta ningún pedido ni ninguna cuenta de cliente: lee una cookie del navegador llamada viewed, una lista sencilla de ID de producto separados por comas que el ProductController va ampliando cada vez que se carga una página de producto. Ese diseño tiene dos consecuencias que conviene conocer antes de decidir si el módulo de serie te basta:
- Es anónimo e inmediato. Al estar basado en cookies, funciona para visitantes no conectados desde el primer producto que abren, sin inicio de sesión ni cuenta. Funciona mediante una cookie del navegador; gestiona la información y el consentimiento conforme a tu política de cookies y a la legislación local. ¿Y eso qué implica? Que el cliente que nunca creará una cuenta aun así obtiene el beneficio.
- Olvida cuando la cookie olvida. La lista vive en el navegador del visitante. Borra las cookies, cambia del móvil al portátil o deja que la cookie caduque, y el historial desaparece. El módulo nativo no intenta asociar las vistas a un ID de cliente ni seguirlas entre dispositivos.
Para un catálogo pequeño colocado en una barra lateral, el módulo de serie es perfectamente válido: no pagues por algo que ya tienes. Los motivos por los que los comerciantes lo superan son concretos: la ubicación predeterminada (columna izquierda/derecha) es espacio muerto en la mayoría de temas modernos de ancho completo; no puede colocarse en la página del carrito, donde el recordatorio de "¿te olvidaste de estos?" es más potente; y no sobrevive a un cambio de dispositivo. Esas son las carencias que un módulo dedicado viene a cubrir, como veremos más abajo.
Por qué "productos vistos recientemente" cumple su función

El mecanismo es pura psicología cognitiva: reconocer supera a recordar. Pedir a un cliente que recuerde y vuelva a escribir el nombre de un producto es pedirle esfuerzo; mostrarle una miniatura del artículo exacto que estaba mirando solo le pide reconocerlo. Una de esas acciones exige trabajo y falla a menudo; la otra es inmediata.
Hay un segundo efecto que es fácil pasar por alto. Un visitante que vuelve y aterriza en una página de inicio genérica tiene que reencontrar el camino: volver a navegar categorías, volver a filtrar, volver a decidir. Un visitante que ve al instante los tres productos que estaba valorando hace una hora vuelve directamente a la decisión que ya tenía medio tomada. No estás generando un interés nuevo; estás retomando un interés que ya existe, algo mucho más barato que crearlo desde cero.
Es tentador poner aquí una cifra dura de conversión, y verás porcentajes del tipo "el X% de los clics en productos vistos recientemente convierten" citados por la web. Tómalos como orientación, no como promesa: el incremento real depende del tamaño de tu catálogo, de la frecuencia con la que tus clientes comparan antes de comprar y de la visibilidad que des al bloque. La afirmación honesta es mecánica, no estadística: cada cliente que de otro modo habría abandonado al tener que volver a buscar es un cliente que no has perdido. Mídelo en tu propia tienda en lugar de tomar prestado el porcentaje de otra.
Dónde colocarlo, y por qué la ubicación cambia su función
El mismo bloque hace trabajos distintos según dónde esté situado. Decide qué quieres que consiga y colócalo en consecuencia:
| Ubicación | Hook | Qué hace ahí |
|---|---|---|
| Página de producto (debajo de la descripción / pestañas) | displayFooterProduct | El lugar más potente. El cliente está comparando productos; mostrarle los otros artículos que ha visto le permite alternar entre candidatos sin usar el botón de volver. Encaja de forma natural con la función de comparación de productos para compradores indecisos entre dos opciones. |
| Página de inicio | displayHome | Para el visitante que vuelve. Lo reorienta al instante en lugar de obligarle a navegar de nuevo por tus categorías. |
| Página del carrito | displayShoppingCartFooter | El recordatorio de mayor intención: "también miraste estos". El comprador ya está en modo compra; mostrar un artículo visto pero no añadido es una venta adicional limpia, sin resultar insistente. |
| Páginas de categoría / listado | displayLeftColumn / footer | Permite que un cliente que se ha desplazado a una nueva categoría vuelva a algo que le gustó antes sin perder su posición. |
Hay algo que conviene saber antes de recurrir a un módulo: en PrestaShop 1.7, 8 y 9, ps_viewedproduct implementa la interfaz de widget, así que puedes renderizarlo en cualquier lugar donde tu tema te permita llamar a un widget: basta con insertar una etiqueta en la plantilla en la que quieras mostrar el bloque, sin registrar un nuevo hook:
{* render the viewed-products block in any theme template *}
{widget name='ps_viewedproduct'}
Eso cubre una ubicación puntual (por ejemplo, añadirlo a una plantilla de página de inicio personalizada). Lo que no resuelve son los límites de la cookie; y el ps_viewedproduct nativo, por lo demás, se limita a su ubicación integrada en la página de producto y no ofrece ubicación arbitraria en carrito/inicio/hook personalizado sin trabajo de tema o de módulo. Por eso la ubicación en la página del carrito, probablemente la más valiosa, suele necesitar un módulo más flexible. Si ya estás replanteando todo el diseño, nuestra guía más amplia sobre diseño de páginas de producto en PrestaShop explica cómo debería convivir un bloque de productos vistos recientemente con todo lo demás que compite por la atención bajo el primer pantallazo.
Los ajustes que realmente importan
Tres decisiones determinan si el bloque ayuda o solo añade ruido:
- Cuántos productos mostrar. Entre seis y ocho es el punto práctico ideal: suficientes para refrescar la memoria, pocos para revisarlos de un vistazo. En un diseño de una sola fila, será lo que llene la fila limpiamente; un muro de veinte productos vistos deja de ser una ayuda de memoria y se convierte en ruido.
- No lo muestres nunca vacío. Un visitante nuevo no tiene historial, así que el bloque no tiene nada que mostrar. Asegúrate de que se oculte por completo cuando la cookie viewed esté vacía, en lugar de renderizar un encabezado vacío: un título huérfano de "Vistos recientemente" sin nada debajo parece roto y erosiona la confianza. El módulo nativo lo gestiona; a veces un bloque de tema personalizado no, así que compruébalo sin iniciar sesión en un navegador limpio.
- Excluye el producto que se muestra actualmente. En una página de producto, el artículo que el cliente está mirando en ese momento no debería aparecer en su propia fila de "vistos recientemente". Es redundante y desperdicia un espacio. Confirma que tu módulo filtra el ID del producto actual.
En móvil, cambia el diseño de una cuadrícula a un carrusel horizontal desplazable. El espacio vertical es lo más escaso en la pantalla de un teléfono; una única fila deslizable muestra los mismos productos sin empujar más abajo el botón de "añadir al carrito". Una cuadrícula que obliga a hacer scroll durante tres filas en móvil suele hacer más daño que beneficio aporta el bloque.
Cuándo ir más allá del módulo nativo
Superas ps_viewedproduct cuando uno de sus límites integrados empieza a costarte pedidos. Los detonantes más claros:
| Necesitas… | ps_viewedproduct nativo | Módulo dedicado |
|---|---|---|
| Bloque en barra lateral, catálogo pequeño | Lo gestiona: úsalo | Excesivo |
| Ubicación en la página del carrito / hook personalizado | Solo hooks de columna | Ubicación configurable |
| Historial que sigue a un cliente conectado entre dispositivos | Solo cookie: se pierde al cambiar de dispositivo | Vinculado al ID de cliente, almacenado en servidor |
| Diseño en carrusel + control visual | Básico, dependiente del tema | Carrusel responsive integrado |
| Filtrado de "visto pero no comprado" en el carrito | No | Sí |
El punto multidispositivo es el que de verdad separa ambas opciones. Un comprador que navega con el móvil a la hora de comer y compra desde un portátil esa noche es una sola persona para ti, pero dos contenedores de cookies sin relación para el módulo nativo; por eso la investigación de la mañana se evapora justo cuando habría cerrado la venta. Un módulo que asocia los productos vistos recientemente al ID de cliente para usuarios conectados (almacenando el historial en el servidor en lugar de en el navegador) lleva ese historial de un lado al otro. Si una parte significativa de tu tráfico compra entre dispositivos, y en la mayoría de tiendas ocurre, esa es la función por la que merece la pena pagar. mypresta.rocks construye módulos de personalización justo alrededor de este tipo de comportamiento consciente del cliente y sin cirugía de tema; la prueba práctica para saber si necesitas uno es sencilla: mira cuántos de tus clientes empiezan una sesión en móvil y la terminan en escritorio.
Preguntas frecuentes
¿PrestaShop incluye productos vistos recientemente de serie? Sí: la mayoría de los comerciantes no se dan cuenta de que ya está instalado. En 1.7, 8 y 9 es el módulo nativo ps_viewedproduct ("Viewed products block"); en 1.5/1.6 era blockviewed. Lo encontrarás en Módulos → Gestor de módulos, buscando "viewed". Su único ajuste es cuántos productos mostrar, y los muestra en la página de producto (normalmente mediante displayFooterProduct).
¿Cómo recuerda lo que ha mirado un visitante? Lee una cookie del navegador llamada viewed: una lista de ID de producto separados por comas que el ProductController añade en cada carga de página de producto. Nunca toca un pedido ni una cuenta de cliente. Eso lo hace anónimo e inmediato (funciona para visitantes no conectados desde el primer producto), pero olvida cuando la cookie olvida: si se borran las cookies o se cambia del móvil al portátil, el historial desaparece.
¿Dónde debería ir el bloque? La ubicación cambia su función. En la página de producto (displayFooterProduct) ayuda a quienes comparan a alternar entre candidatos: es el lugar más potente. En la página de inicio (displayHome) reorienta a los visitantes que vuelven. En la página del carrito (displayShoppingCartFooter) es el recordatorio de mayor intención: "también miraste estos". La ubicación en el carrito suele ser la más valiosa y la que el módulo nativo no puede cubrir sin ayuda.
¿Cuándo no basta el módulo de serie? Cuando uno de sus límites empieza a costar pedidos: necesitas mostrarlo en la página del carrito o en un hook personalizado, quieres un historial que siga a un cliente conectado entre dispositivos (el enfoque solo con cookie lo pierde al cambiar de dispositivo), un diseño de carrusel correcto o filtrado de "visto pero no comprado" en el carrito. El caso multidispositivo es el que realmente separa ambas opciones: un módulo que vincula el historial al ID de cliente y lo almacena en el servidor lo conserva al pasar del móvil al portátil, donde a menudo se cierra la venta.
¿Cuántos productos debería mostrar y cómo en móvil? Entre seis y ocho es el punto práctico ideal: suficientes para refrescar la memoria, pocos para revisarlos rápido. Oculta siempre el bloque por completo cuando la cookie esté vacía (un encabezado huérfano de "Vistos recientemente" parece roto) y excluye el producto que se muestra en pantalla. En móvil, cambia de cuadrícula a un único carrusel horizontal desplazable para que no empuje hacia abajo el botón de añadir al carrito.
Dónde encaja en el conjunto
Los productos vistos recientemente son un hilo discreto dentro de una tienda que recuerda a sus clientes. Se solapan con el guardado deliberado (una lista de deseos es una intención que el cliente declara; los productos vistos recientemente son una intención que tú infieres), y complementan la comparación directa a la que recurren los compradores cuando no pueden decidir entre dos productos. También son una pieza del argumento más amplio que plantea una página de producto fiable y sin fricción: el tipo de anatomía de página de producto que consigue que los visitantes hagan clic en comprar en lugar de volver atrás.
La idea de fondo es humilde: no estás convenciendo a nadie de algo nuevo. Simplemente te niegas a obligar a un cliente que vuelve a reencontrar el producto que ya quería. En PrestaShop, activarlo no te cuesta casi nada: probablemente ps_viewedproduct ya esté en tu Gestor de módulos. Las únicas decisiones reales son dónde colocarlo, cómo presentarlo en móvil y si tus clientes compran en suficientes dispositivos como para que la memoria de la cookie deba convertirse en memoria del cliente.
Comentarios
Dejar un comentario
Comparte una pregunta, un detalle de instalación o una opinión que pueda ayudar a otro lector.