← Laboratorio

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.

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

Autor y revisor:

Ilustración editorial: Botón de WhatsApp en PrestaShop: horario, varios agentes y no perder la venta

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.

Decisión

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.

Evidencia

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.

Límite

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.

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

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

  1. 01
    Es 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.

  2. 02
    El número va pegado y en formato internacional

    Sin signo de suma ni espacios, o la aplicación abre sin encontrar el contacto.

  3. 03
    El 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.

  4. 04
    En 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.

  5. 05
    Fuera de horario cambia de destino

    Formulario de contacto y aviso de cuándo se responde, en lugar de una promesa incumplida.

  6. 06
    El 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. 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. 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. 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. 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. 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. 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.