Cómo hacer un test A/B en PrestaShop
PrestaShop no trae test A/B. Cómo instalar un script en la 1.7 y la 8, esquivar las trampas de la caché, medir la confirmación del pedido y elegir qué probar primero.
8 min de lectura
Para hacer un test A/B en PrestaShop necesitas una herramienta externa, porque PrestaShop no trae ninguna función de experimentos. La forma más limpia es instalar el script de esa herramienta en el <head> de la tienda (desde el tema, con un módulo que inyecte código en el hook displayHeader o con Google Tag Manager), vaciar la caché, marcar como objetivo la página de confirmación del pedido y empezar por la ficha de producto o el carrito, que es donde se decide la compra. Abajo va el proceso entero, con los tropiezos más habituales al montarlo.
PrestaShop es un CMS de tienda: catálogo, carrito, pedidos, transportistas, módulos de pago. Todo lo demás se resuelve con módulos, y la experimentación no es una excepción. En el back office no hay nada parecido a "crear variante" ni a "repartir tráfico".
Durante años la respuesta fácil fue Google Optimize, que era gratis y se pegaba junto a Analytics. Google lo cerró en septiembre de 2023 y muchas tiendas se quedaron sin nada. Desde entonces, cuando alguien pregunta en un foro cómo hacer un test A/B en PrestaShop, casi todas las respuestas están en inglés y hablan de herramientas pensadas para equipos grandes.
La realidad de una tienda española con PrestaShop suele ser otra. Una o dos personas, una agencia que tocó el tema hace tres años y a la que nadie quiere volver a llamar, y una lista de ideas que nadie ha podido comprobar. Para ese caso hay dos caminos.
Un módulo del marketplace. En PrestaShop Addons hay módulos que prometen test A/B. Suelen funcionar dentro del propio PrestaShop: duplicas un elemento o una página, el módulo reparte las visitas y cuenta algo. A favor, que se instalan como cualquier otro módulo. En contra, que normalmente cubren pocos tipos de cambio (un bloque, un texto, una imagen de portada), que dependen de que el módulo sea compatible con tu versión y con tu tema, y que la parte estadística suele ser un porcentaje sin más contexto. Antes de comprar uno, mira la fecha de la última actualización y si declara compatibilidad con tu versión exacta.
Una herramienta externa por script. Pegas un script en la cabecera y la herramienta aplica los cambios en el navegador del visitante, encima de la página que PrestaShop ya ha generado. No toca la base de datos ni el código de la tienda, así que da igual que tengas la 1.7.8 o la 8.1, el tema Classic o uno comprado en ThemeForest. Es el mismo enfoque que usaba Optimize y el que usamos en Bixlow.
Para la mayoría de tiendas recomendamos el script, por una razón práctica: lo que quieres probar casi nunca cabe en "cambiar un bloque". Quieres subir el coste de envío en la ficha, reescribir el texto del botón, enseñar un aviso de envío gratis en el carrito o quitar un paso que estorba. Eso se hace mejor sobre la página real.
Hay tres maneras correctas. Elige una y no las mezcles.
- Desde el tema. En PrestaShop 1.7 y 8 el
<head>está enthemes/tu-tema/templates/_partials/head.tpl. Pega el script lo más arriba posible dentro del head. Ojo: si editas directamente un tema comprado, la próxima actualización del tema se llevará tu cambio. Lo correcto es hacerlo en un tema hijo. - Con un módulo que inyecte código en la cabecera. Hay módulos, gratuitos y de pago, que te dejan pegar HTML en el hook
displayHeader, que es el que PrestaShop pinta dentro del<head>. Es lo más cómodo si no quieres tocar ficheros, y sobrevive a las actualizaciones del tema. Si alguien en el equipo sabe algo de PHP, un módulo propio de veinte líneas enganchado adisplayHeaderque devuelva la etiqueta del script hace lo mismo. - Con Google Tag Manager. Si la tienda ya tiene GTM (normalmente puesto con un módulo), añade el script como una etiqueta de HTML personalizado que se dispare en todas las páginas. Es lo más rápido si GTM ya está, aunque el script carga algo más tarde que pegado directamente en el head, y eso a veces hace que el cambio se vea un instante tarde.
Después, comprueba que carga. Abre la tienda en una ventana de incógnito, mira el código fuente o la pestaña de red del navegador y busca el script. Hazlo también en una ficha de producto y en el carrito, no solo en la portada, porque algunos temas usan plantillas distintas.
PrestaShop tiene varias capas de caché y casi todos los "no me sale el script" vienen de aquí.
- Caché de Smarty. En Parámetros avanzados > Rendimiento puedes forzar la compilación de plantillas y borrar la caché. Si has editado
head.tply no ves el cambio, pulsa "Borrar caché". - CCC (combinar, comprimir y cachear). En la misma pantalla están las opciones para juntar y minificar CSS y JavaScript. Un script pegado como etiqueta externa normalmente no entra en el paquete, pero si lo metes a través de un módulo que registra ficheros JS, puede acabar combinado con el resto y cargar tarde o romperse. Si algo no cuadra, desactiva la combinación de JS, prueba y vuelve a activarla.
- Módulos de caché de página. Algunas tiendas usan módulos que guardan la página entera en HTML. Hay que vaciarlos después de instalar el script.
- CDN o caché del hosting. Si tienes Cloudflare u otra CDN delante, o un hosting con caché propia (Varnish, LiteSpeed), purga también ahí.
La buena noticia es que una herramienta por script convive bien con la caché una vez instalada. Todos los visitantes reciben la misma página cacheada y la variante se decide en su navegador. No tienes que desactivar nada para que el test funcione, solo vaciar una vez para que el script aparezca.
No empieces por la portada. En la mayoría de tiendas, la portada se lleva mucho tráfico y decide poco. Lo que mueve pedidos está más abajo.
| Zona | Qué probar | Por qué |
|---|---|---|
| Ficha de producto | Coste y plazo de envío junto al precio | Es la duda que más abandonos provoca |
| Ficha de producto | Métodos de pago visibles (Bizum, tarjeta, transferencia) | Mucha gente decide según cómo puede pagar |
| Carrito | Aviso de "te faltan X € para el envío gratis" | Aclara el umbral y empuja el ticket medio |
| Checkout | Compra como invitado más visible | Crear cuenta es el freno de siempre |
| Envío | Fecha estimada de entrega en vez de "24/48 h" | Una fecha concreta se entiende mejor que un plazo |
El checkout por defecto de PrestaShop 1.7 y 8 es una sola página con secciones que se despliegan: datos personales, dirección, envío y pago. Muchas tiendas lo cambian por un módulo de checkout "one page". Si es tu caso, cuidado con los tests ahí: estos módulos repintan partes de la página con JavaScript al cambiar de paso, y un cambio aplicado al cargar puede desaparecer cuando el cliente rellena la dirección. Haz siempre una compra de prueba completa con cada variante antes de publicar.
Si no sabes por dónde empezar, el orden que solemos seguir es este: envío en la ficha, umbral de envío gratis en el carrito y compra como invitado. Son cambios pequeños de montar y responden a dudas reales del comprador.
Un test A/B en una tienda se mide por pedidos, no por clics en "Añadir al carrito". El clic es fácil de mover y no siempre acaba en compra.
En PrestaShop, cuando un pedido se completa el cliente llega a la página de confirmación (el controlador order-confirmation). Con URLs amigables en español suele aparecer como /confirmacion-pedido seguida de parámetros, pero depende de cómo tengas las rutas en Preferencias > Tráfico y SEO. La forma segura de saberlo es hacer un pedido de prueba por transferencia y copiar la URL a la que llegas.
Dos cosas a tener en cuenta:
- Pasarelas que sacan al cliente de la tienda. Con Redsys (por donde pasan la tarjeta y muchas veces Bizum) o con PayPal, el cliente paga fuera y vuelve. Si cierra la pestaña en la pasarela, no llega a la confirmación y ese pedido no se cuenta. Pasa igual en las dos variantes, así que el test sigue siendo justo, pero no esperes que el número cuadre al céntimo con el back office.
- dataLayer. Si ya tienes un módulo que envía el evento de compra al dataLayer para GA4, puedes usar ese evento como objetivo en lugar de la URL.
Así lo montamos nosotros en una tienda PrestaShop:
- Instala el script de Bixlow en el head con cualquiera de los tres métodos de arriba, vacía la caché y comprueba que carga en ficha, carrito y checkout.
- Crea el objetivo "Pedido completado" por URL (la de confirmación que has copiado) o con el evento del dataLayer.
- Pide la idea con tus palabras. Por ejemplo: "en la ficha de producto, debajo del precio, enseña el coste de envío y la fecha estimada de entrega". El agente de CRO propone la hipótesis y construye la variante sobre tu tienda real, sin tocar el tema ni pedirle nada a la agencia.
- Revísalo en la previsualización con productos distintos: uno con combinaciones, uno sin stock, uno rebajado. Nada se publica hasta que lo apruebas.
- Publica el test con el reparto al 50 %.
- Espera al veredicto. Bixlow usa estadística bayesiana y no da una variante por ganadora hasta que tiene al menos un 95 % de probabilidad de ser la mejor, con una muestra y una duración mínimas. Además avisa si el reparto de visitas se ha descompensado. Si quieres saber antes cuánto va a tardar, mete tus números en la calculadora de tamaño de muestra.
¿Funciona con PrestaShop 1.6?
Un script externo funciona en cualquier versión, porque solo necesita estar en el head. En 1.6 la cabecera está en el header.tpl del tema. Lo que cambia son los módulos y el checkout, que en 1.6 era distinto.
¿Ralentiza la tienda? Un script más en el head siempre pesa algo. Lo que más se nota no es la velocidad sino que el cambio se vea un instante tarde, por eso conviene cargarlo arriba del todo y sin pasar por varios saltos.
¿Necesito un desarrollador? Para instalar el script basta con alguien que sepa editar el tema o instalar un módulo. Para crear las variantes con Bixlow, no.
¿Cuánto tráfico necesito? Depende de tu tasa de conversión y del cambio que esperas ver. Con pocos pedidos al mes, prueba cambios grandes y deja los retoques de color para más adelante.
- A/b testing
- Prestashop
- CRO ecommerce
- Optimización de ficha de producto
- Optimización de checkout
- Experimentación sin código
Tu primer test en PrestaShop, planificado
Mándanos la URL de tu tienda y tu versión de PrestaShop y te decimos cómo instalar el script y qué test haríamos primero. Gratis y sin compromiso.
Solo usaremos tu email para ponernos en contacto contigo sobre esta solicitud.
Conoce nuestro agente de CRO con IA
Lo que acabas de leer, puesto en marcha por un agente: entiende a tus visitantes, decide qué probar o personalizar, lo construye sobre tu web sin developer y te dice cuándo el resultado es real.