在庫があるのにバリエーションが利用不可と表示される
ストアフロントで商品バリエーションが利用不可と表示される場合や、Shopify管理画面では在庫があるのに「カートに追加」ボタンがグレー表示される場合は、まずShopifyでそのバリエーションが利用可能か正確に確認してください。Bundlexはその利用可能状況を読み取りますが、バンドルの選択が完了していない場合や、必須商品が利用できない場合にも「カートに追加」を無効にすることがあります。この記事では、これらのケースを見分ける方法を説明します。
Shopifyの利用可能状況とバンドルの選択を確認する
Bundlexウィジェットは、Shopifyがバリエーションについて報告する内容をそのまま反映します。各バリエーションのavailableForSaleフラグを読み取り、そのフラグがfalseの場合は購入オプションを無効にします。アプリには在庫を書き込んだり、ロケーションを変更したり、公開状態を変更したりする権限がないため、Shopifyの在庫利用可能状況を変更することはありません。また、「カートに追加」のチェックでは、バンドル全体を購入できる状態かどうかも考慮されます。
問題が発生した時期とBundlexのインストール時期が近いと、因果関係があるように見えることがあります。すでにShopifyで利用不可になっていたと判断する前に、正確なバリエーションを確認してください。
BundlexはShopifyの利用可能状況を読み取ります。「カートに追加」ボタンが無効になっている場合は、バンドルの選択内容も確認してください。
よくある原因: オンライン注文を処理しないロケーションにある在庫
Shopifyがバリエーションを利用不可として返す一方で、在庫があるように見える最も一般的な理由は、在庫がオンライン注文を処理するよう設定されていないロケーションにあるか、そのロケーションがオンラインストアで無効になっていることです。
意外に思われる点として、「在庫切れでも販売を続ける」を有効にしていても、Shopifyがバリエーションを利用不可として報告することがあります。この設定で在庫を超えて販売できるのは、オンラインチャネルの注文をすでに処理しているロケーションに限られます。オンライン注文を処理するロケーションにそのバリエーションの在庫がない場合、手元の在庫数や在庫ポリシーにかかわらず、Shopifyは在庫切れとして報告します。
Shopifyのヘルプセンターでも同じ動作が説明されています。オンライン注文を処理するロケーションの在庫数が0以下で、別のロケーションには在庫があるもののオンライン注文を処理していない場合、その商品はオンラインストアの顧客に対して在庫切れと表示されます。
確認方法
Bundlexとは別に、Shopify自体がそのバリエーションについて報告している内容を確認できます。
- ライブストアフロントで、ブラウザの開発者コンソールを開きます。
fetch('/variants/<variant-id>.js').then(r => r.json()).then(console.log)を実行し、<variant-id>を問題のバリエーションIDに置き換えます。availableフィールドを確認します。値がfalseの場合、利用不可の原因はBundlexではなくShopifyにあります。
availableがfalseで、「在庫切れでも販売を続ける」が有効なのにバリエーションに在庫が表示される場合は、上記のロケーションと注文処理の設定を確認してください。この結果だけでは、Shopifyのどの設定が原因かは特定できません。
修正方法(Shopifyでの販売者側の対応)
ロケーション設定が原因でShopifyがバリエーションを利用不可として報告している場合は、Shopify管理画面で設定を修正してください。
- Shopify管理画面で、設定 > ロケーションに移動します。
- バリエーションの在庫があるロケーションを開きます。
- ロケーションが有効に設定されていることを確認します。
- そのロケーションで「このロケーションからオンライン注文を処理する」を有効にします。
- または、すでにオンライン注文を処理しているロケーションに在庫を移動します。
- ストアフロントの商品ページに戻り、バリエーションを注文できるようになったことを再確認します。
変更後、上記のセクションにある/variants/<variant-id>.jsチェックをもう一度実行します。availableフィールドがtrueになり、Bundlexウィジェットでもバリエーションを再び注文できるようになります。
その他に確認すること
ロケーション設定が正しい場合は、バグだと判断する前に、次の関連する原因を確認してください。
- 実際に在庫切れである。「在庫切れでも販売を続ける」が無効で、数量が0の場合、バリエーションは正しく利用不可になっています。在庫を補充するか、オンライン注文を処理するロケーションで販売継続を有効にしてください。
- オンラインストアに公開されていない。商品ページ自体が404になるか、ストアフロントURLがない場合、その商品はオンラインストアチャネルに公開されていません。商品の販売チャネルから公開してください。
これらのケースでは、いずれもShopify側で修正します。Shopifyがバリエーションを利用可能として報告すると、Bundlexは修正後の利用可能状況を自動的に反映します。
Shopifyでバリエーションが利用可能と表示される場合
必須バンドル商品とミックス&マッチの各スロットで、有効な選択がされていることを確認します。商品ページを再読み込みしてください。正確なバリエーションがウィジェットで引き続き利用不可と表示される場合、または「カートに追加」が無効なままの場合は、商品URL、バリエーション、選択したオファーをサポートに送ってください。
利用不可のバリエーションを非表示にする
ここまでの説明は、バリエーションを注文できるはずなのに注文できない場合を前提としています。実際に在庫切れで、一覧に表示したくないだけの場合は、「利用不可」と表示する代わりに、セレクターから削除できます。
- バンドルを開き、詳細設定タブに移動します。
- 利用不可のバリエーションを非表示にチェックを入れます。
- 割引を保存します。
選択したオプションの組み合わせに応じて、売り切れの値がウィジェットのドロップダウンとスウォッチから非表示になります。商品全体が売り切れの場合は、空のセレクターを表示する代わりに、利用不可ラベル付きでオプションを表示します。これはオファーのバリエーションセレクターと固定クロスセルのセレクターに適用されます。無料ギフト、アップセル、アドオンでは、この設定にかかわらず、売り切れのバリエーションがすでに非表示になります。
バリエーションを意図的に販売終了にした場合や、長期間在庫切れになる場合に使用してください。在庫がすぐに戻る場合は、すべての選択肢を表示しておくと、そのオプションが存在し、待つ価値があることを顧客に伝えられるため、無効にしておきます。
この記事は役に立ちましたか?
皆さまからのフィードバックがドキュメントの改善に役立ちます。