サムネイル

Shopify ストアで購入制限を実現する方法を徹底解説!

目次

はじめに

今回は、Shopify ストアで商品の数量規制による購入制限を実現する方法を解説していきます。
1 つ目は、メタフィールドを用いたコーディングで数量規制による購入制限を実現する方法です。

2 つ目は、アプリを用いて数量規制による購入制限を実現する方法です。

それぞれの方法について詳しく解説してきます。

購入制限とは?

購入制限とは、特定の商品やサービスの購入可能数や購入条件を制限することです。具体的には、購入する商品の数量・期間・購入金額を条件に購入制限を行います。特定の顧客群にのみ商品やサービスを提供することで、その商品の独占性や希少性を高める目的でも利用されることがあります。

購入制限のメリット

購入制限は多くのストアにとっては、非常に魅力的な販売戦略です。そのメリットは、以下のようなものがあります。

  • 在庫管理の効率化

購入制限を行うことにより、予期せぬ大量購入を防ぎ、結果として在庫切れを避けることができます。オンラインストアで在庫切れの商品が増えると、顧客が選べる選択肢が限られ、その結果、ストアからの離脱を引き起こす可能性があります。

  • 転売の防止

購入制限を行うことのメリットの一つは、転売の防止です。人気商品や限定アイテムの場合、購入制限を行うことで、これらの商品が市場価格よりも高値で不正に転売されることを効果的に抑制することができます。

  • ショッピング体験の向上

商品への購入制限を行うことは、その商品の独占性を高め、限定感を巧みに演出する効果的な手段です。これにより、商品自体が持つ本来の価値をより一層引き立てることが可能となり、顧客のショッピング体験の向上が期待できます。

メタフィールドを用いたコーティングで商品の数量規制による購入制限を行う方法

まずは、メタフィールドを用いたコーティングで商品の数量規制による購入制限を行う方法について解説します。

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

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

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

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

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

ストアのメタフィールドに購入制限機能の情報を設定

ストアのメタフィールドに購入制限機能の情報を設定します。

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

Shopify GraphiQL App の実行画面

Mutation

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

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

Shopify GraphiQL App の実行画面

引数

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

  • key
  • namespace
  • ownerId
  • type
  • value

順に説明します。

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

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

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

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

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

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

戻り値

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

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

  • key
  • namespace
  • value
  • createdAt
  • updateAt

keynamespacevalue に関しては、先程と同様です。

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

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

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

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

  • field
  • message
  • code

順に説明します。

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

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

  • code
    エラーコードです。

Variables

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

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

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

各設定項目について詳しく見ていきましょう。まず、メタフィールドの keynamespace です。今回は、keyorder_limit_confignamespace に、order_limit_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 を、画像の赤枠の部分に貼り付けてください。

Shopify GraphiQL App の実行画面

GraphQL を実行

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

Shopify GraphiQL App の実行画面

これで、ストアのメタフィールドに購入制限機能の情報を設定できました。

商品のメタフィールドに購入制限数を設定

次に、商品のメタフィールドに購入制限数を設定します。

以下の画像は、今回実装する GraphQL コードです。MutationVariables で順に解説します。

Shopify GraphiQL App の実行画面

Mutation

まずは、Mutation です。ストアのメタフィールドを設定したときと同じコードを設定してください。

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

Variables

次に、Variables の部分です。

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

{
  "metafields": [
    {
      "key": "order_limit_number",
      "namespace": "order_limit_app",
      "ownerId": "gid://shopify/Product/8362227761382",
      "value": "{\"min\": 1, \"max\": 4}",
      "type": "json"
    }
  ]
}

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

次に、ownerId を設定します。まず、商品の id を取得します。

ストアの管理画面の左側の「商品管理」をクリックしてください。

商品管理画面を開く

購入制限をする商品を選択してください。

商品管理画面で購入制限をする商品を選択する

以下のページの URL の末尾の数字が商品 id です。

URLから商品idを取得する

gid://shopify/Product/XXXXXXXXXX の XXXXXXXXX に取得した商品の id を設定してください。

次に、value に購入制限数を設定します。

今回は、以下の json データを文字列にエスケープしたものを設定します。これには、購入制限数の下限と上限が含まれます。

{
  "min": 1,
  "max": 4
}

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

Shopify GraphiQL App の実行画面

GraphQL を実行

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

