コンテンツにスキップ
割引の重ねがけ

カートと決済の金額が常に一致するShopifyの割引併用

Shopifyで割引を重ねがけする方法は、プラットフォームが標準では隠している設定に集約されます。あらゆる割引は商品・注文・配送のいずれかの区分に属し、2つの割引が組み合わさるかどうかはオファーごと、区分ごとに決まります。Stackableはこの組み合わせスイッチをすべてのオファーに搭載しているため、ボリューム階層、支出目標、送料無料が、設定した通りに毎回正確に合算されます。

課題

Shopifyフォーラムでは、ストアオーナーから同じ質問が繰り返し寄せられています。

なぜ自分のストアは最も割引額の大きい1件しか適用せず、他を無視するのですか?ボリューム割引と送料無料を同じ注文で併用したいのですが、Shopifyサポートによると、プラットフォームは1件の割引だけを選び、もう一方を取り消すとのことでした。

Shopifyはすべての割引を区分(商品、注文、配送)に分類し、各割引が明示的に許可しない限り、それらを組み合わせません。2つの割引がどちらも適用され得る場合、チェックアウトは一方だけを残し、もう一方を警告なく取り消します。ボリューム階層とストア全体の注文割引を併用しているストアオーナーは、何の予告もなく結果が一貫しなくなり、それに気づく唯一の方法はテスト注文を行ってレシートを確認することだけです。

仕組み

Stackableでの解決方法

キャンペーンエディタの「併用」ステップの図。商品割引との併用がオン、注文割引との併用がオン、配送割引との併用がオフ。
キャンペーンエディター: キャンペーンウィザードの「Stacking」ステップにある3つの組み合わせスイッチ。
01

すべてのオファーに組み合わせスイッチを設定する

各オファーには3つのスイッチがあります。商品割引と組み合わせる、注文割引と組み合わせる、配送割引と組み合わせる、の3つです。これらはShopifyがチェックアウトで組み合わせを判断する仕組みと一対一で対応しており、さらに配分設定によって、どの数量に部分的な特典を適用するかが決まります。非表示の標準動作に委ねる部分はありません。

カートシミュレータの図。$180.00 のサンプルカートで、15% の商品割引が $27.00、送料無料が $9.00 を差し引き、チェックアウト合計は $153.00。
カートシミュレーター: すべてのオファーが適用されたサンプルカートと、その結果としての組み合わせ後の合計。
02

公開前に組み合わせ後の計算結果をプレビュー

サンプルカートに有効なすべてのオファーを適用し、チェックアウトで実行されるのと同じ計算による行ごとの正確な合計を確認できます。

チェックアウトの注文サマリーの図。積み上がった2行の割引 (マイナス $27.00 とマイナス $9.00) と、カートが示したものと同じ $153.00 の合計。
チェックアウトの注文概要: カートに表示されていたものと同じ重ねがけ割引の明細を表示。
03

チェックアウトでも同一の重ねがけが適用される

計算はShopify Function内で実行されるため、カート、チェックアウト、Shop Payは1つのエンジンから同じ合計を算出します。同期を保つための別々のロジックは必要ありません。

重ねがけの実際の仕組み

割引クラスの組み合わせマトリクス

Shopifyはすべての割引を商品、注文、配送の3つの区分のいずれかに分類します。区分をまたいで2つの割引が組み合わさるかどうかはオファーごとに決まり、Stackableはそのスイッチを作成するすべてのオファーに搭載しています。

割引クラスの組み合わせマトリクス
組み合わせ先 →Product discountsOrder discountsShipping discounts
Product discounts組み合わさる(1カート行につき商品割引は1件)オファーごとに設定可能オファーごとに設定可能
Order discountsオファーごとに設定可能組み合わさらないオファーごとに設定可能
Shipping discountsオファーごとに設定可能オファーごとに設定可能組み合わさらない

「設定可能」とは、各オファー自身の組み合わせスイッチによって、2つの区分が合算されるかどうかが決まることを意味します。2つの商品割引を同じカートに適用することはできますが、Shopifyは1つのカート行につき商品割引を最大1件しか適用しません(同じ行に2件適用するのはShopify Plus限定の機能です)。2つの注文割引、または2つの配送割引は、決して組み合わさりません。

完全な答え

