Hai configurato i cross-sell di WooCommerce (le «vendite incrociate») nei tuoi prodotti e non compaiono da nessuna parte. Quasi mai è un errore: WooCommerce le mostra in un solo punto e solo se si verificano diverse condizioni. Per scrivere questa guida abbiamo esaminato il codice di WooCommerce 10.8 e l’abbiamo testato in un negozio di prova, con il carrello e il checkout a blocchi e con quelli classici.
Prima vedrai dove dovrebbero comparire, poi le otto cause abituali con la relativa soluzione, e alla fine come portare quelle stesse vendite incrociate al checkout, che è il punto in cui WooCommerce non le mostra mai.
Dove mostra WooCommerce le vendite incrociate
Le vendite incrociate si configurano in ogni prodotto: nel riquadro «Dati prodotto», scheda «Articoli collegati», campo «Cross-sell». Quello che inserisci lì viene suggerito quando quel prodotto è nel carrello.
E vengono mostrate solo nella pagina del carrello:
- Carrello classico (quello dello shortcode
): sotto la tabella dei prodotti, con il titolo «Potresti essere interessato a…». Mostra due, scelti a caso tra tutti quelli disponibili. - Carrello a blocchi (quello predefinito nei negozi nuovi da WooCommerce 8.3): sotto i prodotti, in una sezione «Potresti essere interessato anche a…» con fino a tre.
Non compaiono nella scheda prodotto (lì vanno gli up-sell), né nel mini-carrello, né nel checkout. Non confondere inoltre le vendite incrociate con i «Prodotti correlati» che vedi sotto la scheda: quelli li sceglie WooCommerce da solo, in base a categoria e tag. Se hai dubbi su cosa sia ciascuna cosa, lo spieghiamo in order bump, upselling e cross selling.
8 cause per cui non compaiono
1. Le cerchi dove WooCommerce non le mette
È la più comune. Se ti aspetti di vederle nella scheda, nel cassetto del mini-carrello o nella pagina di pagamento, non compariranno. Aggiungi al carrello un prodotto che abbia vendite incrociate e apri la pagina del carrello.
2. Sono nel prodotto sbagliato
Le vendite incrociate si impostano nel prodotto che il cliente mette nel carrello, non in quello che vuoi suggerire. Se vuoi che acquistando una fotocamera venga suggerita una scheda di memoria, la scheda va nel campo «Cross-sell» della fotocamera.
Controlla anche il campo: «Up-sell» e «Cross-sell» sono uno sopra l’altro, ed è facile compilare quello sbagliato.
3. Il prodotto suggerito è già nel carrello
WooCommerce rimuove dai suggerimenti tutto ciò che è già nel carrello, comprese le variazioni. Se provi con un carrello che contiene già la scheda di memoria, non te la suggerirà. L’abbiamo verificato: con due prodotti nel carrello che si suggeriscono a vicenda, nessuno appare come vendita incrociata.
4. Il prodotto suggerito non è visibile
Vengono suggeriti solo i prodotti visibili nel negozio. Restano esclusi quelli che:
- Sono in bozza, in attesa o privati.
- Hanno la «Visibilità catalogo» su «Nascosto» (nel riquadro «Pubblica» della scheda). L’abbiamo provato: nascondendo uno dei tre prodotti suggeriti, il carrello ha mostrato solo gli altri due.
- Hanno la visibilità su «Solo nei risultati della ricerca».
- Sono esauriti e hai attivato l’opzione «Nascondi i prodotti fuori stock dal catalogo», in WooCommerce → Impostazioni → Prodotti → Inventario.
5. La tua pagina carrello non ha dove mostrarle
Nel carrello a blocchi, le vendite incrociate sono un blocco in più dentro la pagina. Se qualcuno l’ha cancellato, non compaiono. Apri Pagine → Carrello nell’editor e cerca, sotto i prodotti del carrello, un blocco «Raccolta di prodotti» con la raccolta «Cross-sell» (nei negozi più vecchi si chiama «Carrello Cross-sell»). Se non c’è, aggiungilo lì.
Se il tuo carrello è realizzato con un page builder (Elementor, Bricks, Divi…), il template del carrello deve includere l’elemento di vendite incrociate di quel builder. Se non lo include, WooCommerce non ha dove mostrarle.
6. Un tema, un plugin o uno snippet di codice le ha rimosse
Nel carrello classico, WooCommerce le mostra agganciando la funzione woocommerce_cross_sell_display all’hook woocommerce_cart_collaterals. Molti temi la rimuovono o la spostano, ed è uno snippet molto ricorrente nei tutorial per «ripulire» il carrello. Cerca nel functions.php del tuo tema child e nel tuo plugin di snippet di codice qualsiasi riga con woocommerce_cross_sell_display o con il filtro woocommerce_cart_crosssell_ids.
Se non trovi nulla, prova su una copia del sito (mai sul negozio in produzione) ad attivare un tema predefinito come Storefront o Twenty Twenty-Five. Se con quello compaiono, il colpevole è il tuo tema.
7. I tuoi clienti non passano dal carrello
Se la maggior parte dei tuoi clienti va direttamente al pagamento (con il pulsante «Pagamento» del mini-carrello, con un pulsante «Compra ora» o perché il negozio reindirizza al checkout dopo aver aggiunto un prodotto), le vendite incrociate possono essere configurate bene e comunque quasi nessuno le vedrà. Qui non c’è nulla da sistemare nella configurazione: il problema è il punto in cui si trovano. Lo vediamo nell’ultima sezione.
8. Ne compaiono meno di quelle che ti aspetti
Se hai inserito sei vendite incrociate e ne vedi solo due, non è un errore: il carrello classico ne mostra due a caso e quello a blocchi, tre. Se ne vuoi di più, continua a leggere.
Come mostrarne più di due
Nel carrello classico, con due filtri di WooCommerce. Aggiungi questo con un plugin di snippet di codice o nel functions.php del tuo tema child:
// Mostra fino a 4 vendite incrociate nel carrello classico, in 4 colonne.
add_filter( 'woocommerce_cross_sells_total', function () { return 4; } );
add_filter( 'woocommerce_cross_sells_columns', function () { return 4; } );
L’ordine è casuale per impostazione predefinita. Se preferisci un altro ordine, il filtro woocommerce_cross_sells_orderby accetta, per esempio, price o menu_order.
Nel carrello a blocchi non serve codice: apri la pagina del carrello nell’editor, seleziona il blocco delle vendite incrociate e cambia il numero di prodotti e di colonne nel pannello delle impostazioni.
Perché non compaiono nel checkout (e come portarcele)
Anche se hai tutto configurato correttamente, nella pagina di pagamento non vedrai le vendite incrociate. Non è una dimenticanza: la funzione che le mostra nel carrello classico si interrompe subito se rileva che si trova nel checkout, e il checkout a blocchi non include alcun blocco di vendite incrociate. Nel nostro test, lo stesso carrello che mostrava tre suggerimenti non ne ha mostrato nessuno passando al checkout, né in quello a blocchi né in quello classico.
Forzarle con codice non è una buona idea. Le vendite incrociate sono pensate per il carrello: il loro pulsante «Aggiungi al carrello» non è preparato per aggiornare il totale del checkout senza ricaricare la pagina, e un ricaricamento nella pagina di pagamento può cancellare l’indirizzo e i dati che il cliente aveva già inserito.
Ciò che funziona nel checkout è un order bump: un’offerta che il cliente aggiunge spuntando una casella, che aggiorna il totale senza toccare il modulo. È il modo per mostrare i tuoi complementi anche ai clienti che saltano il carrello (causa 7), e nel momento in cui hanno già deciso di acquistare. Lo spieghiamo in che cos’è un order bump e come usarlo in WooCommerce.
Porta le tue vendite incrociate al checkout
Con EHERO Woo Checkout Offers (è il nostro plugin) scegli i prodotti che vuoi offrire nel checkout, assegni loro un prezzo speciale e li mostri solo quando nel carrello ci sono determinati prodotti o categorie, proprio come una vendita incrociata ma nel momento del pagamento. Senza ricaricare la pagina, nel checkout classico e in quello a blocchi, e anche nel carrello e nel mini-carrello. Una licenza per dominio, 79,99 € all’anno.
Domande frequenti
Qual è la differenza tra cross-sell e up-sell in WooCommerce?
Gli up-sell offrono un’alternativa migliore e si vedono nella scheda prodotto. I cross-sell (vendite incrociate) suggeriscono complementi e si vedono nel carrello.
Perché mi compaiono solo due vendite incrociate?
Perché il carrello classico ne mostra due a caso. Puoi aumentare il numero con il filtro woocommerce_cross_sells_total. Nel carrello a blocchi ne compaiono fino a tre e si cambia dall’editor.
Posso mostrare le vendite incrociate nella scheda prodotto?
Nei temi a blocchi, sì: il blocco «Raccolta di prodotti» ha una raccolta di cross-sell che puoi inserire nel template prodotto dell’editor del sito. Nei temi classici serve codice o un plugin.
Le vendite incrociate compaiono nel mini-carrello?
No. Né nel mini-carrello classico né in quello a blocchi.
Le vendite incrociate si possono impostare con sconto?
Non di serie: vengono mostrate al prezzo normale, o a quello scontato se il prodotto lo ha. Per un prezzo che esista solo acquistandolo insieme a un altro prodotto serve un plugin, come uno di order bump.
La cache influisce sulle vendite incrociate?
Non dovrebbe: la pagina del carrello non viene memorizzata in cache, perché cambia per ogni cliente. Se il tuo plugin di cache la sta salvando, hai problemi più gravi delle vendite incrociate, quindi escludila.
Conclusione
Se i cross-sell di WooCommerce non compaiono, controlla in ordine: che tu li stia cercando nel carrello, che siano nel prodotto che va nel carrello, che il suggerito non sia già nel carrello e sia visibile, che la tua pagina carrello abbia dove mostrarli e che nessun tema o snippet li abbia rimossi. E se i tuoi clienti vanno direttamente al pagamento, non fissarti sul carrello: porta quegli stessi suggerimenti al checkout con un order bump.
Guide correlate
- Che cos’è un order bump e come usarlo in WooCommerce: esempi, regole e cosa misurare.
- Order bump, upselling e cross selling: cos’è ogni tecnica e quando usarla.
- EHERO Woo Checkout Offers: l’order bump per WooCommerce con prezzo speciale, limite di unità e statistiche.