Shopify GraphiQL App の実行画面

以上で商品のメタフィールドに購入制限数を設定できました。

あとは、カートページで、ストアのメタフィールドから購入制限機能の情報を取得して、購入制限機能が有効かどうかを検証する処理を追加します。また、購入制限機能が有効の場合、商品に購入制限数を適用する処理を追加してください。詳しい処理はかなり難しくなるので、ここでは割愛します。

アプリを用いて商品の数量規制による購入制限を行う方法

Shopify アプリの「シンプル購入制限|お手軽注文制限」を用いて、数量規制による購入制限を導入します。以下の記事を参考に解説していきます。

【Shopify アプリ】シンプル購入制限|お手軽注文制限について徹底解説|ご利用ガイド

シンプル購入制限|お手軽注文制限

「シンプル購入制限|お手軽注文制限」は、数量規制による購入制限を簡単に実現できるアプリです。また、Cart and Checkout Validation API に対応しているため、従来のアプリと比べて、より堅牢な購入制限を実現できます。

料金:月額 6.99 ドル

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

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

アプリをインストール

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

「シンプル購入制限|お手軽注文制限」アプリストア

以下の画面に遷移します。「インストール」ボタンをクリックしてください。

アプリのインストール画面

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

アプリをインストールする

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

アプリの管理画面

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

購入制限設定

管理画面にて、購入制限設定を行います。

右上の「購入制限商品を追加」ボタンをクリックして、「購入制限設定」ページに遷移してください。

購入制限設定ページに移動する

まず、「購入制限を設定する商品を選択」セクションで、購入制限する商品を設定します。

購入制限商品を追加ボタンをクリックする

購入制限する商品を選択して、「追加」ボタンをクリックしてください。

購入制限商品の追加ポップアップ

次に、「個数制限設定」セクションで、個数制限を設定します。

購入制限を設定する商品を選択する

個数制限(下限)・個数制限(上限)を入力してください。どちらか一方のみを入力しても構いません。

購入制限の設定

最後に、「保存する」ボタンをクリックして、設定を保存してください。

設定を保存する

以上で購入制限設定は終了です。

購入制限機能を有効化

購入制限機能を有効化します。左側のメニューの「設定」をクリックして、「設定」ページに移動してください。

アプリの設定画面

「設定」ページの「購入制限機能有効化」セクションで、購入制限機能の有効化を行います。
「有効」を選択して、「保存する」ボタンをクリックしてください。

アプリを有効化する

以上で購入制限機能を有効化は完了です。

購入制限商品一覧の確認

購入制限商品一覧の確認をします。左側のメニューの「購入制限管理」をクリックして、「購入制限管理」ページに移動してください。「購入制限管理」ページでは、購入制限商品を一覧で確認できます。

アプリの購入制限商品管理画面

以上で購入制限商品一覧の確認は完了です。

エラーメッセージの表示

設定した購入制限を満たしていない場合には、以下のページでエラーメッセージが表示されます。「Cart and Checkout Validation API」を導入しており、商品ページに加え、カートページ・チェックアウトページでエラーメッセージを表示できます。

  • 商品ページ
  • カートページ
  • チェックアウトページ

商品ページ

商品ページでは、以下のようにエラーメッセージが表示されます。

商品ページのエラーメッセージ表示例

カートページ

カートページでは、以下のようにエラーメッセージが表示されます。

カートページのエラーメッセージ表示例

チェックアウトページ

チェックアウトページでは、以下のようにエラーメッセージが表示されます。

チェックアウトページのエラーメッセージ表示例

終わりに

今回は、Shopify ストアで購入制限を実現する 2 つの方法を解説しました。
少しでも、お役に立てれば幸いです。ありがとうございました。

参考記事

おすすめ Shopify アプリ

シンプル会員初回送料割引|お手軽初回ログイン送料無料のアイコン

シンプル会員初回送料割引|お手軽初回ログイン送料無料

シンプルな日本製の条件に応じた送料割引アプリ。ログインしている顧客を対象とした初回購入時の配送料割引を簡単に実現できます。

シンプル会員送料割引|お手軽ログイン送料無料のアイコン

シンプル会員送料割引|お手軽ログイン送料無料

シンプルな日本製の会員配送料割引アプリ。ログイン状態に応じて配送料を割引できます。

