9 min de lecturatasa de conversiónanalítica ecommerceconversiónWooCommerce

Tu tasa de conversión no significa nada sin esto

Medido hoy en una tienda WooCommerce real, 31 días y 11.044 sesiones: la tasa global es del 48,31 %, y ninguno de los cinco grupos que la componen se parece a ese número. Van del 35,9 % al 96,0 % según un solo dato que ya tienes registrado. Aquí está por qué un porcentaje suelto no decide nada y cómo partir el tuyo hoy, con el SQL.

«Mi tienda convierte al 2,1 %.»

Es una frase que se dice mucho y con la que no se puede hacer nada. No porque el número esté mal calculado, sino porque un porcentaje suelto es un promedio, y un promedio solo sirve cuando las cosas que promedia se parecen entre sí. En una tienda no se parecen en nada.

Lo he medido hoy, y el resultado es bastante claro.

La medición

Una tienda WooCommerce real de coleccionismo, del 2 de septiembre al 2 de octubre de 2026 (31 días), contra su propio registro de búsquedas.

Sesiones que usaron el buscador 11.044
Búsquedas 53.787 (4,87 por sesión)
Clics en resultados 17.449
Búsquedas que devolvieron cero resultados 419 (0,8 %)

Una aclaración antes de seguir, porque importa: lo que mido aquí no es la tasa de conversión a pedido, es el paso anterior — qué parte de las sesiones que buscan algo llega a abrir una ficha de producto. Lo uso porque es el embudo del que tengo el dato limpio y completo de los 31 días. El argumento es el mismo para la conversión a compra, y al final del artículo está el SQL para hacerlo con tus pedidos.

La tasa global de esas 11.044 sesiones es del 48,31 %.

Ese es el número que iría en la diapositiva. Ahora vamos a partirlo.

El mismo mes, partido por una sola cosa

Lo único que hago es agrupar las sesiones por cuántas veces buscaron. Nada más: ni segmentos de marketing, ni cohortes, ni modelos. Un GROUP BY sobre un dato que la tienda ya guardaba.

Búsquedas en la sesión Sesiones % de sesiones Tasa % de los clics
1 2.852 25,8 % 35,9 % 9,7 %
2-3 3.603 32,6 % 40,7 % 16,5 %
4-9 3.439 31,1 % 54,4 % 28,5 %
10-24 952 8,6 % 82,1 % 23,9 %
25 o más 198 1,8 % 96,0 % 21,4 %

Lo importante de esta tabla no es que la tasa suba con la insistencia —eso era previsible—. Es lo que no aparece en la columna: no hay ningún grupo cerca del 48 %. El promedio global no describe el comportamiento de nadie. Es el punto donde se cruzan cinco poblaciones que no se parecen entre sí, y queda flotando en un hueco donde no vive ningún cliente.

Y el reparto de los clics dice algo más incómodo: el 10,4 % de las sesiones —las 1.150 que buscan diez veces o más— se lleva el 45,3 % de todos los clics en resultados. Casi la mitad de la actividad de tu buscador la generan una de cada diez visitas.

Eso cambia qué significa «subir la conversión». Si esa cifra se mueve del 48,3 % al 50 %, la pregunta no es «¿qué hemos hecho bien?» sino «¿qué grupo ha crecido?». Puede que hayas convencido a gente del primer grupo, que es trabajo real. O puede que simplemente hayan venido más sesiones insistentes esa semana, lo cual no es mérito de nadie y no se repite el mes siguiente. El número global no distingue las dos cosas, y son lo contrario la una de la otra.

El grupo que no podía convertir

Hay una segunda partición que da la vuelta al asunto. En lugar de agrupar por insistencia, agrupo por si la primera búsqueda de la sesión devolvió cero resultados:

Sesiones Tasa
La primera búsqueda devolvió resultados 10.973 48,6 %
La primera búsqueda devolvió cero 72 9,7 %

Son solo 72 sesiones, el 0,7 % del mes, así que esto no mueve el promedio. Lo interesante es otra cosa: esas 72 sesiones nunca tuvieron la oportunidad. No es que no les convenciera el precio, ni el envío, ni la foto del producto. Es que pidieron algo y la tienda les enseñó una página vacía.

Y sin embargo están en el denominador de tu tasa de conversión, mezcladas con la gente que sí vio producto y decidió no comprarlo. Mientras estén juntas, cualquier conclusión sobre «por qué no convertimos» es una conclusión sobre dos problemas distintos a la vez: uno de persuasión y otro de avería. Se arreglan en sitios diferentes y por gente diferente. (De qué hacer con esas búsquedas va el artículo sobre las búsquedas sin resultados.)

Ampliando a las sesiones que tuvieron alguna búsqueda en cero, no solo la primera, son 158 sesiones y convierten al 39,2 %. Menos daño, porque muchas se recuperan reformulando. La primera impresión es la que pesa.

Una cosa que probé y no explicó nada

También miré si la longitud de la consulta separaba poblaciones. La hipótesis era razonable: quien escribe tres palabras sabe mejor lo que quiere que quien escribe una.

Palabras en la primera búsqueda Sesiones Tasa
1 8.132 48,9 %
2 2.046 46,3 %
3 689 48,8 %
4 95 34,7 %
5 o más 83 47,0 %

No separa nada. Los tres primeros grupos, que son el 97 % de las sesiones, están los tres pegados al promedio. El 34,7 % de las de cuatro palabras sale de 95 sesiones, que es poca cosa para afirmar nada.

Lo pongo porque un segmento que no explica nada también es información, y porque es la diferencia entre medir y contar una historia: si solo publicara las particiones que salen bonitas, estos números no valdrían para que tomes decisiones con ellos.

Y antes de celebrar nada: tu tasa se mueve sola

