サムネイル

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 アプリ

シンプル関連商品レコメンド|よく一緒に購入されている商品のアイコン

シンプル関連商品レコメンド|よく一緒に購入されている商品

関連商品を一覧からまとめて設定。買い手はセットをワンクリックでカートに入れられます。

シンプル税込税抜併記|消費税込み・税別表示・軽減税率にも対応のアイコン

シンプル税込税抜併記|消費税込み・税別表示・軽減税率にも対応

商品価格に、税込と税抜のもう一方を並べて表示できます。軽減税率が混ざるお店でも、商品ごとに正しく計算します。

シンプル原産国表示|お手軽製造国・原産地ラベルのアイコン

シンプル原産国表示|お手軽製造国・原産地ラベル

商品ごとの原産国を、国旗つきのバッジで商品ページに表示できます。国はリストから選ぶだけなので表記ゆれもありません。

シンプル商品単価表示|お手軽単位価格表示のアイコン

シンプル商品単価表示|お手軽単位価格表示

「100gあたりいくら?」を、販売する国ごとに見慣れた単位で表示できます。商品ページ・商品カード・カートで、お客様が価格を比べやすくなります。

シンプル追従電話ボタン|お手軽お問い合わせ・電話サポートのアイコン

シンプル追従電話ボタン|お手軽お問い合わせ・電話サポート

電話・LINE・WhatsAppのボタンをストアの全ページに置けます。「買う前にちょっと聞きたい」お客様をそのまま逃しません。

シンプルメガメニュー|お手軽ヘッダー階層ナビゲーションのアイコン

シンプルメガメニュー|お手軽ヘッダー階層ナビゲーション

画像つきの複数カラムのドロップダウンナビゲーションを、コードに触れずに作成・編集できます。

シンプル商品画像透かし|お手軽ウォーターマークのアイコン

シンプル商品画像透かし|お手軽ウォーターマーク

商品画像にロゴやテキストの透かしを焼き込み、どこに転載されても出どころが分かるようにします。

シンプルマイページバナー|お手軽顧客アカウント画像のアイコン

シンプルマイページバナー|お手軽顧客アカウント画像

顧客アカウントページにバナーを表示。画像をアップロードして URL を貼るだけで表示されます。

関連記事