記事のサマリー(TL;DR)
- Discount Context Input に
marketsオプションが追加され、地域・リテール・B2B拠点単位で割引の対象を指定可能に - Basic・BXGY・App・Free Shippingの全割引タイプ(自動・コードベース両方)が対象
- マーケット指定と顧客セグメント指定は同時使用不可。API 2026-07未満では該当割引がフィルタアウトされる
Shopify Plus B2B・多通貨運用事業者が押さえるべき変更点
これまで Shopify の割引設定は「全顧客」「顧客セグメント」「特定顧客」という軸でしか絞り込めず、地域市場や B2B 拠点ごとの価格施策をコード管理やアプリ側ロジックで補う必要がありました。今回の変更により、Admin GraphQL API 上でマーケット単位の割引ターゲティングが標準化されます。
日本国内では「国内向け JPY 価格と海外向け USD 価格で異なるセール率を設定したい」「B2B 取引先ロケーションに限定した割引コードを発行したい」といった要件が多く、これまでカスタムアプリや Function で対応していたケースがある構成で、標準 API での実装に移行できる可能性があります。ただし、マーケット指定と顧客セグメント指定は排他的(同時指定不可)な点と、API バージョン 2026-07 以降が必須な点は実装前に確認が必要です。
詳細
マーケット別割引ターゲティングとは
Shopify は Discount Context Input に markets を新たなオプションとして追加しました。これにより、地域マーケット(Regional market)、リテールロケーション(Retail location)、B2B 企業ロケーション(B2B company location)を割引の適用対象として指定できるようになりました。
既存の適用対象オプションである all・customerSegments・customers と組み合わせて使用できます。
対応する割引タイプ
以下のすべての割引タイプでマーケット指定が利用可能です。
- Basic 割引(自動・コードベース)
- BXGY(Buy X Get Y)割引(自動・コードベース)
- App 割引(自動・コードベース)
- Free Shipping 割引(自動・コードベース)
主な機能
| 機能 | 内容 |
|---|---|
| 割引へのマーケット指定 | 割引の作成・更新時に Discount Context Input の markets を使用 |
| マーケット別割引一覧の取得 | Market オブジェクトの discounts および discountsCount フィールドをクエリ |
| マーケット条件でのフィルタリング | context:market または market_ids を discountNodes で使用 |
注意事項
- マーケットタイプ間での割引継承なし:例えば地域マーケットから B2B やリテールへは自動継承されない
- サブマーケットへの自動適用:地域マーケットに割引を設定すると、同タイプのサブマーケットへは自動適用される(例:「North America」に設定すると「Canada」にも適用)
- 適用対象の排他性:マーケット指定と顧客セグメント指定は同時に使用不可
- API バージョン制限:2026-07 より前の API バージョンでは、マーケット指定が付いた割引はノードクエリおよび ID 指定クエリの両方でフィルタアウトされる
詳細は Admin GraphQL API ドキュメント を参照してください。