コンテンツにスキップ

Shopify「1つ買うと2つ目が50%オフ」の設定方法:「最初のN個をスキップ」テクニックと限界

By Stackable TeamPublished on August 2, 2026Shopify How-To#bogo#buy-x-get-y
Shopify「1つ買うと2つ目が50%オフ」の設定方法:「最初のN個をスキップ」テクニックと限界

「1つ買うと2つ目が50%オフ」をShopifyでネイティブに実行でき、最もクリーンな方法はBuy X Get Y割引です。顧客が1つのアイテムを定価で購入し、2番目の適格アイテムは50%オフに設定されます。2番目のネイティブルートもあります。最小数量を持つ「Amount off products」割引ですが、2番目だけでなく、すべての適格ユニットに割引します。ネイティブは単一ペアに対して機能しますが、実際の限界があります。大きなカート内の多くのペア全体で明確に繰り返されず、「2番目」アイテムのターゲティングは粗く、他の割引と競合する可能性があります。Shopifyはカートラインあたり1つの商品割引のみを許可しているため。

このガイドは両方のネイティブ方法をステップバイステップでカバーし、「最初のN個をスキップ」メカニズムを説明し、実例と表を使ってネイティブが現実にどこで機能が果たせなくなるのかを示し、繰り返しとスタッキングが確実に必要な場合にShopify Functionsアプローチをレイアウトします。

Shopifyで「1つ買うと2つ目が50%オフ」をネイティブで実行できますか?

はい。Shopifyはこのオファーのバージョンを表現できる2つのネイティブ割引タイプを提供しており、正確に何をするかを理解するのに役立ちます。交換可能ではないため。

最初のものはBuy X Get Yです(Shopifyは管理画面で「Buy X get Y」と呼び、APIでは「BXGY」と呼びます)。これは「2番目が半額」に対して正しいネイティブツールです。なぜなら、顧客が購入するアイテムを定価のアイテムから割引するアイテムと分離するため。顧客が1つ買い、1つを50%オフで取得することを指示すると、Shopifyは正確にそれを実行します。

2番目のものはAmount off productsを最小購入数量で指定します。これは「2を購入、50%オフを取得」と言うことができるので魅力的ですが、細かい箇所を読むと、すべての適格ユニットに割引が適用されます。2番目だけではなく。「2を買う、50%オフを取得」はここでは両方のアイテムが半額であることを意味し、これはペアに対して25%の実効割引であり、「1つはフルプライスで1つは半額」ではありません。これは別のオファーであり、1つを別のものと間違えることが、マーチャントがこれを間違える最も一般的な方法です。

正直な答えは次の通りです:真の「2番目のアイテムが50%オフ」にはBuy X Get Yを使用し、Amount off productsが異なる方法で機能することを理解し、カートが単一ペアを超えて成長すると両方が限界に達することを知ります。

IMAGE PLACEHOLDER (画像1):2番目のアイテム割引への2つのネイティブルート
推奨される視覚:白い背景上にきれいな16:9図。左パス「Buy X Get Y」は2つの商品カードを表示し、最初のものはフルプライス、「購入」タグ付き、2番目のものは「50%オフ」スタンプ付き、「取得」タグ付きで表示します。右パス「Amount off products、最小数量2」は両方が同じカードを「50%オフ」スタンプ付きで表示し、キャプション「すべてのユニットに割引を適用」付き。中心ラベルは「同じ言葉、異なる数学」と読みます。フラットベクトルスタイル、ブランドカラー紫とゴールド、サンセリフラベル、写真なし。

方法1:Buy X Get Y、信頼できるネイティブな方法

Buy X Get Yはこのプロモーション形式のために正確に構築されました。Shopifyの開発者ドキュメントによると、BXGY割引は「顧客が購入する」セット(買い手が購入する必要があるアイテムと数量)と「顧客が取得する」セット(選択したパーセンテージで割引を受け取るアイテムと数量)を保存します。「取得」パーセンテージを50%に設定することが、それを「2番目が半額」に変えるものです。