割引の併用は、Shopify の割引のなかで3か所に分かれて記載され、正しく説明されている場所がほとんどない部分です。ここではモデル全体を1ページにまとめます。ルール、成立する組み合わせ、成立しない組み合わせ、壊れる箇所、そして何もインストールせずに自分のストアを確認する方法です。

Shopify で割引を併用するとはどういう意味ですか?

併用とは、2つ以上の割引が同じ注文に同時に適用され、顧客が両方を受け取ることです。Shopify はこれをサポートしていますが、特定の組み合わせに限られ、しかも各割引が明示的に許可した場合だけです。

多くのマーチャントは併用を機能としてではなく苦情として知ります。15% の数量割引を受けた顧客が送料無料の条件も満たし、カートページには両方が表示され、レシートには片方しか出ない。エラーもログもなく、サポートは「プラットフォームが最も有利な割引を選ぶ」と答えます。この挙動は正しく、文書化もされています。ただ、注文を1件失うまで見えないだけです。

Shopify は既定で割引を併用しますか?

いいえ。すべての割引は併用がオフの状態で作成されます。2つの割引が両方とも適用され得るのにどちらも許可していない場合、チェックアウトは片方を残し、もう片方を黙って捨てます。

この既定値は正しい選択です。反対にしてしまえば、2つのキャンペーンが重なった瞬間に原価割れで売るストアができあがるからです。つまり併用は偶然起きるものではなく、オファーごとに意図して有効にするものだということです。

Shopify の割引を組み合わせる本当のルールは何ですか?

2つの割引が組み合わさるのは、異なるクラスに属し、かつそれぞれが相手のクラスと併用する設定になっているときだけです。同じクラスの2つの割引は決して加算されません。Shopify は金額の大きいほうを適用し、もう片方を捨てます。

この文の両方の半分が重要で、他の記事が飛ばすのは後半です。併用を許可しても、2つの商品割引が足し算されるようにはなりません。商品割引が注文割引や配送割引と共存できるようになるだけです。クラスをまたぐ併用はすべての Shopify プランで機能します。

例外はひとつだけあり、範囲は狭いものです。商品割引はカート明細行ごとに決まるため、1行につき通常1つの商品割引しか乗りません。同じ行に商品クラスの割引を2つ乗せるのは Shopify Plus の機能で、タグで制限され、両方の割引に一致するタグが必要です。

Shopify の3つの割引クラスとは何ですか?

商品、注文、配送です。商品割引は商品価格を変え、注文割引は小計から引かれ、配送割引は配送料を下げます。割引のクラスはラベルではなく、何と併用できるかを決める要素です。

数量段階、まとめ買い割引、BOGO、コレクションへの割合引きはいずれも商品割引です。カート目標、「$150 以上の注文で $20 オフ」、ストア全体のコードの多くは注文割引です。送料無料のしきい値は配送割引です。稼働中の各割引のクラスを言えるなら、ストアで起こりうる併用はすべて予測できます。

なぜ2つの割合割引は加算されないのですか?

ほぼ必ず両方が商品クラスであり、同じクラスの2つの割引は併用されないからです。同じシャツに20%のクリアランス価格とストア全体10%のセールを当てても20%であって、28%でも30%でもありません。

マーチャントはこれをアプリの不具合やカートページのキャッシュの問題と受け取りがちですが、どちらでもありません。Shopify は2つを比べ、顧客に有利なほうを残し、もう片方をエラーも注文明細も残さず破棄します。解決策は、本当に意図した価格を1つのオファーとして設計するか、どちらか一方を別のクラスに移すことだけです。

実際に併用できる割引の組み合わせはどれですか?

異なる2つのクラスから選んだ組み合わせは、双方が許可すれば併用できます。同一クラス内の組み合わせはできません。下の表は、そのルールをマーチャントが実際に尋ねる形で書いたものです。

実際に併用できる割引の組み合わせはどれですか?
併用したいもの関係するクラス設定する内容
数量段階と送料無料商品 + 配送段階側で配送割引と併用をオン。配送オファー側で商品割引と併用をオン。
購入金額の目標と送料無料注文 + 配送購入金額の目標側で配送割引と併用をオン。配送オファー側で注文割引と併用をオン。
数量段階と購入金額の目標商品 + 注文段階側で注文割引と併用をオン。購入金額の目標側で商品割引と併用をオン。
BOGO と送料無料商品 + 配送BOGO 側で配送割引と併用をオン。配送オファー側で商品割引と併用をオン。
ストア全体のコードと自動の数量段階注文 + 商品コード側で商品割引と併用をオン。段階側で注文割引と併用をオン。
同じ商品へのクリアランス価格とストア全体の割合引き商品 + 商品Shopify Plus 以外では不可能です。両方のスイッチをオフのままにし、意図した価格を1つのオファーとして設計してください。

