Shopifyでスキャルパーとボットを止めるには、3つのチェックアウトレベル制御を組み合わせます:厳格なログイン必須(ゲストチェックアウト不可)、厳しい顧客ごとの購入上限(多くの場合1〜2個)、そしてShop Pay、Apple Pay、その他のエクスプレスチェックアウトでも実行されるShopify Functionsのチェックアウト検証。OrderRulesは3つすべてを1つの機能で提供します(Proプラン以上)。上限はShopify Customer IDで追跡されるため、チェックアウトでメールアドレスを変えても回避できません。
本ガイドは特にスキャルパー、ボット、転売屋という脅威に焦点を当てます — 顧客ごとの適用の対敵的な側面です。公平な分配、手作りショップの公平性、B2Bアカウント上限のような日常的なユースケースを含む顧客ごとの注文制限のより広い解説が欲しい場合は、顧客ごとの注文制限完全ガイドが決定版のリソースです。そしてなぜ「1注文あたり2個」のルールでも転売屋が10個買えてしまったかを理解したいなら、Shopifyの注文ごとと顧客ごとの制限から始めてください — その解説は本ガイド全体が依拠する概念的なギャップをカバーします。
スキャルピングは限定商品の加盟店にとって現実の問題です。1人の買い手があなたの限定スニーカードロップや独占コレクター商品の50個を買うと、正当な顧客が締め出され、それらの単位は二次市場で高値で転売されることがよくあります。本ガイドは、対敵的な脅威モデルがShopify上でどう動くか、そしてそれを打ち破るためにOrderRulesをどう設定するかを説明します。
なぜShopifyストアがスキャルパーに対して脆弱なのか
Shopifyにはネイティブの顧客ごとの購入制限機能がありません。これがスキャルパーや転売屋が悪用する3つの脆弱性を生みます:
顧客ごとの追跡が組み込まれていない
Shopifyの標準チェックアウトは個別の顧客ごとに購入を追跡したり制限したりしません。転売屋は異なるアイデンティティで複数の注文をすることができ、Shopifyのシステムはそれぞれを独立として扱います。アプリなしでの唯一の選択肢は、注文を手動で監視して怪しいものを取り消すこと — 時間のかかる事後対応です。

