2026/10/10

【徹底解説】Shopify アプリ「シンプル2点目購入割引|2点目以降自動セール設定」でできること

@ 信条刃

Shopify

【徹底解説】Shopify アプリ「シンプル2点目購入割引|2点目以降自動セール設定」でできること

「2本目は半額」「3点以上で 3点目から 500 円引き」。実店舗では当たり前の値付けなのに、Shopify で同じことをやろうとすると意外に手間がかかります。標準のディスカウントは「○点以上買ったら全部を○%引き」は得意でも、「2点目の 1 点だけ」「安いほうだけ」を狙って割り引くのは苦手だからです。

この記事では、UnReact が開発した Shopify アプリ「シンプル2点目購入割引|2点目以降自動セール設定」を、管理画面の全画面とテーマエディタの全設定項目まで、実際の画面を撮りながら 1 つずつ解説します。設定の意味だけでなく、画面を見ているだけでは気づけない動き(コレクションの扱い、点数の数え方、割引が止まる条件)も、アプリの実装から拾って書いています。

導入を検討している方は「メリット」「デメリット」「料金プラン」まで、すでに使っている方は「各画面の説明」から読み進めてください。

シンプル2点目購入割引のメイン画像。商品ページの割引バッジと割引対象商品の一覧

シンプル2点目購入割引|2点目以降自動セール設定とは

「シンプル2点目購入割引|2点目以降自動セール設定」は、同じ割引グループの商品を複数買ったお客様に、2点目以降の割引を自動でかけるアプリです。割引は Shopify の「ディスカウント」の仕組みの上で動くため、お客様はクーポンコードを入れる必要がありません。条件を満たしてカートに入れた瞬間に、カートと決済画面の金額が下がります。

アプリでできることは大きく 3 つです。

  • 割引設定を作る … 対象の商品・コレクション、何点目から割り引くか、割引率か定額か、高い商品と安い商品のどちらを割り引くかを決めます
  • 割引バッジを置く … 商品ページに「2点目 30%OFF」のようなバッジを出し、割引があることをお客様に知らせます
  • 割引対象の商品一覧を置く … 同じ割引の他の商品を商品ページに並べ、組み合わせ買いを促します

Shopify App Store の掲載ページでは、割引設定の作成画面と、商品ページでの見え方が紹介されています。

割引設定の作成画面を紹介する掲載画像

商品ページに表示された割引バッジの掲載画像

アプリの公開ページは Shopify App Store から開けます。操作の手順だけを短く確認したい方は、公式のご利用ガイド「Shopify で2点目以降の購入を自動割引できるアプリを徹底解説|ご利用ガイド」もあわせてご覧ください。

シンプル2点目購入割引|2点目以降自動セール設定のメリット

クーポンコードを配らなくても割引が効く

割引は Shopify の自動割引として動きます。メールマガジンや SNS でコードを配る必要がなく、商品ページを見たお客様がそのまま割引を受けられます。「コードを入れ忘れたので返金してほしい」という問い合わせも起きません。

「何点目から」「どれを割り引くか」を細かく決められる

適用条件は「2点目のみ」「3点目以降」のように、点数と範囲を組み合わせて決めます。さらに、カートに値段の違う商品が混ざったとき、高い商品と安い商品のどちらを割り引くかも選べます。標準のディスカウントでは作りにくい、実店舗そのままの値付けを再現できます。

商品ページで割引に気づいてもらえる

割引がかかっていても、お客様が知らなければ「もう 1 点」は起きません。割引バッジと割引対象の商品一覧を商品ページに置けるので、商品を見た瞬間に「2点目がお得」と伝わります。一覧には「カートに追加」ボタンも付けられ、別の商品をそのままカートへ足してもらえます。

割引対象の商品を一覧で表示した商品ページの掲載画像

海外のお客様にも同じ割引が届く

定額の割引額はストアの通貨で入れますが、別の通貨で買い物をしているお客様には、その通貨に換算した金額で割り引かれます。バッジの「2点目」という文言も、英語のストアでは「2nd item」のようにストアの言語に合わせて切り替わります。

シンプル2点目購入割引|2点目以降自動セール設定のデメリット