Última comprobación, sobre los 30 días completos del periodo. La misma tienda, el mismo buscador, sin tocar nada:

Día peor 43,3 % (17 de septiembre, 492 sesiones)
Día mejor 56,4 % (1 de octubre, 595 sesiones)

Trece puntos de banda sin que nadie cambiase una línea de código. Si un martes mides 44 %, haces un cambio, y el jueves mides 52 %, no has demostrado absolutamente nada: estás dentro del ruido normal de tu propia tienda.

Esto es lo que convierte un porcentaje suelto en algo peor que inútil. No es que no informe; es que invita a atribuirte méritos y culpas que no son tuyas.

Cómo partir la tuya, hoy

Tres pasos. El primero no necesita que instales nada.

1. Mide tu banda antes que tu media

Antes de perseguir décimas, averigua cuánto se mueve tu número solo. Con los pedidos basta para hacerse una idea:

-- Pedidos por día del último mes: tu nivel de ruido
SELECT DATE(date_created)          AS dia,
       COUNT(*)                    AS pedidos,
       ROUND(SUM(total_sales), 2)  AS ingresos
FROM wp_wc_order_stats
WHERE status IN ('wc-completed', 'wc-processing')
  AND date_created >= DATE_SUB(NOW(), INTERVAL 30 DAY)
GROUP BY dia
ORDER BY dia;

Mira el día peor y el día mejor. Cualquier mejora menor que esa distancia necesita semanas de datos para que te la creas. (wp_wc_order_stats es de WooCommerce Analytics, existe desde WooCommerce 4.0. Cambia wp_ por tu prefijo.)

2. Dale una sesión a tu registro de búsquedas

La tabla de arriba sale de poder agrupar búsquedas por sesión. Si ya tienes el mu-plugin de registro de búsquedas —el de 30 líneas que está en por qué Google Analytics no te cuenta lo que pasa en tu tienda—, le falta una columna. Esto se la añade:

ALTER TABLE wp_wr_busquedas ADD COLUMN sesion CHAR(16) NOT NULL DEFAULT '';

Y en el mu-plugin, antes del INSERT, calculas el identificador y lo guardas con el resto:

// Seudónimo de sesión: no es reversible y cambia cada día a medianoche.
// Ni cookie, ni IP guardada, ni dato personal en la tabla.
$sesion = substr(hash_hmac(
    'sha256',
    ($_SERVER['REMOTE_ADDR'] ?? '') . ($_SERVER['HTTP_USER_AGENT'] ?? '') . gmdate('Y-m-d'),
    wp_salt('auth')
), 0, 16);

Lo que queda en la base de datos son 16 caracteres sin vuelta atrás, que sirven para saber que dos búsquedas vinieron de la misma persona ese día y para nada más. No identifica a nadie y no sobrevive a la medianoche.

3. Parte el denominador

Con un par de semanas de registro, esta consulta te da tu propia versión de la tabla del principio:

-- Tus sesiones de búsqueda, por profundidad
WITH s AS (
  SELECT sesion,
         COUNT(*)           AS busquedas,
         MAX(resultados = 0) AS tuvo_cero
  FROM wp_wr_busquedas
  WHERE creado >= DATE_SUB(UTC_TIMESTAMP(), INTERVAL 30 DAY)
    AND sesion <> ''
  GROUP BY sesion
)
SELECT CASE WHEN busquedas = 1 THEN '1'
            WHEN busquedas <= 3 THEN '2-3'
            WHEN busquedas <= 9 THEN '4-9'
            ELSE '10 o mas' END                       AS profundidad,
       COUNT(*)                                       AS sesiones,
       ROUND(100 * COUNT(*) / SUM(COUNT(*)) OVER (), 1) AS pct_sesiones,
       SUM(tuvo_cero)                                 AS con_algun_cero
FROM s
GROUP BY profundidad
ORDER BY MIN(busquedas);

(WITH y OVER () necesitan MySQL 8.0 o MariaDB 10.2. Si tu hosting va por detrás, la misma consulta sale con una tabla temporal.)

Eso te dice de qué está hecho tu tráfico de búsqueda. Para cerrar el círculo hasta el pedido hace falta cruzar la sesión con la venta, que es exactamente lo que hace un buscador que mide; pero con la partición de arriba ya sabes algo que antes no sabías: cuántos promedios distintos había escondidos dentro de tu promedio.

Qué hacer con esto el lunes

  1. Deja de mirar la tasa a secas. Añade siempre al lado el tamaño del grupo del que sale. Un 48 % de 11.000 sesiones y un 48 % de 200 son dos frases distintas.
  2. Saca tu banda diaria. Si tu mejora cabe dentro de ella, todavía no has medido nada.
  3. Separa lo roto de lo no convencido. Las sesiones que vieron cero resultados no son un problema de conversión; son una avería, y están contaminando el porcentaje con el que decides.
  4. Parte por profundidad antes que por demografía. No hace falta saber de dónde vino la gente para que esta partición funcione; hace falta saber cuántas veces te preguntó algo.

Los números de este artículo salen del registro de búsquedas de una tienda real: qué se buscó, cuántos resultados salieron y qué se pulsó. Si quieres ver cómo se consigue ese registro —y por qué el buscador es el sitio más barato de una tienda para enterarse de lo que quiere tu cliente— está la guía de cómo elegir un buscador para ecommerce, con el precio de cada opción comprobado. Y todo esto lo mide WildRock en la tienda mientras funciona, sin cookies de terceros.

¿Tu tienda pierde ventas por búsquedas que no encuentran nada?

WildRock añade a tu WooCommerce un buscador que entiende lo que tus clientes quieren decir, y te dice en euros cuánto te está generando. Plugin gratuito, sin tocar código.