管理画面で設定する

  1. Shopify管理画面で「割引」に移動して「割引を作成」をクリックしてから、「Buy X get Y」を選択します。
  2. 「顧客が購入」の下で、「最小数量」1に設定し、適格な商品またはコレクションを選択します。グループ内のすべてのアイテムで取引が機能するようにしたい場合は、コレクションにスコープしてください。
  3. 「顧客が取得」の下で、「数量」を1に設定して、「取得」アイテムが同じプールから来るように同じ商品またはコレクションを選択します。
  4. 割引額については、「パーセンテージ」を選択して「50%」を入力します。
  5. 注文ごとの最大使用回数」の下で、オファーが注文ごとに複数回適用されるかどうかを決定します。この単一の設定が「繰り返すか」質問が存在する場所であり、限界セクションで戻ります。これは記事全体の中心です。
  6. 組み合わせ」(商品、オーダー、または送料無料割引とスタックできるかどうか)、アクティブな日付、および保存してください。

結果:2つの適格アイテムをカートに持つ顧客は、1つは定価を支払い、もう1つは半額を支払います。Shopifyは、デフォルトで「取得」セット内の価格が低い適格アイテムに割引を適用するため、顧客はより高いアイテムをフルプライスで保ちます。これは「2番目のアイテム」取引の標準で公正な動作ですが、ネイティブで微調整することはできない制約でもあります。より安いアイテムをフルプライスで保ち、より高価なアイテムを割引したい場合は重要です。

これが「最初のN個をスキップ」テクニックである理由

ここはこのトピックの名前の由来となったメカニズムです。Buy X Get Yでは、「顧客が購入」数量は、割引を拒否する数量です。「1つ買い、1つを50%で取得」と言うと、Shopifyに:最初のユニットを割引しない、次のユニットを割引するように指示します。「2を購入、1を50%で取得」を設定すると、「最初の2つの数量を割引しない、3番目を半額にする」と言ったことになります。購入数量はスキップ最初のN制御です。管理画面がそれらの言葉を決して使用しないとしても。

このフレーミングは役に立ちます。なぜなら、サードパーティーの割引アプリが同じアイデアをどのように説明するかに直接マップされるからです。RegiosやCheckout Boostのようなアプリは、明示的な「最初のN個をスキップ」または「閾値を超える適格数量」トグルを公開しています。ネイティブShopifyは金額割引に正確なスライダーを与えません。Buy X Get Yは購入数量を通じて同じ結果を提供します。フォーラムスレッドで「最初のN個を割引しない = 1」というフレーズを見たことがあれば、それはBuy-1-Get-1 BXGYオファーの1行説明です。

方法2:最小数量を持つAmount off products(そしてそれが同じオファーではない理由)

2番目のネイティブルートは近く見えますが、異なる計算を行い、間違ったプロモーションを出荷しないように理解する価値があります。

Amount off products」割引は最小数量を必要とすることができます。ShopifyのAPIはこれを最小数量要件としてモデル化し、ドキュメントは「3を購入、10%オフを取得」プロモーションの標準的な例を提供します。ここで最小数量は3に設定されています。重要な詳細:カートが最小値を満たすと、パーセンテージがすべての適格ユニットに適用されます。閾値を超えるユニットではなく。

したがって、「Amount off products、最小数量2、50%オフ」を構築すると、2つのアイテムを購入する顧客は両方のアイテムで50%オフを取得します。これは寛大であり、時々それは望むことですが、「1つ買うと2番目が半額」ではありません。「2を購入、両方が半額」です。$40アイテムでは、真の2番目のアイテムオファーは$40 + $20 = $60を請求し、amount-off-min-2バージョンは$20 + $20 = $40を請求します。ペアごとに$20の差は、与えるつもりではなかった正確なマージンです。

ネイティブなAmount off productsには「最小値を超えるユニットにのみ割引を適用する」と言う切り替えがありません。その機能、文字通りの「最初のNを割引しない」は、アプリが追加するものです。ネイティブで2番目のユニットだけが割引されたい場合、Buy X Get Yはツールで、Amount off productsではありません。

