サムネイル

Shopify ストアで商品の売り切れ非表示を実現する方法を徹底解説!

目次

はじめに

今回は、Shopify ストアで商品の売り切れ非表示を実現する方法について解説していきます。

今回の記事では、以下の読者を対象にしています。

  • 売り切れ非表示の概要を知りたい
  • コーティングで売り切れ非表示を行う方法を知りたい
  • アプリで売り切れ非表示を行う方法を知りたい

売り切れ非表示とは?

売り切れ非表示機能とは、ストア内の売り切れ商品を自動的に非表示にすることです。これは、商品の在庫状況を監視し、在庫がない(売り切れ)状態であれば自動的に下書き状態に設定する機能を指します。また、顧客が商品を購入して在庫がなくなった場合にも、該当商品を自動的に下書き状態にすることができます。

売り切れ非表示のメリット

  • ストアの利便性向上

顧客が利用可能な商品のみを閲覧できるようになるため、サイト内でのナビゲーションがスムーズになります。売り切れ商品に対して時間を費やすことなく、購入可能な商品にすぐアクセスできるため、ストアの利便性が向上します。

  • 在庫管理の効率化

売り切れ商品を自動で非表示にすることで、在庫管理が効率化されます。在庫の補充や更新が必要な商品を迅速に特定でき、在庫状況に応じた適切なアクションを取りやすくなります。

メタフィールドを用いたコーディングで売り切れ非表示を行う方法

まずは、メタフィールドを用いたコーディングで商品の売り切れ非表示を行う方法を解説します。

こちらの記事では、メタフィールドについて詳しく解説しています。

「Shopify GraphQL App」のインストール 

今回は、GraphQL を用いてメタフィールドを作成していきます。

「Shopify GraphQL App」にアクセスしてください。「Shopify GraphQL App」はストア上で GraphQL を使用できるように Shopify が用意しているアプリです。

上記の Install の部分に Shopify の開発ストアの URL を入力し、「Select all」 をクリックして、「インストール」ボタンを押すと、Shopify の開発ストアに 「Shopify GraphQL App」をインストールすることができます。

ストアのメタフィールドにセット販売の情報を定義する

ストアのメタフィールドに売り切れ非表示機能の情報を設定

ストアのメタフィールドに売り切れ非表示機能の情報を設定します。

以下の画像は、今回実装する GraphQL コードです。Mutation と Variables を順に解説していきます。

実装する GraphQL コード

Mutation

まずは、Mutation です。以下のコードを画像の赤枠の部分に貼り付けてください。

mutation MetafieldsSet($metafields: [MetafieldsSetInput!]!) {
  metafieldsSet(metafields: $metafields) {
    metafields {
      key
      namespace
      value
      createdAt
      updatedAt
    }
    userErrors {
      field
      message
      code
    }
  }
}

実装する GraphQL コード

引数

今回は、metafieldsSet API を用います。これは、メタフィールドの値を作成・更新するための API です。こちらの API には引数として、以下のものを渡します。

  • key
  • namespace
  • ownerId
  • type
  • value

順に説明します。

  • key
    メタフィールドを識別する一意の値です。

  • namespace
    メタフィールドのグループのコンテナです。メタフィールドが集まった箱のようなものです。

  • ownerId
    メタフィールドが関連付けられているリソースの固有の識別子です。

  • type
    メタフィールドに格納されるデータの種類を指定します。

  • value
    メタフィールドに格納されるデータです。文字列として格納します。

具体的に渡す値は、Variables に設定します。

戻り値

metafields ブロックには、登録されたメタフィールドの情報が入ります。

戻り値として、以下のものが返ってきます。

  • key
  • namespace
  • value
  • createdAt
  • updateAt

key・namespace・value に関しては、先程と同様です。

  • createdAt
    メタフィールドが作成された日時です。

  • updateAt
    メタフィールドが更新された日時です。

userErrors ブロックには GraphQL の実行中に発生したエラーに関する情報が入ります。

戻り値として、以下のものが返ってきます。

  • field
  • message
  • code

順に説明します。

  • field
    エラーが発生した入力フィールドの場所を示しています。

  • message
    エラーメッセージです。

  • code
    エラーコードです。

Variables

次に、metafieldSet に渡す引数、Variables の部分について解説します。

完成形のコードがこちらです。

{
  "metafields": [
    {
      "key": "hidden_setting",
      "namespace": "sold_out_hidden_app",
      "ownerId": "gid://shopify/Shop/67358163174",
      "value": "{ \"status\": \"enabled\" }",
      "type": "json"
    }
  ]
}

各設定項目について詳しく見ていきましょう。まず、メタフィールドの key と namespace です。今回は、key に hidden_setting 、namespace に、sold_out_hidden_app を指定しています。

次に、ownerId を設定します。以下の GraphQL クエリを実行して Shop の id を取得してください。

{
  shop {
    id
  }
}


============================================
# 実行後のレスポンス

{
  "data": {
    "shop": {
      "id": "gid://shopify/Shop/67358163174"
    }
  },
  "extensions": {
    "cost": {
      "requestedQueryCost": 1,
      "actualQueryCost": 1,
      "throttleStatus": {
        "maximumAvailable": 2000,
        "currentlyAvailable": 1895,
        "restoreRate": 100
      }
    }
  }
}

ownerId に、取得した Shop の id を設定してください。

次に、value に売り切れ非表示機能の情報を設定します。

今回は、以下の json データを文字列にエスケープしたものを設定します。これには、売り切れ非表示機能が有効かどうかの値が含まれます。

{
  "status": "enabled"
}

上記で作成した Variables を画像の赤枠の部分に貼り付けてください。

作成した Variables の貼り付け

GraphQL を実行

実行ボタンをクリックして GraphQL 実行してください。