特定のオファーで併用を有効にするには?

各オファーには3つのスイッチがあります。商品割引と併用、注文割引と併用、配送割引と併用です。これらは Shopify が割引に保存する内容と1対1で対応するため、エディタの表示がそのままチェックアウトの動作になります。

スイッチはオファーごとで、自動的に対にはなりません。数量段階で「配送割引と併用」をオンにするのは段階側の意思表示にすぎず、配送オファー側も同じことを言う必要があります。双方が許可しなければならず、これが設定済みに見える併用が発火しない最大の理由です。

キャンペーンエディタの「併用」ステップの図。商品割引との併用がオン、注文割引との併用がオン、配送割引との併用がオフ。
キャンペーンエディター: キャンペーンウィザードの「Stacking」ステップにある3つの組み合わせスイッチ。

自動割引と割引コードは併用できますか?

できます。自動とコードはクラスではなく提供方法なので、判断するのは同じクラスのルールです。商品クラスの自動割引と注文クラスのコードは、双方が許可すれば組み合わさります。

これを前提にキャンペーンを組む前に、2つの上限を知っておく価値があります。チェックアウトは1注文につき商品または注文コードを最大5つ、加えて配送コードを1つまで受け付けます。また自動割引と同じクラスのコードは、ランディングページに何と書いてあっても加算されません。

同じクラスの2つのオファーが両方とも条件を満たしたらどうなりますか?

Shopify は顧客にとって価値の高いほうを残し、もう片方を捨てます。警告もエラーも、負けた割引の記録もありません。

この挙動こそ、併用の不具合を見つけにくく高くつくものにしています。ストアは健全に見え、注文も普通に見え、唯一の証拠は誰かが期待した1行が欠けたレシートだけです。あるキャンペーンが「一部のお客様で効かなかった」ことがあるなら、真っ先に確認すべきはここです。

割引が併用された注文は実際にどう見えますか?

6つの組み合わせで、マーチャントが実施することのほとんどを網羅できます。以下の各例では、関係するクラス、設定すべきスイッチ、そして実際のカートが最終的に支払う合計を示します。

  1. 例 1

    3点以上で15%オフ、さらに $150 以上で送料無料

    カートシミュレータの図。$180.00 のサンプルカートで、15% の商品割引が $27.00、送料無料が $9.00 を差し引き、チェックアウト合計は $153.00。
    設定

    コレクションに限定した商品クラスの数量段階で、配送割引と併用をオン。$150 をしきい値とする配送クラスの送料無料オファーで、商品割引と併用をオン。

    結果

    $180.00 のカートは $153.00 を支払います。商品から $27.00、送料 $9.00 が1件の注文でまとめて引かれます。

  2. 例 2

    送料無料も同時に解除する購入金額の目標

    カートの進捗バーの図。$15 オフまであと $12.00 と表示され、その下の $88.00 のカートでは $50 以上で $5 オフの段階がすでに小計を $83.00 にしている。
    設定

    $50.00 で $5 オフ、$100.00 で $15 オフという2段階を持つ注文クラスの購入金額の目標で、配送割引と併用をオン。配送オファー側は注文割引を許可します。

    結果

    $88.00 のカートは $5 の段階を取り、$15 の段階までの距離を示し、送料無料はそれを置き換えるのではなく上に重なります。

  3. 例 3

    送料無料のしきい値と並ぶ BOGO

    カートドロワーの図。対象となる3枚のシャツのうち最も安い1枚が $32.00 から $0.00 になり、BOGO適用のバッジが付き、小計は $156.00。
    設定

    繰り返しロジックを有効にした商品クラスの BOGO が配送割引と併用します。配送オファーは商品割引と併用します。

    結果

    対象となる最も安いシャツが $32.00 から $0.00 になり小計は $156.00 となり、その同じ注文が引き続き送料無料で発送されます。

  4. 例 4

    クリアランスとストア全体の注文コード

    チェックアウトの注文サマリーの図。積み上がった2行の割引 (マイナス $27.00 とマイナス $9.00) と、カートが示したものと同じ $153.00 の合計。
    設定

    クリアランスは商品割引のままで注文割引を許可します。ストア全体のコードは注文割引で商品割引を許可します。

    結果

    チェックアウトの注文サマリーに両方の行が表示され、顧客は合算後の合計を支払います。これが併用された注文が本来出すべきレシートです。

  5. 例 5

    併用してはいけない2つの商品割引

    段階エディタの図。3個から5個で15%オフ、6個から9個で18%オフ、10個以上で20%オフという3つの数量境界。
    設定

    両方のオファーを既定のままにします。どちらも許可しないため、同じクラスのまま橋渡しがない状態になります。

    結果

    チェックアウトは2つのうち必ず片方だけを適用し、両方は適用しません。本当に意図した価格は段階エディタで設計します。

  6. 例 6

    自動で始まり自動で終わる必要があるブラックフライデーの併用

    キャンペーン一覧の図。公開中のブラックフライデー、常時稼働の送料無料、予約済みのサイバーマンデーが並び、公開中のものには一時停止スイッチが付いている。
    設定

    両方のオファーがストアのタイムゾーンで開始日時と終了日時を持ち、併用スイッチも設定済みです。この組み合わせは予約され、深夜に手作業で公開されるものではありません。

    結果

    併用は予定どおりに始まり終わり、1つのスイッチでセール中でも設定を失わずに一時停止でき、予約された各期間はストアが保持できる25件の有効な自動割引に数えられます。

