Has configurado los cross-sells de WooCommerce (las «ventas cruzadas») en tus productos y no aparecen por ningún lado. Casi nunca es un fallo: WooCommerce las enseña en un único sitio y solo si se cumplen varias condiciones. Para escribir esta guía hemos revisado el código de WooCommerce 10.8 y lo hemos probado en una tienda de pruebas, con el carrito y el checkout de Bloques y con los clásicos.
Primero verás dónde deberían salir, después las ocho causas habituales con su solución, y al final cómo llevar esas mismas ventas cruzadas al checkout, que es donde WooCommerce no las enseña nunca.
Dónde muestra WooCommerce las ventas cruzadas
Las ventas cruzadas se configuran en cada producto: en la caja «Datos del producto», pestaña «Productos relacionados», campo «Ventas cruzadas». Lo que pongas ahí se sugiere cuando ese producto está en el carrito.
Y se muestran solo en la página del carrito:
- Carrito clásico (el del shortcode
): debajo de la tabla de productos, con el título «Puede que estés interesado en…». Enseña dos, elegidos al azar entre todos los que tocan. - Carrito de Bloques (el de serie en las tiendas nuevas desde WooCommerce 8.3): debajo de los productos, en una sección «Puede que te interese…» con hasta tres.
No salen en la ficha de producto (ahí van las «Ventas dirigidas»), ni en el mini-carrito, ni en el checkout. No confundas tampoco las ventas cruzadas con los «Productos relacionados» que ves bajo la ficha: esos los elige WooCommerce solo, por categoría y etiquetas. Si dudas de qué es cada cosa, lo explicamos en order bump vs upsell vs cross-sell.
8 causas por las que no aparecen
1. Las buscas donde WooCommerce no las pone
Es la más habitual. Si esperas verlas en la ficha, en el cajón del mini-carrito o en la página de pago, no van a salir. Añade al carrito un producto que tenga ventas cruzadas y abre la página del carrito.
2. Están en el producto equivocado
Las ventas cruzadas se ponen en el producto que el cliente mete en la cesta, no en el que quieres sugerir. Si quieres que al comprar una cámara se sugiera una tarjeta de memoria, la tarjeta va en el campo «Ventas cruzadas» de la cámara.
Comprueba también el campo: «Ventas dirigidas» y «Ventas cruzadas» están uno encima del otro, y es fácil rellenar el que no es.
3. El producto sugerido ya está en el carrito
WooCommerce quita de las sugerencias todo lo que ya está en la cesta, incluidas las variaciones. Si pruebas con un carrito que ya lleva la tarjeta de memoria, no te la va a sugerir. Lo hemos comprobado: con dos productos en la cesta que se sugieren entre sí, ninguno aparece como venta cruzada.
4. El producto sugerido no se puede ver
Solo se sugieren productos visibles en la tienda. Se quedan fuera los que:
- Están en borrador, pendientes o privados.
- Tienen la «Visibilidad catálogo» en «Oculto» (en la caja «Publicar» de la ficha). Lo hemos probado: al ocultar uno de los tres productos sugeridos, el carrito pasó a enseñar solo los otros dos.
- Tienen la visibilidad en «Solo resultados de búsqueda».
- Están agotados y tienes marcada la opción «Ocultar en el catálogo los artículos agotados», en WooCommerce → Ajustes → Productos → Inventario.
5. Tu página de carrito no tiene dónde mostrarlas
En el carrito de Bloques, las ventas cruzadas son un bloque más dentro de la página. Si alguien lo borró, no salen. Abre Páginas → Carrito en el editor y busca, debajo de los productos del carrito, un bloque «Colección de productos» con la colección «Ventas cruzadas» (en tiendas más antiguas se llama «Ventas cruzadas en el carrito»). Si no está, añádelo ahí.
Si tu carrito está hecho con un maquetador (Elementor, Bricks, Divi…), la plantilla del carrito tiene que incluir el elemento de ventas cruzadas de ese maquetador. Si no lo tiene, WooCommerce no tiene dónde pintarlas.
6. Un tema, un plugin o un fragmento de código las ha quitado
En el carrito clásico, WooCommerce las pinta colgando la función woocommerce_cross_sell_display del gancho woocommerce_cart_collaterals. Muchos temas la quitan o la mueven, y es un fragmento muy repetido en tutoriales para «limpiar» el carrito. Busca en el functions.php de tu tema hijo y en tu plugin de fragmentos de código cualquier línea con woocommerce_cross_sell_display o con el filtro woocommerce_cart_crosssell_ids.
Si no encuentras nada, prueba en una copia de la web (nunca en la tienda en producción) a activar un tema por defecto como Storefront o Twenty Twenty-Five. Si con él aparecen, el culpable es tu tema.
7. Tus clientes no pasan por el carrito
Si la mayoría de tus clientes van directos al pago (con el botón «Finalizar compra» del mini-carrito, con un botón de «Comprar ahora» o porque la tienda redirige al checkout tras añadir un producto), las ventas cruzadas pueden estar bien configuradas y aun así casi nadie las ve. Aquí no hay nada que arreglar en la configuración: el problema es el lugar. Lo vemos en la última sección.
8. Salen menos de las que esperas
Si has puesto seis ventas cruzadas y solo ves dos, no es un fallo: el carrito clásico enseña dos al azar y el de Bloques, tres. Si quieres más, sigue leyendo.
Cómo mostrar más de dos
En el carrito clásico, con dos filtros de WooCommerce. Añade esto con un plugin de fragmentos de código o en el functions.php de tu tema hijo:
// Enseña hasta 4 ventas cruzadas en el carrito clásico, en 4 columnas.
add_filter( 'woocommerce_cross_sells_total', function () { return 4; } );
add_filter( 'woocommerce_cross_sells_columns', function () { return 4; } );
El orden es aleatorio por defecto. Si prefieres otro, el filtro woocommerce_cross_sells_orderby acepta, por ejemplo, price o menu_order.
En el carrito de Bloques no hace falta código: abre la página del carrito en el editor, selecciona el bloque de ventas cruzadas y cambia el número de productos y de columnas en su panel de ajustes.
Por qué no salen en el checkout (y cómo llevarlas)
Aunque lo tengas todo bien, en la página de pago no vas a ver ventas cruzadas. No es un olvido: la función que las pinta en el carrito clásico se detiene nada más empezar si detecta que está en el checkout, y el checkout de Bloques no incluye ningún bloque de ventas cruzadas. En nuestra prueba, el mismo carrito que enseñaba tres sugerencias no mostró ninguna al pasar al checkout, ni en el de Bloques ni en el clásico.
Forzarlas con código tampoco es buena idea. Las ventas cruzadas están pensadas para el carrito: su botón «Añadir al carrito» no está preparado para actualizar el total del checkout sin recargar la página, y una recarga en la página de pago puede llevarse la dirección y los datos que el cliente ya había escrito.
Lo que sí funciona en el checkout es un order bump: una oferta que el cliente añade marcando una casilla, que actualiza el total sin tocar el formulario. Es la forma de enseñar tus complementos también a los clientes que se saltan el carrito (causa 7), y en el momento en que ya han decidido comprar. Lo explicamos en qué es un order bump y cómo usarlo en WooCommerce.
Lleva tus ventas cruzadas al checkout
Con EHERO Woo Checkout Offers (es nuestro) eliges los productos que quieres ofrecer en el checkout, les pones un precio especial y los enseñas solo cuando en la cesta hay ciertos productos o categorías, igual que una venta cruzada pero en el momento de pagar. Sin recargar la página, en el checkout clásico y en el de Bloques, y también en el carrito y en el mini-carrito. Una licencia por dominio, 79,99 € al año.
Preguntas frecuentes
¿Qué diferencia hay entre ventas cruzadas y ventas dirigidas en WooCommerce?
Las ventas dirigidas (upsells) ofrecen una alternativa mejor y se ven en la ficha del producto. Las ventas cruzadas (cross-sells) sugieren complementos y se ven en el carrito.
¿Por qué solo me salen dos ventas cruzadas?
Porque el carrito clásico enseña dos al azar. Puedes subir el número con el filtro woocommerce_cross_sells_total. En el carrito de Bloques salen hasta tres y se cambia desde el editor.
¿Puedo mostrar las ventas cruzadas en la ficha de producto?
En temas de bloques, sí: el bloque «Colección de productos» tiene una colección de ventas cruzadas que puedes colocar en la plantilla de producto del editor del sitio. En temas clásicos hace falta código o un plugin.
¿Salen las ventas cruzadas en el mini-carrito?
No. Ni en el mini-carrito clásico ni en el de Bloques.
¿Las ventas cruzadas se pueden poner con descuento?
No de serie: se muestran con su precio normal, o con el de rebaja si el producto lo tiene. Para un precio que solo exista al comprarlo junto con otro producto hace falta un plugin, como uno de order bump.
¿Afecta la caché a las ventas cruzadas?
No debería: la página del carrito no se cachea, porque cambia con cada cliente. Si tu plugin de caché la está guardando, tendrás otros problemas más graves que las ventas cruzadas, así que exclúyela.
Conclusión
Si tus cross-sells de WooCommerce no aparecen, repasa por orden: que los busques en el carrito, que estén en el producto que va en la cesta, que el sugerido no esté ya en el carrito y sea visible, que tu página de carrito tenga dónde mostrarlos y que ningún tema o fragmento los haya quitado. Y si tus clientes van directos al pago, no te obsesiones con el carrito: lleva esas mismas sugerencias al checkout con un order bump.
Guías relacionadas
- Qué es un order bump y cómo usarlo en WooCommerce: ejemplos, reglas y qué medir.
- Order bump vs upsell vs cross-sell: qué es cada técnica y cuándo usarla.
- EHERO Woo Checkout Offers: el order bump para WooCommerce con precio especial, tope de unidades y estadísticas.