ネイティブが機能しない場所:衝突する限界

ネイティブBuy X Get Yは単一の単純なペアを美しく処理します。トラブルはカートまたはプロモーションがより野心的になるとすぐに始まります。ここが4つの壁マーチャントが遭遇する壁で、すべて実際で、起動前に知る価値があります。

1. 多くのペア全体でクリーンに繰り返されません

これが大きいです。「2番目が50%オフ」取引を望む顧客は、2つのアイテムで止まることはめったにありません。彼らは6つを追加します。今の質問は、割引が2番目、4番目、6番目のアイテムに適用される(3つの半額ユニット)か、1回だけ(1つの半額ユニット、残りは定価)かということです。

ネイティブBuy X Get Yは単一の注文ごとの最大使用回数設定を通じてこれを制御します。上限を設定しない場合、Shopifyは数量が増えるにつれてbuy-getセットを再適用しようとしますが、この動作は粗く、混合商品、バリアント、コレクション全体で予測不可能になります。上限を設定した場合、取引は正確に1回実行され、4番目と6番目のアイテムは定価を支払うため、「すべてのペアが適格になると予想していた顧客をフラストレーションさせます。「すべてのペアの適格な適格アイテムのミックス全体でクリーンに繰り返す、永遠に」モードはありません。Shopifyフォーラムの買い手は繰り返し「6を購入、2を取得、9を購入、3を取得」のような正確な繰り返し動作を求めており、ネイティブが確実に表現できないことを発見します。

2. どのアイテムが「2番目」かを細かくターゲットできません

ネイティブBXGYは「取得」セット内の価格が低い適格アイテムに割引を適用します。これは通常、賢明なデフォルトです。ただし、プロモーションが異なるロジックを必要とする場合、例えば常に最も高い価格のアイテムを割引するか、特定の部分グループの特定のアイテムを割引する場合、ネイティブはその制御を与えません。Shopifyの組み込みターゲティングを取得するか何もない。

3. Buy X Get Yの100商品上限

ネイティブBuy X Get Yは、1つの割引に添付できる商品数を制限しています。適格セットが約100商品を超えると、管理画面はそれ以上追加することを許可しません。400SKUカタログ全体にわたって「どのアイテム、2番目が半額」のストアワイドで1つのネイティブ割引として構築することはできません。通常の回避策は、コレクションへのスコープで、適格なカタログ全体が手で維持するように喜んでいるコレクションに合う場合にのみ役立ちます。この天井については、下記のリンク記事で詳しく説明します。

4. 他の割引と競合する可能性があります

Buy X Get Yは商品クラス割引です。ボリューム割引、コレクションのパーセンテージオフ、ほとんどの「セール」価格設定と同様です。Shopifyの開発者ドキュメントによれば、デフォルトではカートラインごとに1つの商品割引だけが適用されます。顧客のアイテムが「2番目が50%オフ」取引と別の「このコレクションで20%オフ」セール両方に適格な場合、2つは両方とも商品割引で、同じラインでスタックしません。Shopifyはより価値のあるものを保持し、もう一方をサイレント削除します。

2番目の商品割引を同じラインにスタックすることは可能ですが、Shopify Plusでのみ、タグベースの双方向マッチメカニズムShopifyが「同じラインスタッキング」と呼ぶもののみです。非Plusプランでは、「私のBOGOプラス別の商品割引」を同じアイテムで保管するのは、テーブル外と見なし、それを設計して回避してください。クロスクラススタッキング(BボGO、オーダー割引、送料無料)はどのプランでも機能しますが、各オファーは組み合わせに設定されているとしても。

IMAGE PLACEHOLDER (画像2):ネイティブBOGOが機能しない場所
推奨される視覚:6つの同じシャツがある買い物かごを示す16:9イラスト。上記、2つのラベル付き結果。「ネイティブ、1回の使用で上限」は、50%バッジ付きで2番目のシャツだけを強調表示し、他の5つは定価で小さい赤いフラグでマークされます。「買い手が期待するもの」は、50%でそれぞれ2番目、4番目、6番目のシャツを強調表示し、緑色のチェックでマークされます。下のキャプションは「ネイティブペアを1回適用、ペアごとではなく」と読みます。フラットベクトルスタイル、ブランドカラー紫とゴールド、写真なし。