1 つの商品は 1 つの割引設定にしか入れない

同じ商品を「2点目 10%OFF」と「3点目以降 20%OFF」の両方に入れて、段階的に割引を強くする使い方はできません。別の割引設定で同じ商品を選んで保存すると、商品は新しい設定へ移動します。段階割引を作りたい場合は、数量割引に特化したアプリのほうが向いています。

コレクションは保存した時点の中身で固定される

コレクションを選んで割引設定を作ると、保存した時点でコレクションの商品が 1 件ずつ割引設定に取り込まれます。あとからコレクションに新商品を足しても、その商品は自動では割引の対象になりません。新商品を出すたびに、割引設定を開いて保存し直す運用が必要です。

バッジと一覧はテーマごとに置き直しが必要

割引の中身はアプリ側に保存されますが、バッジと一覧のブロックはテーマの設定として保存されます。テーマを切り替えたときは、新しいテーマにブロックを置き直してください。

料金プラン

  • Basic Plan … 月額 $9.99、または年額 $99.99(月額払いより 17% お得)
  • 無料体験 … インストールから 7 日間

プランは 1 つだけで、割引設定の件数や対象商品の数による追加料金はありません。7 日間の無料体験のあいだに、実際のカートで割引が効くところまで確かめられます。

インストール

Shopify 管理画面の左下にある「設定」から「アプリと販売チャネル」を開き、「Shopify App Store」でアプリ名を検索してインストールします。権限の確認画面で内容を確認して「インストール」を押せば完了です。

インストールしただけでは、まだどの商品にも割引はかかっていません。最初にやることは次の 4 つです。

  1. アプリを開く(このとき、Shopify のディスカウントに自動割引が 1 件作られます)
  2. 「割引設定を追加」から割引設定を 1 件作る(ここでカートの割引が効き始めます)
  3. 「設定」画面からテーマエディタを開き、割引バッジと商品一覧を置いて保存する
  4. 割引対象の商品ページで、バッジ・一覧・カートの割引を確かめる

アプリ管理画面の構成

アプリを開くと、左メニューに「2点目割引管理」「設定」が並びます。管理画面を日本語で表示しているときは「よくある質問」も出ます。

アプリを開いた直後の2点目割引管理の画面。左メニューに2点目割引管理と設定

画面は全部で 5 つあり、次のように行き来します。

  • 2点目割引管理 … 割引設定の一覧。アプリを開いたときの最初の画面
  • 割引設定作成 … 一覧の右上「割引設定を追加」から開く
  • 割引設定編集 … 一覧の行をクリックして開く
  • 設定 … 左メニューから開く。テーマへのブロック追加と言語の切り替え
  • よくある質問 … 左メニューから開く(日本語表示のときだけ)

各画面の説明

2点目割引管理

作った割引設定が 1 行ずつ並ぶ画面です。列は 5 つあります。

  • 設定名 … 管理用の名前。お客様には見えません
  • ラベル … カートと決済画面でお客様に表示される割引名
  • タイプ … 「割引率」なら青、「定額」なら緑のバッジで表示されます
  • 割引値 … 「30%」のような割引率、または「10」のようなストア通貨での金額
  • 商品数 … その設定に入っている商品の件数

割引設定が 1 件も無いうちは、一覧の代わりに「割引設定を作成しましょう」という案内と「割引設定を追加」ボタンが表示されます。

行の右端にあるゴミ箱のアイコンを押すと「割引設定を削除しますか?」という確認が開き、「削除する」で削除、「キャンセル」で取りやめになります。

ゴミ箱アイコンを押したときの割引設定を削除しますかの確認

削除すると、その設定に入っていた商品の割引はすぐに解除されます。確認の文面にあるとおり元には戻せないので、キャンペーンを終えるときは、どの商品が入っていたかを控えてから消すと安心です。

一覧の下には、UnReact の他のアプリを紹介する「おすすめアプリ」が出ます。右上の × で閉じられます。

割引設定作成:対象の商品とコレクション

一覧の右上にある「割引設定を追加」を押すと、「割引設定作成」が開きます。上から「割引を設定する商品を選択」「割引を設定するコレクションを選択」「適用条件」「割引適用対象」「割引設定」の 5 枚のカードが並びます。