なぜカートページとチェックアウトで合計が違うのですか?

2つの数字を計算したものが違うからです。テーマの JavaScript が描いたカート合計は表示にすぎず、チェックアウトの合計は Shopify がサーバー側で計算したもので、請求されるのはそちらです。

カートページのスクリプトとして実装された割引は、構造上この問題を抱えます。顧客に $92.00 を見せて $110.00 のチェックアウトを渡すことがあり、顧客はそれを不当表示と受け取ります。Shopify Function として動く割引は Shopify のサーバーで一度だけ計算されるため、数字がひとつしかなく、どの画面も同じ数字を読みます。

チェックアウトの注文サマリーの図。積み上がった2行の割引 (マイナス $27.00 とマイナス $9.00) と、カートが示したものと同じ $153.00 の合計。
チェックアウトの注文概要: カートに表示されていたものと同じ重ねがけ割引の明細を表示。

併用した割引は Shop Pay、Apple Pay、Google Pay でも維持されますか?

割引がサーバー側で動いていれば維持されます。カートページに依存していれば維持されません。高速チェックアウトは商品ページから決済へ直行するため、テーマのコードがまったく実行されないからです。

これは Shopify の割引で最も検証されていない失敗パターンです。テストするマーチャントはほぼ必ず通常のチェックアウトボタンを押すからです。併用が利益率に関わるなら、キャンペーン公開前にエクスプレスウォレット経由でテスト注文を1件通してください。

同時にいくつの割引を動かせますか?

1つのストアで有効にできる Function ベースの自動割引は最大25件です。Shopify は2024年11月にこの上限を5件から引き上げました。

数えられるのは重なり合う有効期間であって、存在する件数ではありません。翌月に予約したキャンペーンは作成した時点でその期間を確保するため、対象期間のあいだ1枠を消費します。季節キャンペーンを1年先まで予約しているストアは、今日1件も稼働していなくても上限に達しえます。

自分のストアでどの割引が併用できるかを確認するには?

Shopify は割引エディタの「組み合わせ」セクションで、割引ごとに1件ずつ表示します。5件読むのに5分ほどで、いまストアが生み出せる併用がすべて分かります。

  1. Shopify 管理画面で「ディスカウント」を開き、公開中の割引をひとつ選びます。
  2. 割引エディタの「組み合わせ」セクションまでスクロールします。
  3. 3つのチェックボックスを読みます。商品割引、注文割引、配送割引です。チェックが入っていないものは、相手の割引が何と言おうとこの割引と併用できません。
  4. 組み合わせるもう一方の割引を開き、同じ3つのチェックボックスを読みます。双方が許可する必要があり、片方だけでは決して足りません。
  5. 2つの割引を1つのテストカートに入れて注文を完了し、レシートを読みます。注文サマリーには実際に適用されたすべての割引が並び、それが唯一の信頼できる情報源です。
  6. Shop Pay か Apple Pay でもテストを繰り返します。カートページの割引が消えるのはその画面です。