実例:6つのシャツ、1つの「2番目が50%オフ」オファー

繰り返し問題を具体的にしましょう。店舗では$40でシャツを販売し、「1つ買う、2番目が50%オフを取得」を実行します。顧客は6つのシャツ、$240小計割引なし前を追加します。ここは同じプロモーションが3つの異なる方法で支払う方法です。

その表を遅くまで読んでください。すべての行は別の約束です。上限付きネイティブBXGYは過小配信です。顧客は3つの半額シャツを期待し、1つを得たため、不当と感じ、放棄するかもしれません。Amount off productsバージョンは大幅に過剰配信です。6つすべてのシャツを半額にし、意図した$60ではなく$120を与えています。繰り返し認識バージョンだけが支払い「1つ買う、2番目が半額」は実際にスケールで意味します:すべてのペアが取引を取得し、店舗は正確に$60を与え、顧客はバナーが約束した正確に何を取得します。

$220、$180、$120の間のギャップ単一の6アイテムカートは、このオファーがそれが見えるよりも難しい理由の全体です。ネイティブは過剰配信と過剰配信のいずれかを選択することを強制し、どちらも広告されたものではありません。

Functionsの方法:繰り返しとスタッキングが正しいBOGO

信頼できるフィックスは、Shopifyの独自のチェックアウトパイプライン内でオファーを計算することですShopify Function使用して、数学がサーバー側で実行され、カートページ、チェックアウトページ、Shop Payのような加速チェックアウトで同じ方法で適用されます。Functionsベースの割引は、ネイティブが実行できないロジックを表現できます:カート内のすべてのペアのbuy-getセットを再適用し、最も安いまたは特定のアイテムをターゲットし、無制限の適格カタログをカバーし、組み合わせルールを正確に尊重します。

これはモデルですStackableはビルドされ、プラットフォーム限度が存在しないふりをする代わりにShopifyの実際のルールについて正直です。

Stackableで確実に実行してください

  • ペアごとに再計算される繰り返しロジック。繰り返しをオンにして「1つ買う、1つが50%で取得」カートが成長するにつれて再適用されるため、6アイテムカートは自動的に3つの半額アイテムを取得し、1つではなく。同じ設定は「6を購入、2を取得」プロモーションを「12を購入、4を取得」にスケールします。
  • 100商品の上限がありません。タグまたはコレクションで適格アイテムを定義し、上限がないため、ストアワイドで「2番目が半額」は400SKUカタログを単一キャンペーンとしてカバーし、新しい商品は自動的にオプトインします。
  • 信頼できる最も安いアイテムのターゲティング。割引は最も価格の低い適格アイテムを半額としてマークし、カートが変更されると生きてアップデートされるため、顧客は常に高い価格のアイテムをフルプライスで保ちます。
  • Shopifyと1対1で一致する組み合わせスイッチ。各オファーには3つの結合トグルがあり、1つずつ商品、オーダー、送料無料割引用であるため、設定されたものはチェックアウトが実行します。同一ラインの製品対製品スタッキングはまだPlusのみで、アプリはそれを隠さずに明確に言います。
  • どこでも1つの合計。Shopify Functionで数学が実行されるため、カートプレビューと最終チャージは離れることはできません。Shop Pay、Apple Pay、Google Payを含む。Stackableは商品価格を書き直さないため、アンインストールするとカタログは正確に同じままです。

Stackableを無料でインストールして、「2点目が50%オフ」がどのペアでも正しく適用されることを確認しましょう。usestackable.com/pricing

「2番目が50%オフ」をステップバイステップで設定する方法

ネイティブまたはFunctionsベースを選択するかどうか、このシーケンスはトラブルを排除します。

1. 正確な約束を書き留める