割引設定作成の上部。商品の検索欄、コレクションを追加、適用条件、割引適用対象

商品は、「割引を設定する商品を選択」の「商品を検索する」欄をクリックして選びます。Shopify おなじみの「商品を追加」の画面が開くので、チェックを入れて「追加」を押します。

商品を検索するをクリックすると開く商品を追加の選択画面

選んだ商品は「2件の商品が選択されています」のように件数付きで並び、右端の × で外せます。

2件の商品が選択された状態。商品名とサムネイルが並ぶ

コレクションは「割引を設定するコレクションを選択」の「コレクションを追加」から選びます。選択画面には、コレクションごとの商品数も表示されます。

コレクションを追加の選択画面。各コレクションの商品数が見える

選んだコレクションはタグとして並びます。商品とコレクションは同時に選べ、両方に入っている商品は 1 件として数えられます。

選んだコレクションがタグで表示された割引設定作成の画面

ここで押さえておきたいのが、コレクションの扱いです。アプリは保存のタイミングでコレクションの中身を調べ、商品を 1 件ずつ割引設定に取り込みます。つまり割引設定が覚えているのは「コレクション」ではなく「保存した時点の商品」です。保存後にコレクションへ追加した商品には割引がかからないので、新商品を足したら割引設定を開いて保存し直してください。

割引設定作成:適用条件と割引適用対象

「適用条件」では、何点目から割り引くかを数字で入れ、その右の「のみ」「以降」で範囲を決めます。

  • 点目(初期値 2)… 2 以上の整数で入れます。1 や小数を入れると「2以上の整数を入力してください」と表示されます
  • のみ(初期値)… 指定の点数に届いたとき、1 点だけを割り引きます
  • 以降 … 指定の点数から先を、すべて割り引きます

「割引適用対象」では、どの商品を割引の対象にするかを選びます。

  • 最も高い商品(初期値)… 単価の高い商品から順に割引の対象にします
  • 最も安い商品 … 単価の安い商品から順に割引の対象にします

適用条件で以降、割引適用対象で最も安い商品を選び、商品未選択のエラーが出ている状態

点数の数え方には、画面からは読み取れない決まりがあります。

  • 点数は、同じ割引設定に入っている商品の合計で数えます。A と B が同じ設定に入っていれば、「A を 1 点 + B を 1 点」でも 2 点です
  • 違う割引設定の商品どうしは合算しません
  • 「2点目 のみ」の場合、4 点買っても割引になるのは 1 点だけです。2点目、4点目と 2 点ごとに割り引く動きではありません
  • 「2点目 以降」の場合、4 点買うと 3 点が割引になります。割引になる点数は「合計点数 − 指定の点数 + 1」です

たとえば「2点目 以降 / 最も安い商品」で $100 の商品 1 点と $60 の商品 2 点を買うと、合計 3 点のうち 2 点が割引の対象になり、安い $60 の 2 点が割り引かれます。「最も高い商品」にしていれば、$100 の 1 点と $60 の 1 点が対象です。

割引設定作成:割引設定と保存

最後の「割引設定」カードで、名前と割引額を決めます。

割引設定カード。設定名、割引のラベル、割引率と定額の切り替え

  • 設定名(必須・50 文字まで)… 画面の説明どおり「管理画面で識別するための名前です。」。お客様には出ません
  • 割引のラベル(必須・50 文字まで)… 「設定したラベルは、決済画面で顧客に表示されます。」とあるとおり、カートと決済画面に出る割引名です
  • 割引率 / 定額(初期値は割引率)… 割引率は 0〜100 の整数、定額は 1 点あたりの値引き額をストアの通貨で入れます(小数は 2 桁まで、全体で 8 文字まで)

「定額」に切り替えると、入力欄の下に「割引額はストアの通貨で入力してください。」と出ます。

定額を選ぶと割引額はストアの通貨で入力してくださいと表示される

設定名にまとめ買い、ラベルに2点目以降500円OFF、定額500を入れた状態

割引値の初期値は 0 です。0 のまま保存すると、割引設定としては残るものの割引は効かず、バッジも出ません。保存前に値が入っているかを必ず見てください。