シンプル会員注文割引|お手軽ログインセール設定のアイコン

シンプル会員注文割引|お手軽ログインセール設定

シンプルな日本製の注文割引アプリ。顧客のログイン状態に応じて注文を自動割引できる。

シンプルセット商品在庫連携|お手軽セット商品管理の自動化のアイコン

シンプルセット商品在庫連携|お手軽セット商品管理の自動化

シンプルな日本製のセット商品在庫連携アプリ。在庫連携したセット商品販売を簡単に実現できます。

シンプルVIP注文割引|お手軽VIP会員セール設定のアイコン

シンプルVIP注文割引|お手軽VIP会員セール設定

シンプルな日本製の条件に応じた注文割引アプリ。特別な顧客を対象とした注文割引を簡単に実現できます。

シンプル延長保証|お手軽保証付き商品販売のアイコン

シンプル延長保証|お手軽保証付き商品販売

シンプルな保証付与アプリ。商品毎に保証付与ができます。

シンプルVIP送料割引|お手軽VIP会員送料無料のアイコン

シンプルVIP送料割引|お手軽VIP会員送料無料

シンプルな日本製の条件に応じた送料割引アプリ。特別な顧客を対象とした配送料割引を簡単に実現できます。

シンプル追従カート|追従購入ボタン(Buy Button)のアイコン

シンプル追従カート|追従購入ボタン(Buy Button)

シンプルな追従カートアプリ。ストアに追従カートを簡単に導入できます。

シンプル顧客タグ送料割引|お手軽顧客タグ送料無料のアイコン

シンプル顧客タグ送料割引|お手軽顧客タグ送料無料

シンプルな日本製の送料割引アプリ。顧客タグに応じて配送料を割引したり、無料にしたりできます。

シンプルパンくずリスト|お手軽 Breadcrumbsのアイコン

シンプルパンくずリスト|お手軽 Breadcrumbs

カスタマイズ性の高いパンくずをストアに表示できる!

シンプルブログ記事カスタマイズ|お手軽ブログテンプレートのアイコン

シンプルブログ記事カスタマイズ|お手軽ブログテンプレート

シンプルなブログ記事カスタマイズアプリ。ストアにブログ記事カスタマイズ機能を簡単に実現できます。

シンプルお知らせ一覧|お手軽ブログ一覧挿入アプリのアイコン

シンプルお知らせ一覧|お手軽ブログ一覧挿入アプリ

シンプルなお知らせセクションアプリ。ストアにお知らせセクションを簡単に挿入できます。

シンプルブログ記事目次|自動見出し一覧挿入のアイコン

シンプルブログ記事目次|自動見出し一覧挿入

シンプルなブログ目次生成アプリ。ストアにブログ目次を簡単に表示できます。

シンプルスライドショー|お手軽画像スライダーのアイコン

シンプルスライドショー|お手軽画像スライダー

シンプルなスライドショーアプリ。ストアにスライドショーを簡単に表示できます。

シンプル流れるロゴ|流れるロゴリスト挿入アプリのアイコン

シンプル流れるロゴ|流れるロゴリスト挿入アプリ

シンプルな流れるロゴリストアプリ。ストアに流れるロゴリストを簡単に表示できます。

シンプル名入れ|お手軽名前入りギフトオプションのアイコン

シンプル名入れ|お手軽名前入りギフトオプション

シンプルな日本製の名入れオプションアプリ。商品毎に名入れオプションを追加できます。

シンプル在庫数表示|お手軽残りわずか表示のアイコン

シンプル在庫数表示|お手軽残りわずか表示

シンプルな商品の残りわずか表示アプリ。ストアに商品の残りわずか表示を簡単に導入できます。

シンプルギフトラッピング|お手軽ギフト包装アプリのアイコン

シンプルギフトラッピング|お手軽ギフト包装アプリ

シンプルな日本製のギフトラッピングアプリ。カートページに簡単にギフト包装オプションを追加できます。

シンプル購入制限|お手軽注文制限について徹底解説のアイコン

シンプル購入制限|お手軽注文制限について徹底解説

シンプルな日本製の購入数制限アプリ。商品ごとに数量の規制を行えます。

シンプルランキング表示|お手軽ベストセラーのアイコン

シンプルランキング表示|お手軽ベストセラー

購入促進!コレクションにランキングラベルを表示してストアの人気商品をアピール