ストアに対して「1つ買う、2番目が50%オフ」が正確に何を意味するかを決定します。すべてのペアで繰り返されるか、注文ごとに1回実行されるか?どのアイテムにも適用されるか、コレクションのみですか?どのアイテムが割引されるか、より安いか、より高価ですか?これを最初に答えるとネイティブBXGYが十分であるか繰り返しロジックが必要であるかがわかります。

2. 正しいネイティブタイプを選択する

真の2番目のアイテム割引にはBuy X Get Yを使用してください。購入数量は「最初のNを割引しない」コントロールとして機能します。次を避けてください最小数量を持つAmount off products本当に適格な各ユニットが割引されるようにしたい場合を除き、2番目のアイテムだけでなく、セット全体を半額にします。

3. 繰り返し動作を意図的に決定する

「注文ごとの最大使用回数」の値を意図的に設定します。上限ありは、注文ごとに1つの半額アイテムを意味します。無制限のネイティブ繰り返しは混合カート全体で粗いです。大きなまたは混合カート全体でクリーンなペアごとの繰り返しが必要な場合、それはFunctionsベースのアプリに移動するシグナルです。

4. 組み合わせを設定してから、ラインごとのルールを尊重する

「組み合わせ」セクションで、このオファーがスタックするクラスを選択します。別の商品割引がShopify Plusを使用していない限り、同じカートラインでスタックしないことを忘れないでください。コレクションセールとこのBOGOの両方を実行する場合、どちらが勝つようにしたいかを決定してください。ネイティブはペアごとにより高い値のみを保持します。

5. 2つのアイテムカートと6つのアイテムカートをテストする

正確に2つの適格アイテムを持つ実生活テストカートを構築し、1つが定価で1つが半額であることを確認します。次に、6アイテムカートを構築し、チェックアウトサマリーラインをラインで読んでください:1つのアイテムまたは3つを半額にしますか?顧客がこれを行う前に繰り返し動作をキャッチする場所です。エラーを投げることはないため、静かな障害は敵です。割引は黙って1回だけ適用されます。

6. Shop Payを確認する

6アイテムテストカートをShop Pay経由で実行します。ネイティブとFunctionsベースの割引はそこで同じように適用されます。テーマJavaScriptに依存するものは、カート合計と請求された合計が加速チェックアウトで離れる場所です。

IMAGE PLACEHOLDER (画像3):繰り返しロジックトグル
推奨される視覚:「顧客が購入数量:1、」「顧客が数量を取得:1、」「割引:50%オフ、」の表示フィールドを持つキャンペーンエディタの16:9製品スクリーンショットモックアップと、「すべての適格ペアに対してこのオファーを繰り返す」というラベルのハイライトされたトグルはオンで、読んでいる明確な英語のサマリー「6アイテムカートが50%オフで3アイテムを取得します。」クリーンShopify Polaris管理スタイリング、紫のブランドアクセント。docs/screenshot-manifest.mdスロットbogo-step-2を参照して、後で実画面をキャプチャしてください。

ボトムライン

  • Buy X Get Yは「2番目が50%オフ」のための正しいネイティブツール:顧客購入を1に設定、顧客は1を50%で取得し、購入数量は「最初のNをスキップ」制御です。
  • 最小数量を持つAmount off productsは別のオファーです。すべての適格ユニットを割引するため、「最小2、50%オフ」は2番目だけでなく両方のアイテムを半額にします。
  • ネイティブ繰り返しが弱点です。単一の「注文ごとの最大使用」設定は、大きなまたは混合カート全体でペアごとに取引をクリーンに再適用できないため、買い手は過小配信されるか過剰配信されます。
  • ネイティブBuy X Get Yは適格商品を約100に上限し、デフォルトでより安いアイテムを割引し、細粒度ターゲティング制御がありません。
  • Buy X Get Yは商品クラスであるため、Shopify Plusを使用していない限り、同じカートラインで別の商品割引とスタックしません。どのプランでもオーダーと送料無料割引と組み合わせます。
  • 常に2つのアイテムと6つのアイテムカートをテストして、チェックアウトサマリーをラインで読んでから、Shop Payを確認してください。割引が1回だけ適用されても、エラーは発生しません。
  • Stackableのようなshopify Functionsベースのアプリは、ネイティブ単一ペアBOGOをストアワイドオファーに変える信頼できる繰り返しロジック、無制限適格性、最も安いアイテムターゲティングを追加します。