右下の「保存する」で保存し、一覧に戻ります。入力が足りないときは、項目ごとに赤いエラーが出て保存されません。

  • 商品もコレクションも選んでいない … 「商品またはコレクションを選択してください」
  • 設定名が空 … 「設定名を入力してください」
  • ラベルが空 … 「割引ラベルを入力してください」
  • 割引値の形が正しくない … 「有効な数値を入力してください」

空欄のまま保存して設定名と割引ラベルにエラーが出た状態

割引設定作成:他の割引設定と商品が重なったとき

選んだ商品が別の割引設定にすでに入っていると、保存の前に「他の割引設定に含まれる商品があります」という確認が出ます。商品だけを選んだ場合は「○件の商品が他の割引設定に紐づいています。」と件数も表示されます。

コレクションを選んだ場合は、重なりがあるかどうかに関係なく毎回この確認が出ます。コレクションの中身は保存のときに初めて分かるためです。

コレクションを選んで保存したときの他の割引設定に含まれる商品がありますの確認

「上書き保存」を押すと、重なっていた商品は元の設定から外れて、いま作っている設定へ移ります。元の設定の「商品数」もその分だけ減ります。

割引設定編集

一覧の行をクリックすると「割引設定編集」が開きます。中身は作成画面と同じで、いまの設定が入った状態で表示されます。

割引設定編集の画面。選択中の商品が5件並ぶ

コレクションで作った割引設定も、編集画面では展開済みの商品の一覧として表示されます。商品の × を押して保存すれば、その商品の割引はその場で外れます。

画面の下には、赤い「削除する」と「保存する」が並びます。「削除する」は一覧のゴミ箱と同じ動きです。

割引設定編集の下部。削除するボタンと保存するボタン

設定

左メニューの「設定」には、「テーマに機能を追加」と「言語設定」の 2 枚のカードがあります。

設定画面。テーマを選択、割引バッジを追加、商品一覧を追加、テーマをプレビュー、言語設定

「テーマに機能を追加」の項目とボタンは次のとおりです。

  • テーマを選択 … 追加先のテーマ。初期値は公開中のテーマで、名前の後ろに「(公開中のテーマ)」と付きます
  • 割引バッジを追加 … テーマエディタを新しいタブで開き、割引バッジのブロックを追加します。開くページは指定していないので、ホームページで開いた場合は上部の切り替えで商品ページに移ってから置きます
  • 商品一覧を追加 … テーマエディタを商品ページで開き、割引対象の商品一覧のブロックを追加します
  • テーマをプレビュー … 選んだテーマのプレビューを開きます

どちらの追加ボタンも、テーマエディタ右上の「保存」を押すまではテーマに反映されません。日本語表示のときはカードの下に、自動追加がうまくいかない場合はご利用ガイドを見て手動で追加してほしい、という注意が出ます。テーマのバージョンによっては自動追加が効かないため、その場合はテーマエディタの「ブロックを追加」から「アプリ」を選んで置いてください。

「言語設定」では、「言語を選択」でアプリ管理画面の言語を選び、「変更する」で切り替えます。選べるのは Čeština / Dansk / Deutsch / English / Español / Français / Italiano / Nederlands / Norsk (bokmål) / Polski / Português (Brasil) / Português (Portugal) / Suomi / Svenska / Türkçe / ภาษาไทย / 日本語 / 简体中文 / 繁體中文 / 한국어 の 20 言語です。変わるのは管理画面だけで、ストアのバッジの文言はストアの言語で決まります。

よくある質問

管理画面を日本語で表示しているときだけ、左メニューに「よくある質問」が出ます。質問の行を押すと、回答が開きます。

アプリ内のよくある質問の画面

Shopify のディスカウントに作られる自動割引

アプリの画面ではありませんが、2点目割引の心臓部なので、あわせて見ておきます。アプリを開くと、Shopify 管理画面の「ディスカウント」に自動割引が 1 件作られます。

