Botón de WhatsApp en PrestaShop: horario, varios agentes y no perder la venta
Cómo montar el botón de WhatsApp en PrestaShop sin cargar scripts de terceros, dónde colocarlo, qué hacer fuera del horario de atención y cómo repartir las conversaciones entre varias personas.
Autor y revisor: Jon González

El cliente que pregunta es el que iba a comprar
En una tienda física, la persona que se acerca a preguntar por una talla es la que está más cerca de pagar. En una tienda online esa persona no se acerca: se va, y no te enteras.
El botón de WhatsApp existe para eso. Bien puesto, convierte una duda que habría terminado en abandono en una conversación de dos minutos. Mal puesto, es un adorno que tapa el precio en el móvil y un buzón donde se acumulan mensajes que nadie contesta.
Esta guía es cómo montarlo bien en PrestaShop 8 y 9.
Enlace o widget: la decisión que más consecuencias tiene
Hay dos maneras de poner WhatsApp en una tienda y no se parecen en nada por dentro.
El enlace de conversación. Un <a href> normal que abre WhatsApp. No carga nada externo, no ejecuta JavaScript de terceros, no añade peso a la página y no entra en tu política de cookies, porque hasta que el visitante no lo pulsa no se comunica con nadie.
El widget de chat de un tercero. Suele cargar un script externo en todas las páginas. Eso significa peso añadido en cada visita, una petición a un dominio ajeno antes de que el usuario haya consentido nada, y una dependencia de un servicio que puede caerse o cambiar de condiciones.
Para el noventa por ciento de las tiendas, el enlace basta y es mejor. El widget solo se justifica si necesitas cosas que un enlace no puede hacer, como un histórico de conversaciones compartido.
El botón, paso a paso
El formato del enlace:
<a href="https://wa.me/34600000000?text=Hola%2C%20quiero%20consultar%20una%20duda"
rel="noopener"
target="_blank"
aria-label="Abrir conversación de WhatsApp con la tienda">
Preguntar por WhatsApp
</a>
El número va en formato internacional pegado, sin el signo de suma ni espacios: 34600000000. Es el error de configuración más repetido y produce un enlace que abre WhatsApp y no encuentra el contacto.
En la ficha de producto conviene meter el contexto:
{assign var=texto value="Hola, tengo una duda sobre "|cat:$product.name|cat:" (ref. "|cat:$product.reference|cat:")"}
<a href="https://wa.me/34600000000?text={$texto|escape:'url'}"
class="cd-wa-ficha" rel="noopener" target="_blank"
aria-label="Consultar este producto por WhatsApp">
¿Dudas con este producto? Escríbenos
</a>
El escape:'url' es obligatorio: un nombre de producto con acentos o con el símbolo del ampersand rompe el enlace sin él.
Y el botón flotante, con las dos precauciones que casi nadie toma:
.cd-wa-flotante {
position: fixed;
right: 1rem;
/* Por encima de la barra de compra del móvil, no encima del botón de comprar. */
bottom: calc(1rem + env(safe-area-inset-bottom));
z-index: 900; /* Por debajo del aviso de cookies y de los modales. */
}
/* En móvil, donde el espacio es escaso, el botón se aparta del área de compra. */
@media (max-width: 768px) {
.cd-wa-flotante { bottom: calc(5rem + env(safe-area-inset-bottom)); }
}
Ese z-index moderado importa: un botón flotante por encima de un modal es la forma más rápida de que un cliente no pueda cerrar una ventana en el móvil.
Dónde ponerlo
Por orden de utilidad real:
Ficha de producto. Es donde nace la duda concreta: la talla, la compatibilidad, si sirve para lo que el cliente tiene en casa. El mejor sitio con diferencia.
Checkout. La segunda duda, y es otra: plazo de entrega, formas de pago, si se puede recoger en tienda. Aquí el cliente ya decidió comprar; solo necesita una confirmación.
Página de contacto. Obvio y poco relevante: quien llega ahí ya había decidido preguntar. No es donde se recuperan ventas.
Portada. Casi nunca aporta. La duda todavía no existe.
Y donde no: encima del botón de añadir al carrito en el móvil, encima del precio, o sobre el resumen del pedido en el último paso del checkout.
El horario, que es la mitad del trabajo
Un botón visible es una promesa de respuesta. Si se envía un mensaje a las once de la noche y se contesta a los dos días, has convertido una duda resoluble en una mala experiencia con memoria.
Lo mínimo es que el botón sepa qué hora es:
// Dentro del horario, el enlace normal; fuera, el formulario de contacto
// con un aviso claro. Un canal desatendido cuesta más de lo que aporta.
const ahora = new Date();
const dia = ahora.getDay(); // 0 domingo … 6 sábado
const hora = ahora.getHours();
const abierto = dia >= 1 && dia <= 5 && hora >= 9 && hora < 18;
const boton = document.querySelector('.cd-wa-flotante');
if (boton && !abierto) {
boton.href = '/contactenos';
boton.textContent = 'Escríbenos (respondemos de 9 a 18 h)';
}
Es más honesto que un botón que promete inmediatez a deshoras, y convierte el mensaje perdido en un formulario que sí se lee por la mañana.
Cuidado con la zona horaria si tu servidor no está en la de tu negocio: este cálculo se hace en el navegador del cliente, que puede estar en otro país. Si vendes solo en España es un detalle menor; si vendes fuera, conviene fijar la referencia.
Varias personas contestando
Con un solo número y dos personas mirándolo, pasa una de dos cosas: los dos contestan lo mismo, o ninguno contesta pensando que lo hace el otro.
Las opciones, de menos a más:
Un número por área. Ventas en la ficha, incidencias en el pie. Es el reparto más simple y no necesita nada.
Reparto por rotación. El enlace alterna entre varios números. Funciona bien si el volumen es parecido y todos pueden atender lo mismo.
Cuenta de empresa con varios dispositivos. La aplicación de empresa permite dispositivos vinculados sobre el mismo número. Es lo más ordenado y tiene un límite de dispositivos que conviene comprobar antes de organizar el equipo alrededor.
Elijas la que elijas, decide quién responde por defecto cuando nadie ha cogido el mensaje en media hora. Sin esa regla, el reparto se convierte en que conteste siempre la misma persona.
Lo que no funciona
Poner el número personal de alguien. Cuando esa persona se va, se lleva las conversaciones y el número queda en cientos de fichas.
Un mensaje inicial demasiado largo. El texto previo debe caber en la pantalla del móvil. Si ocupa tres párrafos, el cliente lo borra y escribe “hola”, que es justo lo que querías evitar.
Contestar con enlaces a la web. El cliente ya está en la web. Si te escribe es porque no lo ha encontrado o no lo ha entendido.
Usar el mismo número para atención y para publicidad. Los mensajes comerciales no solicitados hacen que bloqueen el número, y con él se va también la atención al cliente que sí funcionaba.
Instalar un widget de chat y dejarlo. Un script de terceros en todas las páginas se paga en velocidad todos los días, y en muchos casos también en el aviso de cookies.
Cómo saber si sirve
Sin analítica de WhatsApp, se mide en tu lado con dos cosas:
Clics por ubicación. Un evento por clic con la página y la referencia. En un mes sabrás si el botón de la ficha trabaja más que el del checkout, y podrás quitarlo de donde solo estorba.
Tiempo de primera respuesta. Es la métrica que predice el resto. Si sube de una hora, el canal empieza a restar en lugar de sumar, y más vale reducir el horario anunciado que mantener una promesa que no se cumple.
Si te apañas con esto, no necesitas nada más
Todo lo de arriba son dos plantillas, un poco de CSS y quince líneas de JavaScript. Si atiendes tú y tienes un solo número, con esto vas servido.
Lo que cuesta después es el mantenimiento: que el enlace siga bien montado tras actualizar el tema, que el horario cambie en un sitio y no en cinco plantillas, repartir cuando entren más personas al equipo, y tener el recuento de clics por página para poder decidir con datos en lugar de por impresión.
Ampliación editorial · revisión 2026
La decisión central de esta guía
¿Cómo pongo el botón de WhatsApp en PrestaShop sin que estorbe?
Con un enlace de conversación y no con un widget de terceros. El enlace no carga scripts externos, no añade peso y no entra en la política de cookies porque no se comunica con nadie hasta que el visitante lo pulsa. El widget hace las tres cosas al revés y solo se justifica si necesitas algo que un enlace no puede dar, como un histórico compartido.
Colócalo donde nace la duda: ficha de producto primero, checkout después. La página de contacto recibe a quien ya había decidido preguntar y la portada llega antes de que exista la duda. En móvil, nunca sobre el precio ni sobre el botón de compra, y con una capa por debajo de los modales.
Registra un evento por clic con la página y la referencia para saber en un mes qué ubicación trabaja y cuál solo estorba. Y vigila el tiempo de primera respuesta: si sube de una hora, conviene reducir el horario anunciado antes que mantener una promesa que no se cumple.
No se dan tasas de conversión ni comparativas con otros canales. Un botón visible es una promesa de respuesta: sin nadie detrás convierte una duda resoluble en la confirmación de que la tienda no atiende. Y el número personal de un empleado no debe usarse nunca, porque se marcha con esa persona.

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.

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
- 01Catálogo gobernado
Taxonomía, atributos, variantes, imágenes y propietario están definidos.
- 02Compra móvil probada
Búsqueda, ficha, carrito, teclado, pago y errores funcionan en pantalla pequeña.
- 03Coste transparente
Impuestos, envío, plazos y devolución aparecen antes de confirmar.
- 04Stock reconciliable
Existe un dato maestro y un procedimiento para resolver diferencias.
- 05SEO de ciclo completo
Filtros, paginación, variantes, agotados y retirados tienen política explícita.
- 06Rentabilidad 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
Botón de WhatsApp en PrestaShop: montaje, sitio y horario
Esta ampliación desarrolla el problema específico de botón de whatsapp en prestashop: horario, varios agentes y no perder la venta y no se reutiliza en otras entradas del Laboratorio.
Enlace antes que widget
Las dos formas de poner WhatsApp en una tienda no se parecen por dentro. El enlace de conversación es un ancla corriente: no ejecuta código de terceros, no añade peso a la página y no requiere consentimiento de cookies, porque hasta que el visitante no lo pulsa no hay comunicación con nadie. El widget de chat suele inyectar un script externo en todas las páginas, lo que significa peso en cada visita, una petición a un dominio ajeno antes de cualquier consentimiento y una dependencia de un servicio que puede caerse o cambiar de condiciones.
En el montaje del enlace hay dos detalles que concentran casi todos los fallos. El número va en formato internacional pegado, sin signo de suma ni espacios ni guiones, o la aplicación abre y no encuentra el contacto. Y el mensaje previo debe ir codificado para URL, porque un nombre de producto con acentos o con el símbolo del ampersand lo corta por la mitad. Con esas dos cosas resueltas, el enlace funciona el mismo día en cualquier plantilla.
Dónde ponerlo y dónde no
Por utilidad real, la ficha de producto va primero: es donde nace la duda concreta sobre la talla, la compatibilidad o si el artículo sirve para lo que el cliente tiene en casa. El checkout va segundo y resuelve otra duda distinta, la del plazo, el pago o la recogida, con un cliente que ya ha decidido comprar. La página de contacto es obvia y poco relevante, porque recibe a quien ya había decidido preguntar, y la portada casi nunca aporta porque la duda todavía no existe.
Los sitios donde no debe estar importan tanto como los otros. En móvil, un botón flotante sobre el precio o sobre el botón de añadir al carrito cuesta ventas en lugar de traerlas, y una capa de apilamiento demasiado alta lo coloca por encima de los modales, con lo que el cliente no puede cerrar una ventana. Reservar la zona inferior de compra y mantener el botón por debajo del aviso de cookies y de los diálogos resuelve ambos problemas.
Horario y reparto
Un botón visible es una promesa de respuesta, y un mensaje enviado a las once de la noche que se contesta a los dos días convierte una duda resoluble en una mala experiencia con memoria. Lo mínimo es que el botón sepa qué hora es y, fuera del horario, dé paso al formulario de contacto con un aviso claro de cuándo se responde. El cálculo se hace en el navegador del cliente, así que conviene fijar la referencia horaria si la tienda vende fuera de su país.
Con un solo número y varias personas mirándolo pasa una de dos cosas: contestan dos a la vez o no contesta ninguno. Hay tres repartos posibles, de menos a más: un número por área, con ventas en la ficha e incidencias en el pie; rotación entre varios números, que funciona si el volumen es parecido; y cuenta de empresa con dispositivos vinculados sobre el mismo número, que es lo más ordenado y tiene un límite conviene comprobar antes de organizar el equipo. Sea cual sea, hace falta decidir quién responde por defecto cuando nadie ha cogido el mensaje.
Cuaderno de campo: la duda que nadie escucha
En una tienda física, la persona que se acerca al mostrador a preguntar por una talla es la que está más cerca de pagar, y nadie duda de que atenderla es prioritario. En una tienda online esa misma persona no se acerca: mira, no encuentra la respuesta y se va, y la tienda no se entera de que ha existido. Esa asimetría explica por qué un canal de contacto inmediato rinde tanto en la ficha de producto y tan poco en la página de contacto. En la ficha se captura una duda que estaba a punto de terminar en abandono; en la página de contacto se atiende a alguien que ya había decidido preguntar y que probablemente habría preguntado igual por otro medio.
La decisión entre enlace y widget parece técnica y es sobre todo económica, porque sus costes se pagan en momentos distintos. El enlace cuesta unos minutos de plantilla y después nada: no pesa, no ejecuta código ajeno y no aparece en el aviso de cookies. El widget se instala igual de rápido pero cobra en cada visita de cada visitante, incluidos los miles que nunca van a escribir, y añade una dependencia externa que hay que vigilar. Para la inmensa mayoría de tiendas, lo que el widget aporta de más —presencia visual, histórico compartido— no compensa lo que cobra a diario. La regla práctica es empezar por el enlace y subir a widget solo cuando exista una necesidad concreta que el enlace no cubra.
El horario es la parte del proyecto que más se subestima y la que más daño hace cuando falta. Un botón de mensajería comunica implícitamente que hay alguien al otro lado ahora mismo, y esa expectativa no se negocia con letra pequeña. Cuando un cliente escribe un domingo por la tarde y recibe respuesta el martes, el efecto neto es peor que si el botón no hubiera estado: se ha confirmado que la tienda no atiende, y esa conclusión se extiende a lo demás. Hacer que el botón cambie de destino fuera del horario es quince líneas de código y convierte un mensaje que nace muerto en un formulario que sí se lee por la mañana.
El reparto entre varias personas es un problema que no existe hasta que existe de golpe. Con una persona atendiendo no hay nada que decidir; con dos, aparecen las respuestas duplicadas y los mensajes que no coge nadie porque cada uno supone que lo hace el otro. Lo que resuelve esto no es la herramienta sino la regla: quién responde por defecto pasada media hora sin que nadie haya contestado. Sin esa regla, cualquier reparto degenera en que conteste siempre la misma persona, normalmente la más disponible, hasta que se quema. Conviene acordarlo antes de que llegue el volumen, porque después se acuerda en caliente y con un cliente esperando.
Comprobaciones antes de cerrar
- 01Es un enlace, no un script de terceros
Si carga JavaScript externo en todas las páginas, se paga en velocidad y entra en el aviso de cookies.
- 02El número va pegado y en formato internacional
Sin signo de suma ni espacios, o la aplicación abre sin encontrar el contacto.
- 03El texto previo cabe en una pantalla de móvil
Si ocupa tres párrafos, el cliente lo borra y escribe hola, que es lo que se quería evitar.
- 04En móvil no tapa el precio ni el botón de compra
Y su capa de apilamiento queda por debajo de los modales para no bloquear el cierre.
- 05Fuera de horario cambia de destino
Formulario de contacto y aviso de cuándo se responde, en lugar de una promesa incumplida.
- 06El número es de la empresa, no de una persona
Un número personal se marcha con quien lo lleva y queda publicado en cientos de fichas.
Comprueba el botón después de cada actualización del tema, que es cuando se pierden los enlaces añadidos a plantilla, y cada vez que cambie el horario o entre gente nueva al equipo. Si el tiempo de primera respuesta sube de una hora de forma sostenida, ajusta el horario anunciado antes de que el canal empiece a restar.
Pasos del procedimiento
1. Empieza por el enlace, no por el widget
Un enlace de conversación no carga nada de terceros, no entra en la política de cookies y no pesa. Muchos widgets hacen las tres cosas al revés.
2. Colócalo donde nace la duda
Ficha de producto y checkout, no solo la página de contacto. En el móvil, sin tapar el precio ni el botón de compra.
3. Define el horario antes de publicarlo
Fuera de él, el botón debe decir cuándo se responde o dar paso al formulario. Un canal desatendido hace más daño que no tenerlo.
4. Reparte si hay más de una persona
Con un solo número y varias personas contestando, o se duplican las respuestas o no contesta nadie. Decide el reparto antes de que llegue el volumen.
5. Mete contexto en el mensaje inicial
Producto y referencia ya escritos ahorran la primera pregunta y hacen que la conversación empiece por lo que importa.
6. Cuenta los clics por ubicación
Saber si el botón de la ficha trae más conversaciones que el del checkout es lo que permite quitarlo de donde estorba.
Control editorial
Metodología y fuentes
El montaje descrito procede de implantaciones sobre PrestaShop 8 y 9. Las opciones de reparto entre personas se contrastan con la documentación pública de la aplicación de empresa. No se dan tasas de conversión del botón: dependen del catálogo, del precio medio y de la capacidad real de atender.
- WhatsApp Business — Enlaces de clic para chatear ↗
Formato oficial del enlace y del mensaje previo.
- WhatsApp Business — Dispositivos vinculados ↗
Límites al número de dispositivos que pueden atender un mismo número.
- AEPD — Guía sobre el uso de cookies ↗
Criterios sobre scripts de terceros y consentimiento previo, aplicables a los widgets de chat.