シンプル顧客タグごとの限定販売|お手軽ロイヤリティのアイコン

シンプル顧客タグごとの限定販売|お手軽ロイヤリティ

日本製の顧客タグごとの購入制限アプリ。特定のタグを持つ顧客への限定販売を簡単に実現できます。

シンプルロゴ一覧|お手軽ロゴリスト表示のアイコン

シンプルロゴ一覧|お手軽ロゴリスト表示

シンプルなロゴリストアプリ。ストアにロゴリストを簡単に導入できます。

シンプル余白調整|お手軽レイアウトのアイコン

シンプル余白調整|お手軽レイアウト

シンプルな日本製の余白調整アプリ。余白を挿入することでページデザインの調整が簡単にできます。

シンプルのし(熨斗)アプリのアイコン

シンプルのし(熨斗)アプリ

シンプルな日本製のしアプリ。のし選択機能を簡単に実現できます。

シンプル画像バナー|お手軽広告バナーアプリのアイコン

シンプル画像バナー|お手軽広告バナーアプリ

シンプルな画像バナーアプリ。ストアに画像バナーを簡単に表示できます。

シンプル Q&A|どこでも FAQのアイコン

シンプル Q&A|どこでも FAQ

シンプルな Q&A アプリ。ストアに FAQ を簡単に導入できます。

シンプルモバイルアプリバナー|スマホアプリに誘導のアイコン

シンプルモバイルアプリバナー|スマホアプリに誘導

シンプルなモバイルアプリバナー。ストアにモバイルアプリバナーを簡単に導入できます。

シンプル流れる告知|流れるお知らせ挿入アプリのアイコン

シンプル流れる告知|流れるお知らせ挿入アプリ

シンプルな流れる告知アプリ。ストアに流れる告知を簡単に導入できます。

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

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

売り切れ商品を非表示にすることができる日本製アプリ。売り切れになった商品を、自動的に非表示(下書き状態)にすることができます。

シンプルレビュー|お手軽口コミのアイコン

シンプルレビュー|お手軽口コミ

シンプルな日本製のレビューアプリ。レビュー機能を簡単に実現できます。

シンプル会員限定販売|お手軽アカウント必須販売のアイコン

シンプル会員限定販売|お手軽アカウント必須販売

シンプルな日本製の会員限定販売アプリ。商品毎に、ログインしていない顧客の購入制限を行えます。

シンプル会員ランク|お手軽顧客タグ付けのアイコン

シンプル会員ランク|お手軽顧客タグ付け

日本製の会員ランク管理アプリ。条件を達成した顧客に自動でタグを追加し、顧客管理を手助けします。

シンプル Wishlist|お手軽お気に入りのアイコン

シンプル Wishlist|お手軽お気に入り

商品数・お気に入り数の上限なしで使えるお手軽お気に入りアプリ。簡単にお気に入り機能を実現できます。

シンプル Coming Soon|商品ページ発売予告アプリのアイコン

シンプル Coming Soon|商品ページ発売予告アプリ

シンプルな日本製の Coming Soonアプリ。商品毎に発売予告を行えます。

シンプルセット販売|お手軽クロスセルのアイコン

シンプルセット販売|お手軽クロスセル

シンプルな日本製のセット販売アプリ。セット販売でのクロスセルを簡単に実現できます。

シンプル予約販売|受注販売や在庫切れ商品販売で使えるのアイコン

シンプル予約販売|受注販売や在庫切れ商品販売で使える

日本製の予約販売アプリ。予約販売や受注販売、在庫切れ商品販売を簡単に実現できます。

シンプル販売期間設定|商品ごとに期間限定販売のアイコン

シンプル販売期間設定|商品ごとに期間限定販売

シンプルな日本製の期間限定販売アプリ。商品ごとに販売期間を設定することができます。

シンプルVIPプログラム|お手軽VIP会員限定販売のアイコン

シンプルVIPプログラム|お手軽VIP会員限定販売

日本製の VIP 限定販売アプリ。特別な顧客を対象とした限定商品の販売を簡単に実現できます。

シンプルポイント|追加料金なしで使えるお手軽ポイントアプリのアイコン

シンプルポイント|追加料金なしで使えるお手軽ポイントアプリ

シンプルな日本製の定額ポイントアプリ。顧客はポイントをそのまま利用することができます。

おすすめ記事