Shopify のディスカウント一覧。シンプル2点目購入割引の自動割引がアクティブ

  • 方法は「自動」、タイプは「discount-function」
  • 商品割引・注文割引・送料割引のいずれとも組み合わせられる設定で作られます
  • アプリで作った割引設定は、すべてこの 1 件の自動割引がまとめて計算します

この自動割引を消したり無効にしたりすると、すべての 2点目割引が止まります。誤って消した場合は、アプリを開き直すと自動で作り直されます。

テーマへの追加

テーマエディタで置けるブロックは 2 つです。

  • 割引バッジ|シンプル2点目購入割引 … どのページにも置けるバッジ
  • 割引対象の商品一覧|シンプル2点目購入割引 … 商品ページ専用の一覧

テーマエディタの商品ページ。価格の上に割引バッジ、購入ボタンの下に割引対象の商品一覧

どちらも、割引設定に入っていない商品のページでは何も出ません。商品ページのテンプレートに一度置けば、割引設定に入れた商品のページにだけ自動で現れます。商品ごとにブロックを置き分ける必要はありません。

ストアフロントの見た目を変える

割引バッジの文言

プレビューでバッジをクリックすると、左に設定パネルが開きます。前半は「何を表示するか」の設定です。

割引バッジの設定パネル前半。商品、バッジテキスト、割引率と定額割引の単位テキスト

  • 商品(初期値は最も近い商品)… 初期値の「最も近い 商品 / 商品情報から」のままなら、置いた商品ページの商品を表示します。ホームページや特集ページに置くときは、ここで商品を指定します
  • バッジテキスト(初期値 [count] [discount_number][discount_unit])… バッジの文言です。記号の部分が割引設定の内容に置き換わります
  • 割引率の単位テキスト(初期値 %OFF)… 割引率の設定のときに付く単位
  • 定額割引の単位テキスト(初期値 OFF)… 定額の設定のときに付く単位

バッジテキストに書ける記号は 4 つあります。

  • [count] … 「2点目」「3点目」。「以降」の設定なら「2点目以降」になり、英語のストアでは「2nd item」と出ます
  • [discount_number] … 「30」「$10」のような数値
  • [discount_unit] … 上の単位テキスト
  • [discount_value] … 数値と単位をつなげたもの

記号以外の文字はそのまま出るので、まとめ買いで[count] [discount_value] と書けば「まとめ買いで2点目 30%OFF」になります。

割引バッジのサイズ・色・余白

パネルの後半は見た目の設定です。

