AIでクーポンの案内文を作るときは、「10%OFF」だけでなく、対象商品、条件に数える金額、期間の境界、端数処理を先に固定します。文章が短くても、対象外の商品や送料まで条件金額へ足すと、読者が期待する割引と実際の設定がずれます。
この記事では、架空のキャンペーン条件から、案内文と6件の確認例を作ります。実店舗のクーポン作成、決済、広告配信は行いません。税額や最終支払額、売上効果を検証した例でもありません。
目次
何に対する割引かを先に分ける
Shopifyの公式説明は、商品、注文、送料の割引を分けています。また、商品を対象とした割引では、選択した商品などだけが最低購入額へ寄与し、送料と税は最低購入額へ含まれないと説明しています。注文割引の最低購入条件には別の説明があるため、商品向けの条件をすべての割引へ一般化しません。Shopify:金額・割合の割引(新しいタブで開く)、割引の組合せ(新しいタブで開く)
今回の例は、対象商品の商品金額だけを基準にした単独の割引案です。Shopifyのチェックアウトを再現したものではありません。次の条件を独自に決めたうえで、文案と計算を照合します。
表は横にスクロールできます
| 条件 | 架空の指定 |
|---|---|
| 対象 | 商品A・B。その他の商品は対象外 |
| 条件金額 | A・Bの税抜商品金額の合計が5,000円以上 |
| 割引 | A・Bの税抜商品金額の合計から10%を引く |
| 端数 | 割引額の1円未満を切り捨てる |
| 期間 | 2026年11月4日9:00以上、11月6日18:00未満、日本時間 |
| 今回の計算範囲 | 他の割引がない注文。送料・税額の計算は対象外 |
税抜価格を基準にすることも、この例の指定です。実際の表示価格や割引設定と一致するかを確認する前に、顧客向けの完成条件として流用しません。併用、対象者、利用回数、適用チャネルなどは、実案件で確認する別の条件です。
案内文は、対象と条件を一続きで伝える
上の条件だけから作る、確認用の文案は次のとおりです。入力や購入に使える実クーポンコードは発行していません。
対象商品A・Bの税抜商品金額が合計5,000円以上の場合、対象商品の税抜商品金額から10%OFF。対象外商品、送料、税額は条件金額へ含めません。割引額の1円未満は切り捨てます。対象期間は2026年11月4日9:00から11月6日18:00直前まで(日本時間)です。
これは条件照合用の草案です。「店内全品10%OFF」「合計5,000円なら送料込みでも適用」「11月6日中なら使える」と短縮すると、元条件が変わります。短い告知欄には対象・条件・期限を残し、詳細条件を読者が購入前に確認できる場所へ置く計画にします。リンク先や実ページは今回作っていません。
「最大」「全員」「何度でも」「自動で最安」など、条件表にない約束も加えません。税や送料を含む最終支払額の表示には別の計算が必要なので、この草案と商品金額だけで支払額を確定しないでください。
境界と、対象外商品の混在を確認する
すべて日本時間で、対象金額と対象外金額は税抜の商品金額です。他の割引はないという設定です。
表は横にスクロールできます
| 例 | 日時 | 対象金額 | 対象外金額 | この割引案の結果 |
|---|---|---|---|---|
| C01 | 11月4日8:59 | 5,000円 | 0円 | 開始前。適用しない |
| C02 | 11月4日9:00 | 5,000円 | 0円 | 適用。割引500円、対象商品の割引後4,500円 |
| C03 | 11月5日12:00 | 4,999円 | 1,000円 | 最低金額未満。適用しない |
| C04 | 11月5日12:00 | 5,000円 | 1,000円 | 適用。割引500円、全商品の割引後5,500円 |
| C05 | 11月6日17:59 | 5,555円 | 0円 | 適用。割引555円、対象商品の割引後5,000円 |
| C06 | 11月6日18:00 | 5,000円 | 0円 | 終了時刻。適用しない |
C03は全商品なら5,999円ですが、条件に数える対象商品は4,999円です。送料が別に500円あっても、対象商品の最低金額を満たす値へ足しません。
C04は対象商品から500円引き、対象外1,000円はそのままなので、全商品の税抜金額は4,500+1,000=5,500円です。全商品6,000円へ10%を掛けて600円引きにはしません。5,500円は送料・税を含む支払総額ではありません。
C05は5,555×10%=555.5円を、例の条件で555円へ切り捨てています。四捨五入で556円にした結果や、各商品・各明細で別々に丸める方法とは同じにならない場合があります。実際のECシステムの配賦や端数処理は別に確認します。
掲載例を整数計算と別方式で検算する
次のPythonは、固定した6件の案を計算します。端数を含む割引額は、非負の整数円に対する10%の切捨てとして、対象金額を10で割った商を使います。
from datetime import datetime, timezone, timedelta
jst = timezone(timedelta(hours=9))
start = datetime(2026, 11, 4, 9, tzinfo=jst)
end = datetime(2026, 11, 6, 18, tzinfo=jst)
cases = [
("C01", "2026-11-04T08:59:00+09:00", 5000, 0, "OUTSIDE", 0, 5000),
("C02", "2026-11-04T09:00:00+09:00", 5000, 0, "APPLY", 500, 4500),
("C03", "2026-11-05T12:00:00+09:00", 4999, 1000, "BELOW_MIN", 0, 5999),
("C04", "2026-11-05T12:00:00+09:00", 5000, 1000, "APPLY", 500, 5500),
("C05", "2026-11-06T17:59:00+09:00", 5555, 0, "APPLY", 555, 5000),
("C06", "2026-11-06T18:00:00+09:00", 5000, 0, "OUTSIDE", 0, 5000),
]
for case_id, when, eligible, other, want, discount, goods_after in cases:
at = datetime.fromisoformat(when)
if not start <= at < end:
status, amount = "OUTSIDE", 0
elif eligible < 5000:
status, amount = "BELOW_MIN", 0
else:
status, amount = "APPLY", eligible // 10
assert (status, amount, eligible + other - amount) == (want, discount, goods_after), case_id
print("6 fixed cases passed; shipping and tax not calculated")
掲載例をローカルで実行し、独立した小数計算でも割引額500円・500円・555円、対象外商品を含むC04の5,500円を照合しました。日時の開始を含み終了を含まない境界も確認しています。
これは実注文の入力検査ではありません。負数、通貨違い、返品、セット価格、数量ごとの割引配賦、利用履歴、併用を処理するものでもありません。6件の一致を、クーポン全機能の適合確認へ広げないでください。
併用条件を、文案だけで決めない
Shopifyの公式説明では、割引を組み合わせるには双方の設定が関係し、商品・注文・送料などの区分によって扱いが異なります。併用できない割引から有利な割引を選ぶ動作の説明もあるため、「併用不可なら割引は一切適用されない」と一般化しません。
今回の6件は他の割引なしという限定例です。実案件で別の割引があるなら、設定、適用順、対象金額、案内文、購入時の結果を別ケースで確認します。文案に「併用可」または「併用不可」と書いただけで、システム設定まで一致したとは扱いません。
AIへは、条件表と案内文の対応を返させる
架空の割引条件表から、案内文と確認表を作ってください。
対象はA・Bの税抜商品金額、最低5,000円、割引10%、割引額は1円未満切捨てです。
期間は2026年11月4日9:00以上、11月6日18:00未満、日本時間です。
他の割引がない注文だけを今回の計算対象にします。
対象外商品、送料、税を条件金額へ足さず、支払総額を計算したと書かないでください。
C01~C06の適用可否、根拠、割引額、商品金額の割引後を対応づけてください。
併用や利用回数など未指定の条件を補完せず、確認質問へ残してください。
クーポン作成、価格設定変更、配信、注文は行いません。
依頼と文案は手製で、AIの実行結果ではありません。担当者が実際の設定と案内文を照合し、税・送料・端数・併用・利用条件を含む実環境の確認を終えるまでは、草案を公開条件の確定版へ変えないでください。
参考資料
公式資料の確認日:2026年10月20日。キャンペーン、金額、期間、端数条件、6ケース、案内文は独自の架空例です。掲載コードと独立した金額・境界計算をローカルで検査しました。実店舗、AI処理、クーポン設定、決済、税・送料計算、併用、配信、売上効果、画面表示は未検証です。