関連記事

よくある質問

よくある質問への回答

  • 管理画面の「割引」から「Buy X get Y」を作成します。「顧客が購入」を最小数量1に設定し、「顧客が取得」を1アイテム50%割引に設定して、両方で同じ商品またはコレクションを選択します。Shopifyは1つ目を定価で、2つ目を半額で請求します。組み合わせと注文ごとの最大使用回数を設定してから保存します。

  • Buy X Get Yオファーは「購入」数量を割引しないという考え方です。「1つ買う、1つを50%で取得」を設定すると、最初の単位が割引を拒否する部分で、2番目が半額になる部分です。購入数量は実質的に「最初のNをスキップ」制御です。ネイティブShopifyはBuy X Get Yを通じてこれを行います。一部のアプリは明示的な「最初のN個をスキップ」トグルとして公開しています。

  • Buy X Get Yを使用してください。これは2番目のアイテムのみを割引するネイティブタイプです。最小数量を指定したAmount off productsは、すべての適格ユニットにパーセンテージを適用するため、「最小2、50%オフ」は両方のアイテムに50%を適用します。これはペアに対して25%の実効割引であり、「1つはフルプライス、1つは半額」ではありません。すべてのユニットを割引したい場合にのみAmount off productsを使用してください。

  • 確実ではありません。ネイティブは注文ごとの最大使用回数設定で繰り返しを制御します。上限ありの場合、1回だけ実行されるため、6アイテムのカートは1つの半額アイテムだけです。上限なしの場合、再適用を試みますが、混合商品とバリアント全体で予測不可能に動作します。大きなカートまたは混合カート全体でクリーンなペアごとの繰り返しを実現するには、Shopify Functionsベースのアプリが信頼できるルートです。

  • ネイティブBuy X Get Yは、デフォルトで「取得」セット内の価格が低い適格アイテムを割引するため、顧客はより高いアイテムをフルプライスで保ちます。ネイティブでこれを微調整することはできません。特定のアイテムまたは最も高価なアイテムを常に割引する必要がある場合、ターゲティングを制御できるFunctionsベースの割引が必要です。

  • ネイティブBuy X Get Yは1つの割引あたり約100の商品に制限されるため、大規模なカタログ全体のストアワイドオファーは1つのネイティブ割引にはできません。コレクションへのスコープは、適格アイテムがメンテナンスするコレクションに収まる場合にのみ役立ちます。Functionsベースのアプリはタグまたはコレクションで適格性を定義し、商品上限がないため、400SKUストアワイドBOGOは1つのキャンペーンです。

  • Buy X Get Yは商品クラスの割引であり、Shopifyはデフォルトではカートラインごとに1つの商品割引だけを適用します。つまり、他の商品割引(コレクションセールなど)とスタックしません。Shopify Plusを使用してタグベースの同一ライン・スタッキングを使用しない限り、スタックしません。どのプランでもオーダー割引と送料無料と組み合わせることができ、各オファーが組み合わせに設定されている限り。

Do this in your store

  • BOGO / Buy X Get Y

    Run Shopify BOGO and buy X get Y storewide with no 100-product limit, plus the repeat logic native buy X get Y cannot do.

  • Discount Stacking

    Shopify applies only the highest discount by default. Stack volume tiers, order discounts and free shipping, with cart and checkout always agreeing.

Stackable Team

The team building Stackable, the reliability-first bulk and volume discount app for Shopify. We write about discount stacking, Shopify Functions, and how to run promotions that hold up at checkout.

本サイトの運営には必須Cookieを使用しており、お客様の同意をいただいた場合のみ、アクセス状況を把握するための分析Cookieを使用します。詳細は Cookieポリシー.