> ## Documentation Index
> Fetch the complete documentation index at: https://docs.aftersell.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Limitare il carrello a un solo upsell alla volta

> Usa HTML personalizzato per nascondere il modulo upsell dopo che un singolo upsell è stato aggiunto al carrello.

<div id="overview">
  # Panoramica
</div>

Questa personalizzazione impedisce che vengano aggiunti più upsell contemporaneamente nascondendo la sezione upsell non appena un upsell viene accettato. Una volta che l'upsell viene rimosso, il modulo riappare.

È utile se vuoi:

* Semplificare l'esperienza del carrello
* Ridurre la fatica decisionale
* Mantenere un senso di esclusività attorno a determinate offerte

***

<div id="how-it-works">
  ## Come funziona
</div>

* Quando un cliente accetta un upsell, la sezione upsell viene nascosta
* Se l'articolo upsell viene rimosso, la sezione upsell torna visibile
* Funziona sia con gli upsell consigliati dall'AI sia con quelli manuali

***

<div id="where-to-add-the-code">
  ## Dove aggiungere il codice
</div>

1. Vai su **Upcart > Cart Editor > Settings > Custom HTML**

<Warning>
  **Il selettore qui sotto è solo per la Versione 1.** `.upcart-upsells-module` si trova sul carosello upsell V1. Se il tuo modulo Upsells è sulla **Versione 2**, sostituiscilo con `.upcart-public-upsell` in tutti e tre gli handler — il resto dello script rimane invariato. Consulta la [libreria dei selettori CSS V2](/it/upcart/upcart_css_selector_library_v2).
</Warning>

2. Incolla il codice seguente nella posizione **Above announcements/rewards**

***

<div id="html-script-to-copy">
  ## Script HTML da copiare
</div>

```
<script>  
  // Show upsells again when upsells are removed  
  window.upcartSubscribeItemRemoved((event) => {  
    if (event.item?.properties?.__upcartUpsell) {  
      const upsells = window.upcartDocumentOrShadowRoot.querySelector(".upcart-upsells-module");  
      if (upsells) upsells.style.display = "block";  
    }  
  });  
  
  // Hide upsells once one is added  
  window.upcartSubscribeUpsellsAddedToCart(() => {  
    const upsells = window.upcartDocumentOrShadowRoot.querySelector(".upcart-upsells-module");  
    if (upsells) upsells.style.display = "none";  
  });  
  
  // Check for upsell in cart when it loads  
  window.upcartSubscribeCartLoaded((event) => {  
    const upsells = window.upcartDocumentOrShadowRoot.querySelector(".upcart-upsells-module");  
    const items = event.cart.items || [];  
    const hasUpsell = items.some(item => item?.properties?.__upcartUpsell);  
    if (upsells && hasUpsell) {  
      upsells.style.display = "none";  
    }  
  });  
</script>
```

<Note>
  **Nota legacy:** i callback `window.upcartOnItemRemoved`, `window.upcartOnAddUpsell` e `window.upcartOnCartLoaded` funzionano ancora ma sono deprecati e generano avvisi nella console. Usa `upcartSubscribeItemRemoved`, `upcartSubscribeUpsellsAddedToCart` e `upcartSubscribeCartLoaded` per tutti i nuovi script.
</Note>

***

<div id="result">
  ## Risultato
</div>

Una volta aggiunta questa personalizzazione:

* I clienti vedono gli upsell solo se non ne hanno già accettato uno
* Il modulo upsell viene nascosto non appena un upsell viene aggiunto
* Il modulo riappare automaticamente se l'articolo upsell viene rimosso
* Non serve configurare ID prodotto o tag

Questo mantiene la tua esperienza di upsell focalizzata, ordinata e facile da usare per i clienti.

***

<div id="still-need-help">
  ## Hai ancora bisogno di aiuto?
</div>

Per personalizzazioni più avanzate, ti consigliamo di lavorare con uno **Shopify Expert**. Può aiutarti con HTML, CSS e JavaScript all'interno del tuo cart drawer.

[Vedi gli Shopify Experts](https://www.shopify.com/partners/directory)