ゲストチェックアウトが匿名購入を許す
デフォルトでは、Shopifyはアカウント作成不要のゲストチェックアウトを許可します。決意の固い転売屋は10個の異なるメールアドレスで10件のゲスト注文ができ、メール照合に頼る顧客ごとのシステムであれば、どれも検出を逃れられます。だからこそ OrderRules は顧客ごとの上限にログインを必須にしています。
ボット活動がスピードを悪用する
巧妙なスキャルパーは、人間がクリックするより速く注文を出すためにボットを使用します。新製品発売の50個を購入するようプログラムされたボットは、たった1人の本物の顧客がチェックアウトに到達する機会すら持たないうちに、数ミリ秒で購入を完了できます。
結果:人気のドロップでは、在庫の大きな割合が転売屋やボットの手に渡ることがあります。これが、Shopifyで限定ドロップの管理が不可能と感じられる中心的な理由です — あなたは自動化に対して非対称な戦いを戦っているのです。
顧客ごとの購入制限の仕組み
OrderRulesは2つのメカニズムを通じて顧客ごとの制限を適用します:顧客の識別とサーバーサイドのチェックアウト検証です。
顧客識別戦略
OrderRulesは、チェックアウトのアクセス方法に関わらず繰り返し購入者を捕捉するため、2つの方法を同時に使って顧客を追跡します:
Shopify Customer ID(ログイン中の顧客)
顧客がチェックアウト前にShopifyアカウントにログインすると、OrderRulesはチェックアウトセッションから一意のShopify Customer IDを読み取ります。このIDは:
- 偽造不可 — 顧客のアカウントに紐付いており、なりすませない
- 永続的 — Cookieを消去したりシークレットモードを使ったりしても変わらない
- 一貫している — そのアカウントのすべての注文で同じID
ログイン中の顧客の場合、メールの変更、VPNの使用、ブラウザのリロードでは上限はリセットされません。
上限の有効中はゲストチェックアウト不可
メール照合は新しいアドレスひとつで簡単にすり抜けられるため、OrderRulesはこれに頼りません。顧客ごとの上限が有効な間はゲストチェックアウトがブロックされ、すべての購入者がアカウントでチェックアウトします — そのため、カウントされる注文はすべて顧客IDに紐づきます。
時間ベースの制限期間
OrderRulesは6つの制限期間をサポートします:
| 期間 | リセット | ユースケース |
|---|---|---|
| 日次 | 真夜中(あなたのタイムゾーン) | 日々更新される限定ドロップ;朝ごとに新鮮な在庫を持つベーカリー |
| 週次 | 月曜の深夜 0 時(週は月曜〜日曜) | 週次の生産サイクルを持つ手作り商品 |
| 月次 | 各月の1日 | 高額アイテム;サブスクリプションボックス |
| 生涯 | リセットなし | 真の「一人一個」アイテム;独占的なコレクター商品 |
| 年次 | 1月1日 | 年間の割当;年間の支出上限 |
| 直近30日間(ローリング) | 各注文は注文日とその後30日間カウントされる | カレンダーのリセットを悪用されない安定した上限 |
複数のルールを追加すれば、上限を組み合わせることもできます。たとえば「1日2個 かつ 1ヶ月5個」 — チェックアウトで両方のルールがチェックされます。
Shopify Functionsによるサーバーサイドの適用
これが顧客ごとの制限をすり抜けにくくする技術的な詳細です。OrderRulesはShopifyの自社チェックアウトインフラ内でサーバーサイドで動作するShopify Functionsを通じて制限を適用します。
テーマのJavaScript(買い手がスキップできる)と異なり、Shopify Functionsは買い手がチェックアウトを完了しようとした時点でカートを検証します:
- 顧客がカートに商品を追加
- 顧客がチェックアウトに進む
- Shopify Functionsが顧客ごとの上限と照らして注文を検証
- 上限を超えていれば、Shopifyが検証エラーを返し、注文は拒否される
- 顧客はあなたのカスタムエラーメッセージを見る
このチェックは、以下の方法ではスキップされません:
- ページのリロード
- JavaScriptの無効化
- VPNまたはプロキシサービスの使用
- エクスプレスチェックアウト(Shop Pay、Apple Pay、Google Pay、PayPal)と「今すぐ購入」
- ストアフロント経由でのチェックアウトボットの実行
検証はブラウザではなくShopifyのサーバー上で行われます。ただし、抜け穴も知っておきましょう:POS販売、サブスクリプションの更新注文、注文の編集、Admin API経由で作成された注文は、Shopify Functionsで検証されません。また、チェックは過去の注文のスナップショットを読むため、同じアカウントから同時に行われた2件のチェックアウトが両方とも通過することがあります。
OrderRulesでアンチスキャルピングルールを設定する
ここでは、ストア向けに顧客ごとの制限を構成する手順を順を追って説明します:
ステップ1:OrderRulesをインストール
- Shopify App StoreのOrderRulesにアクセス
- アプリを追加をクリックし、アクセスを承認
- 2分以内にインストールを完了
ステップ2:顧客ごとの上限ルールを作成
OrderRulesで顧客別制限を開きます:
- 顧客あたりの制限を有効にするをオンにして保存
- + ルールを追加をクリック
- 制限の種類を**合計数量(点数)**にし、上限数を設定(例:スニーカードロップ用に顧客あたり1個)
- 期間を選択:
- 真の一人一個アイテム向けに生涯
- 繰り返される限定リリース向けに日次
- 週次補充サイクルの在庫向けに週次
ステップ3:商品にスコープ設定
ルールが何に適用されるかを決定します:
- ストア全体 — すべての商品が1つの上限を共有(アンチスキャルピングには稀)
- 特定のコレクション — そのコレクション内の商品で上限を共有
- 個別商品 — 各商品に独立した上限
スニーカードロップの場合、「Limited Drop」というコレクションを作り、顧客ごとの上限をそのコレクションにスコープします。
ステップ4:上限メッセージを書く
顧客が上限に達すると、チェックアウトであなたのメッセージが表示されます。メッセージは設定 → 顧客ごとの上限メッセージで編集します。良い例:
「このアイテムは全顧客への公平なアクセスを保証するため、顧客あたり1個に制限されています。あなたはすでに1個購入しました。」
「この独占的リリースでは、お一人あたり2個に制限されています。上限を尊重して他のスニーカー好きにもチャンスを残してくれてありがとう!」
「私たちの限定ドロップはスキャルピング防止のために一人一個です。事業用に大量数量が必要な場合は wholesale@yourbrand.com までご連絡ください。」
3つ目の例はベストプラクティスです:ルールの目的を認め、正当な大量購入者には手動の回避策を提供する。
ステップ5:ログイン必須を確認する
これはゲストチェックアウトの回避策を防ぐために重要です。別途スイッチを入れる必要はありません:顧客ごとの上限が有効な間、OrderRulesはゲストチェックアウトをブロックします。Shopifyで顧客アカウントが有効になっていて、会員登録の導線がわかりやすいことを確認してください。
これで顧客はチェックアウト前にShopifyアカウントへのログインが必須になります。これにより、複数のゲストメールアドレスを使って上限を回避する手口が封じられます。Shopifyアカウントにはそれぞれ別のメールアドレスが必要なため、より多く買いたい転売屋は別々のアカウントを登録してログインしなければならず、時間がかかり、見つけやすくなります。
重要: ログイン必須にすると、アカウントを作りたくない買い物客の分だけチェックアウトが減ることがあります。限定ドロップでは、通常このトレードオフに見合う価値があります。
ステップ6:ルールをテストする
同じ顧客アカウントから2件のテスト注文を行います:
- 最初の注文を成功裏に完了
- 2件目の注文を試みて、上限メッセージが表示されることを確認
- 2件目の注文が(警告ではなく)ブロックされることを確認
- 上限が予期した時刻にリセットされることを確認(日次/週次の上限を使用している場合)
ステップ7:有効化と監視
ルールを保存し、ドロップを注意深く見守ります:
- 注文 — Shopifyの注文で、複数のアカウントにまたがって繰り返し注文している購入者(同じ住所、同じ支払い方法)を確認します。手動レビューのために転売屋を見つける方法です。
- サポートへの問い合わせ — 「チェックアウトできない」というメールが急増したら、上限やログインの手順がわかりにくい可能性があります。メッセージを調整しましょう。
- 商品ホットスポット — OrderRulesの分析では、人気商品と日別の注文推移を確認できます。次のドロップの在庫計画に活用しましょう。
厳格なログイン必須 — ゲストチェックアウトのブロック
顧客ログインを必須にすることが最も効果的なアンチスキャルピング対策です。メールのなりすましを回避策として排除するからです。
なぜ重要か
ログイン必須なしでは、決意の固い転売屋は以下が可能です:
- email1@gmail.com でゲスト注文を1件行う(1個)
- email2@gmail.com でゲスト注文を1件行う(1個)
- email3@gmail.com でゲスト注文を1件行う(1個)
- 50個になるまで繰り返す
メールベースの顧客ごとの上限(一部のアプリが採用している方式)は、カジュアルな転売屋は捕捉できますが、複数のメールアドレスを生成できる転売屋は捕捉できません。
ログイン必須を有効にすると、同じ転売屋は追加の注文ごとに別のアカウントが必要になります。時間がかかり、あなたも見つけやすくなります。
仕組み
ログイン必須は顧客ごとの上限に付属しています — 追加でオンにするものはありません:
- OrderRulesで顧客ごとのルールを作成する
- 顧客ごとの上限が有効な間、ストア全体でゲストチェックアウトがブロックされる
- Shopifyで顧客アカウントの会員登録を開いたままにする(推奨 — ゲストの閲覧者をアカウントに変換します)
ログインしていない買い物客は、チェックアウト前にログインまたはアカウント作成を求められます。アカウントのない顧客は30秒で作成できます。
コンバージョンへの予想される影響
ログイン必須にすると、チェックアウトは一定数減ります。アカウントを作らない買い物客は離脱します。限定ドロップでは、ゲストメールによる回避策を封じる代償として、通常は妥当なトレードオフです。
特に限定ドロップでは、トラフィックの大半がすでにログインを期待する高関与の顧客であるため、影響は最小限です。
購入制限を他の制御と組み合わせる
顧客ごとの制限は、他のOrderRules機能や一般的なベストプラクティスと組み合わされたときに最も効果的です:
顧客ごとの上限 + 日次注文上限
顧客ごとの上限(例:顧客あたり1個)AND 日次ストア上限(例:1日合計50注文)を設定します。これにより:
- 個別の公平性 — 1人の顧客が市場を独占できない
- 全体的なキャパシティ管理 — フルフィルメントチームが需要に追いつける
たとえば限定スニーカードロップは「顧客あたり1個」+「1日合計100注文」を使うかもしれません。
顧客ごとの上限 + 営業時間
夜間のスキャルピングボット活動を防ぐため、顧客ごとの上限と自動営業時間を組み合わせます:
- 営業時間中のみ開店するよう設定(例:10時-18時)
- 1日1個の顧客ごとの上限と組み合わせ
- 営業時間外はオンラインチェックアウトがブロックされます。ボットも人間も同様です
顧客ごとの上限 + 祝日カレンダー
祝日カレンダーは、選んだ日付(インポートした祝日を含む)にストアを休業にします。顧客ごとの上限はスケジュールでは変わらないため、季節性のドロップでは前後にルールを自分で編集します:
- ベース上限:月あたり顧客2個
- 祝日シーズン:5個に引き上げ、1月に元に戻す
これにより、緩い上限を1年中残すことなく、祝日のドロップを公平に保てます。
動的変数を使ったストアフロントメッセージ
OrderRulesのメッセージのプレースホルダーを使って、ログイン中の各買い物客に、商品ページで残りの購入可能数を表示します:
{remaining} {type_plural} remaining this {period} for you (limit {value})
この透明性が信頼を築き、顧客が複数注文を試みることを抑制します。
高度な設定パターンについては、Shopifyで限定ドロップを混乱なく実施する方法の完全ガイドをご覧ください。
設定例
以下は説明用の例であり、実在の加盟店ではありません。
限定スニーカードロップ(ストリートウェアブランド)
500足のスニーカードロップを行うストリートウェアブランドなら、OrderRulesを次のように設定できます:
- 顧客ごとの上限: 顧客あたり1個、生涯
- ログイン必須: 必須
- 日次上限: 1日500件の注文(1注文1足なら在庫数と一致)
- メッセージ: 「お一人あたり1足。転売を防ぎ、スニーカー愛好家に公平な機会を保証するため、数量を制限しています。」
狙い:一握りの転売屋がそれぞれ何十足も買うのではなく、最大500人の異なる購入者に届けること。
手作りアーティザンコレクター商品(デザイナートイ)
デザイナートイメーカーが月100体の限定フィギュアを作成。設定例:
- 顧客ごとの上限: 顧客あたり月2個
- 商品スコープ: 限定コレクションのみ
- ログイン必須: 自動(顧客ごとの上限が有効な間はゲストチェックアウトがブロックされる)
- メッセージ: 「月2個まで。新しいデザインを頻繁にリリースしています。今月1個コレクションすることで、来月他のコレクターのためにより多くを残せます。」
狙い:少数のバルク転売屋ではなく、毎月少なくとも50人の異なるコレクターに届けること。
大麻ディスペンサリー(合法市場)
認可を受けたディスペンサリーは、地域の法律で定められた顧客ごとの購入上限に従う必要がある場合があります(一部の地域で1日1オンスなど)。設定例:
- 顧客ごとの上限: 顧客あたり1日合計重量28.35 g(1オンス)(重量の上限はストア全体またはコレクション単位で適用)
- ログイン必須: 必須(いずれにせよ規制要件)
- 営業時間: 自動化された営業時間
- メッセージ: 「州法により、限度は顧客あたり1日1オンスです。購入は明日深夜にリセットされます。」
狙い:アカウントごとのオンライン注文を法定の1日量の範囲内に収めること。地域のルールを確認し、自社のコンプライアンス手順も維持してください。アプリの設定は法的助言ではありません。
よくある質問
顧客は複数のメールアドレスを使って顧客ごとの上限を回避できますか?
チェックアウトではできません — 顧客ごとの上限にはログインが必須なので、ゲストチェックアウトはブロックされ、チェックアウトで入力されたメールアドレスは関係ありません。残る抜け道は、それぞれ別のメールアドレスで複数のアカウントを登録することです。手間がかかりますし、アカウント間で繰り返し使われる配送先住所や支払い方法は注文から簡単に見つけられます。ほとんどのカジュアルな転売屋はそこまでしません。
誤って上限を厳しすぎる設定にしてしまい、顧客から苦情が来た場合は?
リアルタイムで上限を調整できます。OrderRulesは既存の購入履歴に基づいて再計算します:
- 上限を上げる — 以前にブロックされた顧客は即座に新規注文を行える
- 上限を下げる — 新しい上限を超えてすでに購入した顧客は、期間がリセットされるまで再び購入できない
すぐ売り切れた限定ドロップでは、これは大きな問題ではありません。継続商品では、まず小さな上限(例:顧客あたり2個)でテストし、フィードバックに基づいて調整してください。
正当な大量購入者を識別・管理するには?
顧客ごとの上限は転売屋をブロックしますが、特定の顧客には大量に買ってほしいこともあります(例:転売目的で仕入れるギフトショップ)。OrderRulesはログイン中のすべての顧客(Shopify B2Bの会社の購入者を含む)に同じ顧客ごとの上限を適用し、顧客タグで特定の購入者を除外することはできません。そこで、大量販売は制限対象の商品から切り離します:
- 上限はドロップ商品だけに設定し、大量・卸売向けの在庫はその上限のない別商品として(または別ストアで)販売する
- 全プランで利用できるShopify B2Bのカタログで、承認済みの購入者にそれらの大量販売商品の独自価格と数量ルールを設定する
これにより、ドロップ商品の上限は確実に維持しつつ、承認済みの大量購入者はドロップの上限対象外の商品を購入できます。
顧客ごとの上限はサブスクリプションで機能しますか?
一部は機能します。最初のサブスクリプション注文はチェックアウトを通るため、他の注文と同様にチェックされます。更新注文ではShopify Functionsが実行されないため、ブロックされません。ただし、更新注文も顧客の利用分としてカウントされます。それを踏まえて上限を決めるか、ドロップ商品をサブスクリプションの対象外にしてください。
手動販売にShopifyのドラフト注文やPOSを使用している場合は?
OrderRulesはShopify Functionsを介して上限を適用します。ドラフト注文もチェックされるため、上限に達した顧客の注文はそこでもブロックされます。POS販売はブロックされませんが、顧客の上限にはカウントされます。卸売注文や誤ってブロックされた顧客など、正当な理由で上限を超えて販売する必要がある場合は、POSで処理するか、ルールの上限を一時的に引き上げてください。
スキャルピングは解決可能
顧客ごとの購入制限は、Shopifyでスキャルピングと転売を防ぐ最も効果的なツールの1つです。厳格なログイン必須と組み合わせることで、1人の顧客やボットが限定在庫を独占することを大幅に難しくします。
スニーカードロップを行う、限定コレクター商品をリリースする、ベーカリーの日次キャパシティを管理する — いずれであっても、顧客ごとの上限は在庫をより多くの購入者に行き渡らせ、ブランドの評判を守ります。
OrderRulesを14日間無料で試す — 顧客ごとの上限はProプラン(月額$9.99)で利用できます。数分で設定して、チェックアウトでスキャルパーを止めましょう。
在庫管理と不正防止のためのさらなる戦略については、顧客ごとの注文制限、混乱のない限定ドロップの作成、およびShopifyでの売り越し防止に関するガイドをご覧ください。