割引バッジの設定パネル後半。文字サイズ、文字の色、背景色、テキスト配置、余白、追加の CSS

  • 文字サイズ(初期値 14px、10〜24px)… バッジ全体の文字の大きさ
  • 数値の文字サイズ(初期値 20px、10〜40px)… 「30」の部分だけを大きくできます
  • 単位の文字サイズ(初期値 14px、10〜24px)… 「%OFF」の部分の大きさ
  • 文字の色(初期値 #FFFFFF)
  • 背景色(初期値 #242424)
  • テキスト配置(初期値は左揃え)… 左揃え・中央揃え・右揃え
  • 上部余白 / 下部余白(初期値 8px、0〜40px)
  • 追加の CSS … 角丸や枠線など、項目に無い調整を CSS で足せます

商品一覧のレイアウト

割引対象の商品一覧は、「レイアウト」「スタイル」「間隔」の 3 グループに分かれています。まずレイアウトです。

割引対象の商品一覧のレイアウト設定。見出しテキスト、表示モード、列数、価格とボタンの表示

  • 見出しテキスト(初期値は空欄)… 空欄なら見出しは出ません
  • 表示モード(初期値はスクロール)… 「スクロール」は横に流れる一覧、「ページネーション」は矢印でページを送る一覧
  • 列数(スクロール)(初期値 4、1〜8)/ スマホ時の列数(スクロール)(初期値 2、1〜4)… スクロールのときだけ出ます
  • 列数(ページネーション)(初期値 4、1〜8)/ 行数(ページネーション)(初期値 1、1〜4)/ スマホ時の列数(ページネーション)(初期値 2、1〜4)… ページネーションのときだけ出ます。1 ページの件数は列数 × 行数です
  • 価格を表示(初期値オン)
  • カートに追加ボタンを表示(初期値オン)
  • カートに追加ボタンのテキスト(初期値「カートに追加」)… ボタンを表示するときだけ出ます

表示モードを「ページネーション」に変えると、列数と行数の項目が入れ替わります。

表示モードをページネーションに切り替えた状態。列数と行数のページネーション用の項目

一覧に並ぶ商品には決まりがあります。いま開いている商品自身と、売り切れの商品は出ません。並べる商品が 1 件も残らないときは、ブロックごと非表示になります。また、一覧のもとになる商品は 1 つの割引設定につき最大 100 件までです。

商品一覧のスタイル

スタイルのグループでは、見出し・カード・画像・文字・ボタンの見た目を決めます。

スタイル設定の前半。見出しの色、見出しの文字サイズ、カードの背景と角丸と枠線、画像の表示方法

  • 見出しの色(初期値 #1A1A1A)/ 見出しの文字サイズ(初期値 18px、12〜28px)
  • カードの背景(初期値 #FFFFFF)/ カードの角丸(初期値 8px、0〜20px)
  • カードの枠線の太さ(初期値 0px、0〜3px)/ カードの枠線の色(初期値 #E0E0E0)… 太さが 0 のあいだは枠線の色は効きません
  • 画像の表示方法(初期値はカバー)… 「カバー(トリミングして埋める)」は枠いっぱいに広げて端を切り、「コンテイン(全体を表示)」は画像全体を収めます
  • 画像の比率(初期値は画像に合わせる)… 画像に合わせる・1:1・3:4・4:3・2:3・3:2 から選べます。商品画像の縦横比がそろっていないストアは 1:1 に固定するとカードの高さがそろいます

スタイル設定の中盤。画像の角丸と背景色と内側余白、商品名と価格の色と文字サイズ

  • 画像の角丸(初期値 8px、0〜20px)
  • 画像の背景色(初期値 #F5F5F5)… コンテインや内側余白で見える部分の色
  • 画像枠の内側余白(初期値 0px、0〜24px、2px 刻み)
  • 商品名の色(初期値 #1A1A1A)/ 商品名の文字サイズ(初期値 13px、10〜20px)
  • 価格の色(初期値 #1A1A1A)/ 価格の文字サイズ(初期値 14px、10〜20px)… 価格を表示するときだけ出ます

スタイル設定のボタン部分。ボタンの背景、文字色、文字サイズ

  • ボタンの背景(初期値 #1A1A1A)/ ボタンの文字色(初期値 #FFFFFF)/ ボタンの文字サイズ(初期値 12px、10〜18px)… カートに追加ボタンを表示するときだけ出ます

ページネーションのときは、さらにナビゲーションの項目が加わります。

ページネーションのときだけ出るナビボタンとインジケーターの設定

  • ナビボタンの背景(初期値 #FFFFFF)/ ナビボタンの枠線(初期値 #CCCCCC)/ ナビボタンの矢印(初期値 #1A1A1A)
  • インジケーターの色(初期値 #666666)… 「1 / 3」のようなページ番号の色
  • ナビボタンのサイズ(初期値 36px、28〜48px、2px 刻み)
  • インジケーターの文字サイズ(初期値 14px、12〜22px)

商品一覧の間隔

最後のグループは余白です。数字を少し動かすだけで、一覧の詰まり具合が大きく変わります。

間隔の設定。上部余白、下部余白、商品一覧の上、カード間、カードとコンテンツの内側余白

  • 上部余白 / 下部余白(初期値 16px、0〜60px)… ブロック全体の上下
  • 商品一覧の上(初期値 12px、0〜40px)… 見出しとカードのあいだ
  • カード間(横)(初期値 12px、0〜32px、2px 刻み)
  • カード間(縦)(初期値 12px、0〜32px、2px 刻み)… ページネーションのときだけ出ます
  • カードの内側余白(初期値 0px、0〜24px、2px 刻み)… カードに背景や枠線を付けたときに入れると整います
  • コンテンツの内側余白(初期値 4px、0〜24px、2px 刻み)… 商品名から下の左右の余白

間隔の設定の後半。商品名の上、価格の上、ボタンの上、ボタン内余白、追加の CSS

  • 商品名の上(初期値 8px、0〜24px)
  • 価格の上(初期値 2px、0〜24px)… 価格を表示するときだけ出ます
  • ボタンの上(初期値 8px、0〜24px)/ ボタン内余白(横)(初期値 8px、0〜24px、2px 刻み)/ ボタン内余白(縦)(初期値 8px、0〜16px)… ボタンを表示するときだけ出ます
  • ナビゲーションの上(初期値 16px、0〜32px)… ページネーションのときだけ出ます
  • 追加の CSS … 一覧に独自の CSS を足せます

カートでの割引の見え方

最後に、お客様側でどう見えるかです。「2点目 のみ 30%」の設定で同じ商品を 2 点カートに入れると、2 点目の行に割引のラベルが付き、$749.95 → $524.97 のように値引き後の金額が並びます。決済画面でも同じラベルで割引が表示されます。

カートで2点目の行に30%OFFのラベルが付き、749.95ドルが524.97ドルに値引きされた状態

割引はブロックの有無とは関係なく効きます。バッジと一覧を置く前でも、割引設定さえ保存してあればカートでは割り引かれます。

コードで自作する場合

アプリを使わずに 2点目割引を作る場合、やることは「割引の計算」と「商品ページの表示」の 2 つに分かれます。前者は Liquid やテーマの JavaScript では作れません。カートの金額を変えられるのは Shopify 側の仕組みだけだからです。

割引の計算は Shopify Functions で書く

カートの割引を自作するには、Shopify Functions の割引用の関数を作り、アプリとしてストアに入れる必要があります。次は「同じ商品を 2 点以上入れたら、1 点を 30% 引く」だけを行う、最小の例です。

// カートの行を見て、数量 2 以上の行に 1 点ぶんの割引候補を出す
export function run(input) {
  const candidates = input.cart.lines
    .filter((line) => line.quantity >= 2)
    .map((line) => ({
      message: '2点目30%OFF',
      targets: [{ cartLine: { id: line.id, quantity: 1 } }],
      value: { percentage: { value: 30 } },
    }));

  if (candidates.length === 0) return { operations: [] };

  return {
    operations: [
      { productDiscountsAdd: { candidates, selectionStrategy: 'ALL' } },
    ],
  };
}

この関数は、数量が 2 以上の行を探し、その行のうち 1 点にだけ 30% の割引をかけます。targets の quantity: 1 が「1 点だけ」の指定です。

ただし、これだけでは実店舗の 2点目割引にはなりません。違う商品を 1 点ずつ買ったときに合算する処理、高い商品と安い商品のどちらを割り引くかの並べ替え、定額のときの通貨換算、商品ごとに違う割引率を持たせるためのメタフィールドの読み書き、関数を有効にするための自動割引の作成まで、すべて自分で作る必要があります。さらに Shopify Functions はアプリとしてデプロイするものなので、開発用のアプリ環境とその保守も必要です。

商品ページのバッジは Liquid で書ける

表示のほうは Liquid で作れます。商品のメタフィールドに割引率を入れておき、値があるときだけバッジを出す例です。

{%- assign rate = product.metafields.custom.second_item_rate -%}
{%- if rate != blank and rate > 0 -%}
  <p class="second-item-badge">2点目 {{ rate }}%OFF</p>
{%- endif -%}

このコードは、商品メタフィールド custom.second_item_rate に数値が入っている商品にだけ「2点目 ○%OFF」を出します。表示と計算が別々のデータを見ているため、割引率を変えるときは関数側とメタフィールド側の両方を直さないと、バッジと実際の割引額がずれます。

アプリなら、管理画面で割引設定を保存した時点で、計算に使う設定とバッジに出す設定が同じデータから書き込まれます。表示と割引がずれる心配が無いことが、自作との一番の違いです。

数量割引アプリとの使い分けと併用のしかた

Shopify App Store には、数量に応じて割り引くアプリがほかにもあります。たとえば Discounty: Bulk Discount Sales、パンパーバンドルの数量割引、Discount Mixer: 一括割引、Discount Plus – カスタム割引 などです。ここでは料金や機能の比べ方ではなく、すでに別の割引アプリを入れているストアが、このアプリをどう組み合わせるかに絞って書きます。

「何点目を割り引くか」を決めたいときにこのアプリを使う

数量割引アプリの多くは「○点以上で全部を○%引き」のように、数量のしきい値で割引を段階的に強くする考え方です。このアプリは「何点目の何点を割り引くか」を決める考え方なので、同じ「まとめ買い」でも値付けの見え方が違います。

  • 「1点目は定価のまま、2点目だけお得」を見せたい … このアプリ
  • 「たくさん買うほど全部が安くなる」を見せたい … 数量割引アプリ

同じ商品に 2 つのアプリの割引を重ねない

このアプリの自動割引は、商品割引・注文割引・送料割引のすべてと組み合わせられる設定で作られます。一方、実際に重ねて適用されるかどうかは、相手の割引の「組み合わせ」の設定でも決まります。同じ商品に両方のアプリの割引がかかる設計にすると、想定より大きく値引きされたり、どちらか一方しか効かなかったりと、結果が読みにくくなります。

併用するときは、次の手順で商品を分けておくのが安全です。

  1. どの商品をどちらのアプリで割り引くかを決め、商品を分けます
  2. このアプリの割引設定には、こちらで扱う商品だけを入れます。コレクションで選ぶ場合は、もう一方のアプリの対象が混ざらないコレクションを使います
  3. Shopify 管理画面の「ディスカウント」で、両方の割引がアクティブかを確認します
  4. 両方の対象商品を混ぜてカートに入れ、それぞれの行に期待した割引だけが付いているかを確かめます

送料無料や注文全体のクーポンとは組み合わせやすい

商品ごとの割引どうしを重ねるのに比べ、「○円以上で送料無料」や注文全体のクーポンとの併用は分かりやすく働きます。2点目割引で点数を増やしてもらい、送料無料ラインで最後のひと押しをする、という組み合わせは相性のよい使い方です。この場合も、相手の割引側で商品割引との組み合わせが許可されているかを確認してください。

まとめ

「シンプル2点目購入割引|2点目以降自動セール設定」は、実店舗でおなじみの「2点目割引」を、クーポンコードなしで Shopify に持ち込むアプリです。

  • 「2点目のみ」「3点目以降」と、高い商品・安い商品のどちらを割り引くかを組み合わせて決められます
  • 割引率と定額に対応し、別の通貨のお客様にも換算した金額で割り引きます
  • 割引バッジと割引対象の商品一覧で、商品ページの段階から「もう 1 点」を後押しできます

一方で、1 つの商品は 1 つの割引設定にしか入れないこと、コレクションは保存した時点の中身で固定されることは、運用の前に知っておきたい点です。新商品を出したら割引設定を保存し直す、という手順をキャンペーンの段取りに組み込んでおけば、迷わずに使えます。

料金は月額 $9.99(年額 $99.99)で、7 日間の無料体験があります。まずは 1 つの商品で割引設定を作り、カートで 2 点目が割り引かれるところまで試してみてください。

シンプル2点目購入割引で割引設定を一覧管理する画面の掲載画像

おすすめ Shopify アプリ

2点目割引と組み合わせると効果が高い、UnReact の Shopify アプリを紹介します。

シンプル割引率表示|お手軽値引き率・ディスカウント表示

商品の値引き率を、商品ページや商品一覧に分かりやすく表示するアプリです。セール価格の商品で「何%お得か」を見せたいときに、2点目割引のバッジとあわせて使えます。

シンプル割引率表示|お手軽値引き率・ディスカウント表示

シンプルカート追加時ポップアップクロスセルアプリ

商品をカートに入れたタイミングで、別の商品をポップアップで提案するアプリです。1 点目をカートに入れた直後に同じ割引設定の商品を見せれば、2 点目の後押しになります。

シンプルカート追加時ポップアップクロスセルアプリ

シンプル追従カート|追従購入ボタン(Buy Button)

画面をスクロールしても購入ボタンが付いてくるアプリです。商品ページで割引対象の一覧まで読み進めたお客様が、そのまま購入へ進めます。

シンプル追従カート|追従購入ボタン(Buy Button)

© 2021 powerd by UnReact