> ## 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.

# カートのアップセルを一度に 1 つに制限する

> カスタム HTML を使用して、アップセルが 1 つカートに追加された後にアップセルモジュールを非表示にします。

<div id="overview">
  # 概要
</div>

このカスタマイズは、アップセルが 1 つ受け入れられた時点でアップセルセクションを非表示にすることで、複数のアップセルが一度に追加されるのを防ぎます。アップセルが削除されると、モジュールは再び表示されます。

これは次のような場合に役立ちます:

* カート体験をシンプルにしたい
* 決断疲れを軽減したい
* 特定のオファーの限定感を維持したい

***

<div id="how-it-works">
  ## 仕組み
</div>

* 顧客がアップセルを受け入れると、アップセルセクションが非表示になります
* アップセルアイテムが削除されると、アップセルセクションが再び表示されます
* AI によるレコメンドと手動のアップセルの両方で機能します

***

<div id="where-to-add-the-code">
  ## コードを追加する場所
</div>

1. **Upcart > Cart Editor > Settings > Custom HTML** に移動します

<Warning>
  **以下のセレクターは Version 1 専用です。** `.upcart-upsells-module` は V1 のアップセルカルーセルにあります。Upsells モジュールが **Version 2** の場合は、3 つのハンドラーすべてで `.upcart-public-upsell` に置き換えてください — スクリプトのその他の部分は変更不要です。[V2 CSS セレクターライブラリ](/ja/upcart/upcart_css_selector_library_v2)を参照してください。
</Warning>

2. 次のコードを **Above announcements/rewards** の場所に貼り付けます

***

<div id="html-script-to-copy">
  ## コピーする HTML スクリプト
</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>
  **レガシーに関する注記:** `window.upcartOnItemRemoved`、`window.upcartOnAddUpsell`、`window.upcartOnCartLoaded` のコールバックは引き続き動作しますが、非推奨であり、コンソールに警告が記録されます。新しいスクリプトにはすべて `upcartSubscribeItemRemoved`、`upcartSubscribeUpsellsAddedToCart`、`upcartSubscribeCartLoaded` を使用してください。
</Note>

***

<div id="result">
  ## 結果
</div>

このカスタマイズを追加すると:

* 顧客は、まだアップセルを受け入れていない場合にのみアップセルを目にします
* アップセルが追加されるとすぐにアップセルモジュールが非表示になります
* アップセルアイテムが削除されると、モジュールは自動的に再表示されます
* 商品 ID やタグを設定する必要はありません

これにより、アップセル体験が焦点を絞った、すっきりとした、顧客が利用しやすいものになります。

***

<div id="still-need-help">
  ## まだサポートが必要ですか?
</div>

より高度なカスタマイズについては、**Shopify エキスパート**との協力をおすすめします。cart drawer 内の HTML、CSS、JavaScript の支援を受けられます。

[Shopify エキスパートを見る](https://www.shopify.com/partners/directory)