公開前に併用をテストするには?

気になるカートを、キャンペーンが有効になる前にシミュレータへ通し、結果を明細行ごとに読んでください。役に立つテストは割引が発火することではなく、正しいカートで発火し、誤ったカートでは発火しないことです。

両方向でテストしてください。条件を満たすはずのカートと、しきい値をわずかに下回るカートでは見つかる不具合が違い、静かに損失を出すのは後者です。そのうえで高速ウォレット経由の実注文を1件通してください。カートページが代弁できないのはその画面です。

カートシミュレータの図。$180.00 のサンプルカートで、15% の商品割引が $27.00、送料無料が $9.00 を差し引き、チェックアウト合計は $153.00。
カートシミュレーター: すべてのオファーが適用されたサンプルカートと、その結果としての組み合わせ後の合計。
活用例

こんな使い方ができます

シナリオ

あるスキンケアブランドは、「3点以上購入で15%オフ」に加えて送料無料も自動で適用したいと考えています。別途コードを入力させることなく実現したい、というケースです。

設定

スキンケアコレクションを対象範囲としたボリューム階層オファーを作成し、「配送割引と組み合わせる」をオンにします。同じ3点というしきい値の送料無料オファーを作成し、「商品割引と組み合わせる」をオンにします。

結果

3点のカートでは、商品合計が15%オフになり、チェックアウトでも送料無料が適用され、カートページの表示と完全に一致します。

シナリオ

常時有効な「2点購入で10%オフ」のボリューム階層に対して、BFCMの支出目標オファー($150以上の注文で$20オフ)を、大きなカートではさらに上乗せしたいというケースです。

設定

ボリュームオファーで「注文割引と組み合わせる」をオンにします。支出目標オファーで「商品割引と組み合わせる」をオンにします。

結果

条件を満たしたカートでは、1件の注文で両方の割引が合算されます。小さいカートでも自動適用の10%オフは引き続き受けられ、どちらのオファーも互いを妨げません。

シナリオ

クリアランスセール(40%オフ)とストア全体の注文割引(15%オフ)は、両方を適用すると一部商品が原価割れで販売されてしまうため、決して組み合わさってはいけません。

設定

両方のオファーで組み合わせスイッチをオフのままにします。オフが標準設定であり、明示的に許可しない限り、すべてのオファーは単独で動作します。

結果

チェックアウトでは常にどちらか一方のみが適用され、両方が重なることはありません。キャンペーンを公開する前に、シミュレーターでサンプルカートを使ってこの動作を確認できます。

よくある質問

よくある質問

Shopifyは標準で割引の重ねがけに対応していますか?

一定の範囲内でのみ対応しており、その設定は分かりにくい場所にあります。Shopifyは各割引が許可を設定していれば区分(商品、注文、配送)をまたいだ組み合わせが可能ですが、1つのカート行に適用される商品割引は1件のみです(同じ行に2件適用するのはShopify Plus限定の機能です)。Stackableは3つの組み合わせスイッチをすべてのオファーに搭載しているため、チェックアウトが実際に何をするのかを正確に確認し、コントロールできます。

重ねがけした割引はShop Pay、Apple Pay、Google Payでも機能しますか?

はい。すべての計算はチェックアウト時にShopify Function内で実行されるため、アクセラレーテッドチェックアウトも通常のチェックアウトページと同一の重ねがけ後の合計を算出します。

オファー同士が組み合わさらないようにできますか?

はい、それが標準設定です。すべての組み合わせスイッチは初期状態でオフになっているため、明示的に許可しない限り、オファーが他の割引区分に上乗せされることはありません。キャンペーンを公開する前に、シミュレーターでサンプルカートを使ってこの動作を確認できます。

実際のカートで何が重ねがけされるかをどう確認できますか?

公開前にカートシミュレーターを実行してください。どのオファーが発動し、どれが発動しなかったか、その理由とともに、チェックアウトで請求される正確な組み合わせ後の合計が表示されます。注文ごとに適用されたオファーを記録するレポート機能はロードマップに含まれています。

出典

Stackableをインストールして割引の重ねがけを始める

すべてのオファーは同じサーバーサイドエンジンで動作するため、どのように組み合わせてもチェックアウトの計算が正確に保たれます。

無料プランあり。クレジットカード登録不要。

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