GraphQL の実行

これで、ストアのメタフィールドに売り切れ非表示機能の情報を追加できました。

あとは、管理画面でストアのメタフィールドから売り切れ非表示機能情報を取得して、売り切れ非表示機能情報が有効かどうか検証する処理を追加してください。

売り切れ非表示機能が有効な場合、在庫切れまたは下書き状態の商品をストア内から非表示にする処理を実装してください詳しい処理はかなり難しくなるので、ここでは割愛します。

アプリを用いて売り切れ非表示を行う方法

Shopify アプリの「シンプル売り切れ非表示|在庫切れ商品の表示変更」を用いて、売り切れ商品の非表示を行います。以下の記事を参考にしていきます。

シンプル売り切れ非表示|在庫切れ商品の表示変更

「シンプル売り切れ非表示|在庫切れ商品の表示変更」は、日本製の売り切れ商品の自動非表示を行うことができるアプリです。

料金:9.99 ドル

※開発ストアは無料で使用できます。

それでは、実際に解説していきます。

アプリをインストール

まずは、アプリをインストールしていきます。以下のリンクにアクセスして下さい。

「シンプル売り切れ非表示|在庫切れ商品の表示変更」アプリストア

以下の画面に遷移します。

以下の画面に遷移

「インストール」ボタンをクリックすると以下の画面に遷移します。右下の「インストール」ボタンをクリックして、アプリのインストールを行いましょう。

アプリのインストール

以下の管理画面が表示されます。

管理画面の表示

以上で、アプリのインストールは完了です。

売り切れ非表示機能の有効化

次に売り切れ非表示機能の有効化を行います。「設定」ページの「売り切れ商品を非表示にする機能を有効化」セクションから行います。

売り切れ非表示機能の有効化

「売り切れ商品を非表示にする機能を有効化」から「有効」を選択して、「保存する」ボタンをクリックすると、売り切れ非表示機能を有効化できます。

アプリの有効化

以上で、売り切れ非表示機能の有効化は完了です。

売り切れ非表示機能

売り切れ商品の非表示機能を有効化することで、利用できる機能は具体的には以下の通りです。

  • 自動的に売り切れ商品を非表示(下書き状態)にする
  • 顧客が商品を購入した直後に在庫がなくなった場合、その商品を自動的に非表示(下書き状態)にする

それぞれ説明します。

自動的に売り切れ非表示(下書き状態)にする

自動的に売り切れ非表示(下書き状態)にする機能は、ストア内の商品が売り切れ(在庫なし)の状態であるかどうかを判断し、売り切れである場合に商品を自動的に下書き状態に設定する機能です。

顧客が商品を購入した直後に在庫がなくなった場合、その商品を自動的に非表示(下書き状態)にする

顧客が商品を購入した直後に在庫がなくなった場合、その商品を自動的に非表示(下書き状態)にする機能を、以下の商品を例に説明します。なお、商品の在庫は残り1つ、現在のステータスは「公開中」となっています。

顧客が購入した直後に、自動的に非表示(下書き状態)になる1

この商品を顧客が購入したとします。

顧客が購入した直後に、自動的に非表示(下書き状態)になる2

その結果、以下に示す画像のように商品のステータスが自動的に「下書き」に変更され、商品はストアに表示されなくなります。

顧客が購入した直後に、自動的に非表示(下書き状態)になる3

終わりに

今回は、Shopify ストアで売り切れ非表示を実現する方法について解説しました。
売り切れ非表示機能を導入することで、ストアの利便性を向上させることができます。ぜひ導入してみてください!

最後まで読んでいただきありがとうございました!

参考記事

おすすめ Shopify アプリ

シンプルあといくらで無料ギフト|お手軽送料無料プログレスバーのアイコン

シンプルあといくらで無料ギフト|お手軽送料無料プログレスバー

カート金額に応じて無料ギフトと送料無料を提供。あといくらで届くかをプログレスバーで表示します。

シンプルお届け先変更|お手軽住所・配送日時のセルフ修正のアイコン

シンプルお届け先変更|お手軽住所・配送日時のセルフ修正

注文後のお届け先住所や配送希望日を、お客様自身で修正できます。問い合わせ対応の手間を減らします。

シンプル型番・JANコード表示|お手軽SKU・商品コード表示のアイコン

シンプル型番・JANコード表示|お手軽SKU・商品コード表示

商品ページに、選択中のバリエーションの SKU(型番)と JAN コードを表示します。テーマの編集は不要です。

シンプルPDFカタログ|お手軽PDFフリップブック表示のアイコン

シンプルPDFカタログ|お手軽PDFフリップブック表示

商品ページにPDFカタログを、ページをめくる本のように表示。お客様はページを離れずに読めます。

シンプル動画スライドショー|お手軽動画カルーセル表示のアイコン

シンプル動画スライドショー|お手軽動画カルーセル表示

どのページにも全幅の動画カルーセルを表示。動画ごとに見出しとボタンを重ねられます。

シンプルマイページクーポン|お客様アカウント割引コード表示のアイコン

シンプルマイページクーポン|お客様アカウント割引コード表示

顧客アカウントページにクーポンを表示。クーポンを作って ID を貼るだけで表示されます。

シンプル追従カウントダウンタイマー|お手軽あと何日表示のアイコン

シンプル追従カウントダウンタイマー|お手軽あと何日表示

ストアのどこにでも追従型のカウントダウンタイマーを表示して、購入の緊急性を演出できます。

シンプル売り切れバリエーション非表示|自動在庫切れ非表示のアイコン

シンプル売り切れバリエーション非表示|自動在庫切れ非表示

バリエーションピッカーから売り切れのサイズ・カラーを消します。お客様には購入できる選択肢だけが表示されます。

関連記事