2026/10/02

【徹底解説】Shopify アプリ「シンプル商品単価表示|お手軽単位価格表示」でできること

@ 信条刃

Shopify

【徹底解説】Shopify アプリ「シンプル商品単価表示|お手軽単位価格表示」でできること

シンプル商品単価表示|お手軽単位価格表示のメイン画像。市場ごとの単位で単価を表示するアプリ

スーパーの値札でおなじみの「100gあたり ¥298」。内容量の違う商品を並べて売るお店では、この単位価格があるだけでお客様の迷いがぐっと減ります。大容量のお得感も、少量パックの手頃さも、1つの物差しで比べられるからです。

ところが、海外にも商品を届けているネットショップでは、この当たり前の表示が急に難しくなります。日本のお客様は「100gあたり」、ドイツのお客様は「100 mlあたり」、アメリカのお客様は「1 ozあたり」で値段を比べ慣れています。Shopify にも単位価格の機能は標準で用意されていますが、どの市場に対しても同じ単位でしか表示できません。

この記事では、そのすき間を埋める Shopify アプリ「シンプル商品単価表示|お手軽単位価格表示」(英語名: UR: Smart Price Per Unit)を、管理画面の画面ごとにスクリーンショット付きで解説します。設定項目の意味と初期値、画面には書かれていない制約、コードで同じことをしようとした場合の手間、競合アプリとの違いまで、導入を検討するときに知りたいことを1本にまとめました。

国ごとに単位を切り替えて単価を表示するアプリの概要

このアプリがやることを一言でまとめると、「商品に入れた内容量から、市場ごとに決めた単位と基準量で単価を計算して、ストアフロントに表示する」ことです。ストアオーナーが入力するのは次の2つだけです。

  • バリエーションごとの内容量 … 500g、750ml、25m のように、好きな単位で入力します
  • 市場ごとの表示規則 … その市場のお客様に、どの単位・どの基準量で見せるかを決めます

あとはアプリが表示のたびに商品価格を内容量で割り、市場の規則に合わせて換算して表示します。750ml のオリーブオイルなら、アメリカ向けには「$0.95 / 1 fl oz」、カナダ向けには「$4.27 / 100 ml」のように、同じ商品が市場ごとに違う物差しで並びます。

日本語の掲載画像。販売する国ごとに見慣れた単位で単価を表示できることを伝える1枚目

そもそも単位価格とは

単位価格は、商品の価格を「一定量あたり」に直した値です。500g で 1,490円のコーヒー豆と 1kg で 2,680円のコーヒー豆を比べるとき、そのままでは「どちらが割安か」を暗算しなければなりません。「100gあたり ¥298」「100gあたり ¥268」と並べれば一目で分かります。

食品・飲料・洗剤・化粧品・糸や布のような量り売りに近い商品では、単位価格があるとお客様は安心して大容量を選べます。ヨーロッパの一部の国では法令で表示が求められる場面もあり、海外の EC サイトではごく当たり前に目にする表示です。

Shopify 標準の単位価格との違い

Shopify には無料の単位価格機能があり、商品編集画面で「単位価格」を入れると、Online Store 2.0 のテーマが商品ページやカートに自動で表示してくれます。単一市場で、ストアの単位系(メートル法かヤード・ポンド法か)と売りたい単位が一致しているなら、標準機能で十分な場合も多いです。

一方で、標準機能には次のような縛りがあります。

  • すべての市場で同じ単位しか表示できません(アメリカにだけ oz で見せる、ができません)
  • 使える単位がストア全体の単位系の設定に縛られます
  • 表示の並び(「価格が先」か「基準量が先」か)を選べません

このアプリは、まさにこの3点を解決するために作られています。逆に言えば、単一市場のストアで標準機能に不満が無いなら、無理に入れ替える必要はありません。どちらが合うかは、後半の「デメリット」と「競合アプリとの比較」で詳しく触れます。

導入するメリット

内容量は1回入れるだけで、市場ごとの換算はアプリ任せ

いちばん大きな利点は、入力が1回で済むことです。750ml と入れておけば、fl oz へも L へもアプリが表示のたびに換算します。市場ごとに内容量を入れ直す設計だと、市場が増えるたびに入力量が倍になり、片方だけ直し忘れて食い違う事故も起きます。このアプリは内容量を1つしか持たないので、そうした食い違いが原理的に起きません。

価格を変えても入れ直しが要らない

単価は保存しておく値ではなく、ページを表示するたびにそのときの商品価格から計算しています。セールで価格を下げた日も、為替で市場の価格が動いた日も、単位価格はそれに追随します。単価を別の項目に手で書き込む運用では、価格改定のたびに単価の書き換えが発生しますが、その作業がまるごと無くなります。

商品ページ・商品カード・カートの3か所に出せる

商品ページだけでなく、コレクションページの商品カードと、カートにも単位価格を並べられます。一覧の段階で割安さが分かると、お客様は商品ページを行ったり来たりせずに済みます。カートでは入れた商品の単価がまとめて表示されるので、買う直前の見直しにも役立ちます。

日本語の掲載画像。商品ページで商品名の上に単位あたりの価格が出ている様子

書式を「100gあたり ¥298」の並びにできる

表示の並びは「価格が先(例: ¥298 / 100ml)」と「基準量が先(例: 100mlあたり ¥298)」から選べます。日本のお客様には基準量が先の並びが馴染みやすく、英語圏では価格が先の並びが一般的です。「あたり」のような文言はお客様がストアを見ている言語に合わせて自動で切り替わります。

商品名からの下書きと一括編集で、初回入力が速い

商品名に「500g」「750ml」と書いているストアなら、その表記を読み取って内容量の下書きを作れます。複数商品を1画面に並べる一括編集もあるので、商品数が多くても初回の入力を短時間で終えられます。Shopify 標準の単位価格にすでに値を入れている場合は、そこから取り込むこともできます。

外部のデータベースを使わない

内容量はバリエーションのメタフィールドに、表示規則と表示設定はストアのメタフィールドに保存されます。表示はテーマ拡張の Liquid で行うので、アプリのサーバーが一時的に応答しなくても、ストアフロントの単位価格が消えることはありません。顧客データや注文データにも触れません。

デメリットと注意点

導入してから「思っていたのと違う」とならないよう、できないことも正直に並べます。

  • チェックアウトと注文確認メールには表示されません。 表示するのは商品ページ・商品カード・カートまでです
  • チェックアウトで初めて適用される割引は反映されません。 割引コードやカートの数量で決まる割引は、単価の計算に入りません
  • 商品カードに出るのは、全バリエーションが同じ価格の商品だけです。 価格に幅がある商品は、カードが最安値を出しているのか選択中の価格を出しているのかをアプリが確かめられないため、誤った単価を避けて何も出しません
  • Online Store 2.0 に対応したテーマが前提です。 Debut や Vintage テーマのような旧テーマでは、アプリブロックそのものを置けません
  • 商品カードへの設置は手作業です。 カードの中にブロックを置けるテーマかどうかもテーマ次第で、Shopify 標準テーマでは Horizon が対応しています
  • 独自に作り込んだテーマでは、バリエーションの切り替えに追随できないことがあります。 切り替えを検知する共通の仕組みが Shopify に無いためです
  • 法令への適合は判定しません。 EU の表示義務などへの対応が目的なら、表示範囲を含めてストア側での確認が必要です

単一市場で、ストアの単位系どおりの単位で見せられれば十分というストアなら、無料の標準機能のほうが手軽です。このアプリが本領を発揮するのは、複数の国に販売していて、国ごとに見慣れた単位で見せたいストア、あるいは日本向けに「100gあたり」の並びで見せたいストアです。

料金プラン

料金プランは1種類で、プランによる機能の制限はありません。

  • 月払い … 月額 $5.99
  • 年払い … 年額 $59.99(月払いより実質2か月分お得)
  • 無料体験 … インストールから7日間

商品数や市場数による追加料金もありません。無料体験の間にデモ用の商品で表示を確かめてから、本番の商品に広げていく進め方がおすすめです。最新の料金は Shopify App Store の掲載ページで確認できます。

インストール

インストールの手順

Shopify のアプリはどれも同じ流れで入れられます。

  1. Shopify 管理画面の左下にある「設定」を開きます。

Shopify 管理画面の左下にある設定メニューの位置

  1. 「アプリと販売チャネル」を開き、アプリストアへ進むボタンを押します。

設定のアプリと販売チャネルからアプリストアへ進む画面

  1. 検索窓に「UR: Smart Price Per Unit」と入れて検索し、アプリを開きます。

App Store の検索結果に UR: Smart Price Per Unit が表示されている画面

  1. アプリの詳細ページで「インストール」を押し、権限を確認して進めます。

アプリ詳細ページでインストールボタンが表示されている画面

求められる権限は、商品の読み書き(内容量をメタフィールドに保存するため)、マーケットの読み取り(市場の一覧を出すため)、テーマの読み取り(ブロックの設置状況を調べるため)の3種類です。料金プランを承認すると、アプリの管理画面が開きます。

表示が始まるまでにそろえる4つのこと

インストールしただけでは、ストアフロントには何も出ません。誤った単価をお客様に見せないよう、次の4つがすべてそろって初めて表示が始まる作りです。

  1. 商品に内容量を入れる
  2. 表示規則を決める(既定の表示規則だけでも構いません)
  3. テーマの商品ページにアプリブロックを置く
  4. 設定画面で「ストアフロントに単位価格を表示する」にチェックを入れて保存する

特に4つ目は初期状態でオフになっているので見落としがちです。どこまで進んでいるかは、アプリを開いたときに一番上に出るバナーが教えてくれます。

アプリ管理画面の構成

管理画面は、Shopify のサイドバーに並ぶ4つのメニューでできています。

  • 商品ごとの内容量 … 商品の一覧と、商品ごとのバリエーション編集
  • 内容量の一括編集 … 複数商品のバリエーションを1画面でまとめて入力
  • 市場ごとの表示規則 … 既定の規則と、市場ごとの規則
  • 設定 … テーマへの追加、表示の有効化、言語

管理画面を日本語で表示しているときは「よくある質問」も並びます。下の画像は、アプリを開いて最初に表示される「商品ごとの内容量」画面です。

サイドバーにアプリの4つのメニューが並び、商品ごとの内容量画面が開いている管理画面

各画面の説明

ここからが本題です。画面ごとに、何ができて、どの設定がどう効くのかを順に見ていきます。

商品ごとの内容量(商品一覧)

アプリを開くと最初に表示される画面です。上部に進み具合のバナー、その下に商品の一覧が並びます。右上の「一括編集」を押すと、後述の「内容量の一括編集」画面に移ります。

一覧の列は次の3つです。

  • 商品 … 商品画像と商品名。行をクリックすると、その商品のバリエーション編集画面が開きます
  • 内容量の設定状況 … 「設定済み」「未設定」「一部設定」のいずれかのバッジが付きます
  • バリエーション … 「内容量が入っている件数 / バリエーション数」で表示されます

「設定済み」はすべてのバリエーションに内容量がある状態、「未設定」は1件も無い状態、「一部設定」は一部だけ入っている状態です。サイズ違いのバリエーションを後から追加したとき、「一部設定」に変わるので入れ忘れに気づけます。

一覧の上の「商品名で検索」に商品名を入れ、入力欄の外をクリックすると絞り込まれます。Enter キーではなく、欄からフォーカスが外れたときに検索が走る点に注意してください。一覧は商品名の順に20商品ずつ表示され、下の「前へ」「次へ」でページを送ります。

画面には出てこない判定の細かい点として、設定状況は1商品あたり先頭15バリエーションまでを見て判定しています。バリエーションが16件以上ある商品は、すべて入力済みでも「設定済み」とは言い切らず「一部設定」と表示されます。

進み具合を知らせるバナー

一覧の上のバナーは、表示に必要な4つの準備のうち「最初に止まっている所」を1つだけ出します。

  • 「まず商品の内容量を設定してください」 … 内容量が1件も入っていません
  • 「市場ごとの表示規則が設定されていません」 … 既定の規則も市場の規則もありません
  • 「アプリブロックが公開中のテーマで見つかりません」 … 商品ページにブロックが見つかりません
  • 「ストアフロントへの表示が無効になっています」 … 表示のチェックがオフです
  • 「ストアフロントに単位価格を表示しています」 … すべてそろっています

上から順に片付けていけば、迷わず表示まで進めます。緑のバナーが出ていれば準備は完了です。表示されないときの原因探しも、まずこのバナーを見るところから始めるのが近道です。

バリエーションごとの内容量(商品の編集画面)

一覧の行をクリックすると、その商品のバリエーションが縦に並ぶ編集画面が開きます。各行に「数量」と「単位」の欄があり、入力して右下の「保存」を押すと確定します。

商品の編集画面。下書きのボタン2つと、バリエーションごとの数量と単位の入力欄、保存ボタン

「数量」には小数も入れられ、「1.5」でも「1,5」でも小数として読み取ります。「単位」の選択肢は量の種類ごとにまとまっています。

  • 重さ … g / mg / kg / oz / lb
  • 体積 … ml / cl / L / fl oz / pt / qt / gal
  • 長さ … mm / cm / m / in / ft / yd
  • 面積 … cm² / m² / ft²
  • 個数 … 個 / 本 / 枚 / 袋 / 食 / 回

入れた単位は、お客様に見せる単位とは関係ありません。「1.5 L」で入れても「1500 ml」で入れても、表示の結果は同じです。表示の単位は、後述の表示規則のほうで決まります。

保存まわりには、画面を見ているだけでは分からない決まりがいくつかあります。

  • 数量を空欄にして保存すると、そのバリエーションの内容量は未設定に戻ります。単位価格を出したくない商品は空欄にしておけば大丈夫です
  • 数量が0以下のとき、数量だけ入れて単位を選んでいないときは保存できず、欄の下に理由が出ます
  • 1商品で表示されるのは先頭100バリエーションまでで、それより多い商品では画面上部に注意が出ます
  • 保存は24件ずつまとめて送っていて、そのまとまりの中で1件でも弾かれると、同じまとまりの全件が保存されません(Shopify の仕様です)

保存に失敗したバリエーションがあると、赤い「保存できなかったバリエーションがあります」の欄に、バリエーション名と理由が並びます。一部失敗を「全部成功」として通知しない作りなので、見落としの心配はありません。

商品名から下書きを入れる

編集画面の上部にある「商品名から下書きを入れる(N件)」を押すと、商品名やバリエーション名に書かれた「500g」「750ml」などの表記を読み取って、数量と単位の欄に入れてくれます。

  • 押しただけでは保存されないので、入った値を目で確かめてから「保存」を押します
  • すでに値が入っている行は上書きしません。ボタンに出る件数は、実際に入力される件数です
  • バリエーション名に表記があればそちらを優先し、無ければ商品名から読み取ります
  • 「2 × 500ml」「500ml + 100ml」「10個入り」のような掛け算・セットの表記があるときは、1000ml と決めつけずに手入力に任せます

最後の決まりは地味ですが重要です。セット商品を自動で合計すると、1本あたりの単価が半分に見えるような誤表示につながります。候補が1つに決まるときだけ下書きを作る慎重な作りになっています。

Shopify 標準の単位価格から下書きを入れる

Shopify 標準の単位価格(商品編集画面の「単位価格」)にすでに内容量を入れていた場合は、「Shopify 標準の単位価格から下書きを入れる(N件)」でその値を取り込めます。

  • 対象は、標準の単位価格が入っていて、アプリ側の内容量がまだ空のバリエーションだけです
  • こちらも押しただけでは確定せず、「保存」で確定します
  • 取り込んでも、Shopify 標準の単位価格の側には一切書き戻しません
  • アプリで扱えない単位が入っているバリエーションは取り込まず、画面上部に理由付きで並びます

標準の単位価格が入っている商品では、画面上部に「この商品には Shopify 標準の単位価格が設定されています」というバナーも出ます。初期設定では標準の表示を優先するので、そのバリエーションではアプリの単位価格は表示されません。二重に表示されるのを防ぐためで、切り替え方は後述の設定画面で説明します。

内容量の一括編集

サイドバーの「内容量の一括編集」を開くと、複数商品のバリエーションが1つのフォームに並びます。行の左に小さい文字で商品名、右にバリエーション名が出て、それぞれに「数量」と「単位」を入れていきます。

内容量の一括編集画面。コットンリボン・オリーブオイル・シーソルトの数量と単位が並んでいる

使い方の流れは次のとおりです。

  1. 必要なら「商品名で検索」で対象を絞ります
  2. 各行に数量と単位を入れます。下書きの2つのボタンは、商品ごとの画面と同じように使えます
  3. 一番下の「保存」で、表示しているページの全行をまとめて保存します
  4. 「次へ」で次のページに進みます

1ページは10商品、各商品の先頭15バリエーションまでです。ページを移動すると保存していない入力は失われ、移動の前に警告は出ません。画面上部の案内のとおり、1ページずつ保存してから「次へ」を押す習慣にしておくと安全です。

日本語の掲載画像。複数商品の内容量をまとめて入力できる一括編集画面

新しく導入したときの初回入力は、この画面で「商品名から下書きを入れる」を押し、目で確認して「保存」、そして「次へ」と進めるのが最短です。

市場ごとの表示規則(既定の表示規則)

サイドバーの「市場ごとの表示規則」は、このアプリの中心となる画面です。上から「既定の表示規則」、続いて Shopify の「マーケット」に登録されている市場ごとのカードが並びます。

市場ごとの表示規則画面の上部。既定の表示規則と、メートル法とヤード・ポンド法をまとめて入れるボタン

既定の表示規則は、市場のカードに規則が無いときに使われる規則です。単一市場のストアでは、実質的にこの規則だけで運用することになります。ここが空のままだと単位価格は表示されないので、導入したらまず既定の表示規則を埋めて保存します。

カードの上部には2つの便利なボタンがあります。

  • メートル法をまとめて入れる … 重さ 100g・体積 100ml・長さ 1m・面積 1m²・個数 1 を一度に入れます
  • ヤード・ポンド法をまとめて入れる … 重さ 1oz・体積 1fl oz・長さ 1ft・面積 1ft²・個数 1 を一度に入れます

どちらも欄を埋めるだけで、保存は別に必要です。日本向けのストアなら「メートル法をまとめて入れる」を押して保存するだけで、「100gあたり」「100mlあたり」の規則ができあがります。

表示規則の項目(重さ・体積・長さ・面積・個数)

既定の表示規則と市場のカードは、どちらも同じ項目を持っています。量の種類ごとにチェックボックスがあり、その中に「表示単位」と「基準量」の欄が並びます。

カナダ市場のカード。重さは g の100、体積は ml の100、長さは m の1あたりで表示する設定

  • 重さ・体積・長さ・面積・個数のチェック … その量の種類の商品に単位価格を出すかどうかです。チェックを外した種類は規則から外れます
  • 表示単位 … 単価をどの単位で見せるかです。重さ・体積・長さ・面積にあり、選択肢は内容量の単位と同じです
  • 基準量 … どれだけの量あたりで見せるかの数値です。「100g あたり」なら 100 を入れます。0 より大きい数で、小数も入れられます

ここで押さえておきたいのは、規則が量の種類ごとに独立していることです。重さの商品と体積の商品を両方扱うストアで、体積にチェックが無いと、オイルやシャンプーのような体積の商品だけ何も表示されません。扱っている商品の量の種類には、すべてチェックを入れておきます。

個数は換算しません。「12本入り」はどの市場でも12本のままで、単位の文字は商品に設定した単位(本・袋など)をそのまま使います。そのため個数の規則には表示単位の欄が無く、基準量だけを決めます。

単位の細かい話も1つ。fl oz・pt・qt・gal は米国式の単位です(1 fl oz は約 29.57ml)。イギリス式の液量とは値が違うので、イギリス向けの市場で液量を見せたいときは ml や L を選ぶのが無難です。

書式と保存

規則の下のほうには「書式」の選択欄と「保存」ボタンがあります。

表示規則の下部。個数の基準量と、価格が先か基準量が先かを選ぶ書式、保存ボタン

書式は「価格が先(例: ¥298 / 100ml)」と「基準量が先(例: 100mlあたり ¥298)」の2択で、初期値は価格が先です。日本のお客様向けには基準量が先の並びが、スーパーの値札に近くて読みやすいでしょう。

金額の通貨記号や小数点の書き方は Shopify の通貨設定に従い、丸めは四捨五入の1通りです。桁数は通貨ごとに Shopify が決めます。「$0.004 / 1 ml」のように小さすぎて金額がゼロに丸まる場合は、ゼロ円を見せないよう表示しません。細かく見せたいときは、基準量を 1ml から 100ml のように大きくします。

保存にも決まりが2つあります。既定の表示規則は、すべてのチェックを外した状態では保存できず「入力内容を確認してください」と出ます。一方、市場のカードですべてのチェックを外して保存すると、その市場の規則は消えて既定の表示規則が使われるようになります。

市場のカード(United States と Canada)

既定の表示規則の下には、Shopify のマーケットに登録されている市場ごとのカードが並びます。カードには市場名と、次のバッジが付きます。

  • 「メイン市場」 … ストアの主要市場
  • 「無効」 … Shopify 側で無効になっている市場
  • 通貨コード … CAD や USD など

アメリカ市場のカード。メイン市場のバッジが付き、重さは oz、体積は fl oz、長さは ft の1あたりで表示する設定

カードの下には「この市場の言語」が表示されます。カナダの英語と仏語のように、1つの市場が複数の言語を持つ場合は、単位と基準量は市場ごと、「あたり」などの文言はお客様の言語ごとに切り替わる旨の案内が出ます。

日本語の掲載画像。カナダとアメリカの2つの市場カードを並べて、市場ごとに単位と基準量を設定できることを示す

市場のカードは「この市場だけ既定と違う見せ方をしたい」ときに埋めればよく、全部の市場を埋める必要はありません。市場のカードに一部の量の種類だけ規則を入れた場合、無い種類は既定の表示規則の同じ種類が使われます。表示できる市場は50件までで、マーケットが1つも無いストアでは「市場が見つかりませんでした」と出ますが、その場合も既定の表示規則だけで使えます。

アメリカ市場のカードの全体。重さ・体積・長さ・面積をそれぞれ1あたりで表示する設定

既定の表示規則と各カードは、それぞれの「保存」で個別に保存します。カナダのカードを編集したあとアメリカのカードの保存を押しても、カナダの変更は保存されないので注意してください。

設定(テーマに単位価格を追加)

サイドバーの「設定」を開くと、一番上に「テーマに単位価格を追加」のカードがあります。ここからテーマエディタを開いて、アプリブロックを置いていきます。

設定画面のテーマに単位価格を追加カード。テーマを選択の欄と、商品ページ・カートページ・商品カードの設置状況

  • テーマを選択 … ブロックを追加するテーマを選びます。初期値は公開中のテーマです
  • 商品ページに追加 … 新しいタブでテーマエディタが開き、既定の商品テンプレートにブロックが追加された状態になります。エディタ右上の保存で確定します
  • テーマをプレビュー … 選んだテーマの商品ページを新しいタブでプレビューします
  • カートページに追加 … カートテンプレートにブロックが追加された状態のテーマエディタが開きます
  • コレクションページのテーマエディタを開く … コレクションページのエディタを開くだけのボタンです。商品カードへの追加は自動化できないため、ここからは手で置きます

各見出しの横のバッジは、公開中のテーマにブロックが置かれているかを表し、「設置済み」か「未設置または検出できません」のどちらかになります。この判定は既定のテンプレートだけを見ているので、商品ごとに別のテンプレートを割り当てている場合は、置いてあっても未設置と出ることがあります。ストアフロントで表示されていれば問題ありません。

複数の商品テンプレートを使い分けているストアでは、「商品ページに追加」で入るのは既定のテンプレートだけです。ほかのテンプレートには、テーマエディタで同じブロックを追加してください。

設定(ストアフロントへの表示)

「テーマに単位価格を追加」の下にあるのが「ストアフロントへの表示」のカードです。ここで表示のオン・オフと、Shopify 標準の単位価格との優先順位を決めます。

設定画面のストアフロントへの表示カード。表示のチェック、標準の単位価格が設定されている商品での扱い、言語設定

「ストアフロントに単位価格を表示する」は、チェックを入れて保存するとストアフロントに単位価格が出始めるスイッチです。初期値はオフなので、内容量と表示規則を入れ、ブロックを置いてから有効にします。一時的に単位価格を隠したいときも、ブロックを消さずにここをオフにすれば済みます。

「Shopify 標準の単位価格が設定されている商品での扱い」は2択です。

  • Shopify 標準の単位価格を優先する(推奨) … 標準の単位価格が入っているバリエーションでは、アプリの単位価格を出しません。これが初期値です
  • このアプリの単位価格を優先する … 標準の単位価格が入っていても、アプリの単位価格を出します

標準の単位価格は Online Store 2.0 のテーマが自動で表示します。アプリ側を優先すると、テーマ側で標準の表示を止めない限り二重に表示されます。アプリがテーマの表示を勝手に消すことはありません。市場ごとに単位を変えたい商品は、標準の単位価格を空にしてアプリ側だけで管理するのがすっきりします。

設定(言語設定とそのほかの案内)

設定画面の下のほうには、2つの案内と言語設定が並びます。

  • 表示内容の責任について … アプリは入力された内容量と規則から計算して表示するだけで、各国の法令への適合は判定しない旨の案内です
  • 商品ページ以外にも単位価格を追加できます … テーマエディタで手動で追加すれば、商品ページ・商品カード・カート以外の場所にも置けるという案内です

「言語設定」では、「言語を選択」でアプリの管理画面の言語を選び、「変更する」を押すと切り替わります。管理画面は20言語に対応しています。この設定はブラウザに保存されるので、別のパソコンやブラウザで開いたときは改めて選びます。ストアフロントの表示言語には影響しません。画面の一番下には、同じ開発元のおすすめアプリが並びます。

テーマへの追加

アプリブロックは3種類あり、テーマエディタの「ブロックを追加」から「アプリ」タブを開くと並んでいます。

  • (商品ページ) … 商品ページの商品情報セクションに置きます
  • (商品カード) … コレクションページなどの商品カードの中に置きます
  • (カート) … カートページのセクションに置きます

テーマエディタのブロックを追加でアプリタブを開き、カート・商品カード・商品ページの3つのブロックが並んでいる画面

商品ページのブロックは、設定画面の「商品ページに追加」から入れるのがいちばん手早い方法です。ブロックは商品情報セクションの中でドラッグして動かせるので、価格の直上か直下に置くと、お客様が価格と見比べやすくなります。

商品カードのブロックは手作業で置きます。設定画面の「コレクションページのテーマエディタを開く」を押し、コレクションのセクションの中の商品カードで「ブロックを追加」から選びます。置いたら、ブロックの設定「商品」に動的なソースの「最も近い商品」を結びつけて保存します。

テーマエディタで商品カードのブロックを選び、商品の欄に最も近い商品を結びつけているところ

カートのブロックは、設定画面の「カートページに追加」で追加した状態のエディタが開きます。カートのセクションの中にブロックを移すと、カートの商品一覧と同じ枠の中に表示できます。

テーマエディタでカートのブロックを選び、カートセクションの中に置いているところ

どのブロックも、置いたあとにエディタ右上の「保存」を押すまでは確定しません。「商品ページに追加」でエディタを開いただけで閉じてしまうと、ブロックは置かれていない状態のままです。

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

3つのブロックは、どれも文字設定と追加設定を持っています。初期値がブロックごとに少しずつ違うので、ブロック別に整理します。

商品ページのブロックの設定

テーマエディタで商品ページのブロックを選び、文字の大きさ・文字の色・追加のCSSの設定が並んでいる画面

  • 文字の大きさ(初期値 14px) … 10〜24px を 1px 刻みで指定します
  • 文字の色(初期値 #6b7177) … 落ち着いたグレーで、価格より一段控えめに見える色です
  • 追加のCSS … ブロックだけに効く CSS を書けます。ブラウザの検証機能でクラス名を確かめて上書きします

商品ページでは、バリエーションを切り替えると表示する単位価格も切り替わります。追随するのは先頭50バリエーションまでです。税込み・税抜きは、テーマが表示している商品価格と同じ基準になるので、商品価格と単位価格の基準がずれることはありません。

商品カードのブロックの設定

  • 商品 … カードの中に置くときは、動的なソースから「最も近い商品」を選びます。選ばれていないと、商品ページ以外では表示されません
  • 文字の大きさ(初期値 12px) … カードは情報が詰まっているので、商品ページより小さめが初期値です
  • 文字の色(初期値 #6b7177) … 商品ページのブロックと同じグレーです
  • 追加のCSS … 商品ページのブロックと同じ使い方です

前述のとおり、カードに単位価格を出すのは全バリエーションが同じ価格の商品だけです。500g と 1kg で価格が違うコーヒー豆のような商品は、カードには出ず商品ページでだけ表示されます。

カートのブロックの設定

  • 文字の大きさ(初期値 13px) … 見出し・商品名・単価のすべてに効きます
  • 文字の色(初期値 #6b7177) … 見出し・商品名・単価の文字色です
  • 追加のCSS … ほかの2つのブロックと同じ使い方です

Shopify には、カートの各行の中にアプリブロックを差し込む仕組みがありません。そのため、このブロックはカートの中身を1か所にまとめて一覧で表示します。各行には商品名と、区別が必要なときはバリエーション名が添えられます。単位価格を出せない商品は一覧から省かれ、1つも出せないときはブロックごと表示されません。一覧に載るのはカートの先頭50行までです。

追加のCSS は、書いた内容がそのブロックの範囲だけに適用されます。安全のため「<」の文字は取り除かれるので、HTML タグを紛れ込ませることはできません。

ストアフロントでの表示例

設定がそろうと、ストアフロントでは次のように表示されます。まずは商品ページです。ブロックを置いた位置に単位価格が出ます。

商品ページで価格の上に1 fl ozあたりの単位価格が表示されている

日本語でストアを見ているお客様には、テーマのボタンなどと合わせて単位価格も日本語の書式で並びます。

日本語表示の商品ページ。コーヒー豆の商品名の上に1ozあたりの単位価格が出ている

コレクションページでは、商品カードごとに単位価格が並びます。

コレクションページの商品カードに1ftあたりや1fl ozあたりの単位価格が並んでいる

スマートフォンで見ても、カードの上に小さく単位価格が添えられます。

スマートフォンのコレクションページ。2列の商品カードそれぞれに単位価格が出ている

カートでは、見出しの下にカート内の商品の単価がまとめて表示されます。

カートページの下部に3商品の単価がまとめて表示されている

そして、このアプリの一番の見どころが市場ごとの切り替えです。同じ3商品を、アメリカ市場とカナダ市場で見比べてみます。

アメリカ市場のコレクション。リネン・ジュート・コットンが1ftあたりで表示されている

カナダ市場のコレクション。同じ3商品が1mあたりで表示されている

商品に入れた内容量はどちらも同じメートル単位の値です。アメリカのお客様には feet、カナダのお客様には meter と、市場の規則だけで見せ方が変わっています。通貨もそれぞれの市場の通貨で計算されます。

日本語の掲載画像。同じ商品をアメリカとカナダの市場ごとの単位で並べて比べた1枚

ご利用ガイドのために撮影したストアフロントでも、同じ切り替えを確かめられます。

アメリカ市場で2.74ドル毎フィートのように表示されているストアフロント

カナダ市場で同じ商品が1メートルあたりで表示されているストアフロント

こんなストアにはこの設定

日本国内だけで販売しているストア

「既定の表示規則」で「メートル法をまとめて入れる」を押し、書式を「基準量が先」に変えて保存します。これで「100gあたり ¥298」のおなじみの並びになります。市場のカードは空のままで構いません。単一市場のストアでも、並び順を日本式にできる点は標準機能には無い利点です。

日本とアメリカの両方に販売しているストア

既定の表示規則はメートル法で保存し、United States のカードで「ヤード・ポンド法をまとめて入れる」を押して保存します。アメリカのお客様には「$0.95 / 1 fl oz」、それ以外の市場には「100ml あたり」で表示されます。内容量は ml で1回入れるだけです。

ヨーロッパ向けに1kgや1Lあたりで見せたいストア

ヨーロッパでは 1kg・1L あたりで比べる習慣が根強くあります。ヨーロッパの市場のカードで、重さの表示単位を kg・基準量を 1、体積の表示単位を L・基準量を 1 にして保存します。書式を価格が先にすると「2,98 € / 1 L」の並びになります。

糸やリボンのように単価がとても小さい商品

1単位あたりの価格が小さいと、金額がゼロに丸まって表示されないことがあります。長さの基準量を 1m から 100m に上げると「¥50 / 100m」のように読みやすい金額になります。

コードで自作する場合

アプリを使わずに、テーマの Liquid を編集して単位価格を出すこともできます。どのくらいの手間になるのかを、3段階に分けて見てみます。

Shopify 標準の単位価格を Liquid で表示する

標準の単位価格を使うなら、多くの Online Store 2.0 テーマにはすでに表示のコードが入っています。自分で書く場合は、バリエーションの unit_price と unit_price_measurement を使います。次のコードは、単位価格が設定されているときだけ「$1.02 / 1oz」のような表示を出すものです。

{%- assign variant = product.selected_or_first_available_variant -%}
{%- if variant.unit_price_measurement -%}
  <p class="unit-price">
    {{ variant.unit_price | money }}
    /
    {%- if variant.unit_price_measurement.reference_value != 1 -%}
      {{ variant.unit_price_measurement.reference_value }}
    {%- endif -%}
    {{ variant.unit_price_measurement.reference_unit }}
  </p>
{%- endif -%}

基準量が 1 のときは数字を省き、100 のときだけ「100g」のように数字を出しています。短いコードですが、表示できるのはストアの単位系に合った単位だけで、市場ごとに単位を変えることはできません。標準機能の縛りが、そのままコードの縛りになります。

メタフィールドの内容量から自分で計算する

市場ごとに単位を変えたいなら、内容量を自分でメタフィールドに持ち、Liquid で割り算するしかありません。バリエーションに数値のメタフィールド(ここでは custom.content_ml)を作り、ml で内容量を入れておく前提の例です。

{%- assign variant = product.selected_or_first_available_variant -%}
{%- assign content_ml = variant.metafields.custom.content_ml.value -%}
{%- if content_ml and content_ml > 0 -%}
  {%- comment -%} variant.price は最小通貨単位(セント・円)の整数 {%- endcomment -%}
  {%- if localization.country.iso_code == "US" -%}
    {%- assign per = variant.price | times: 29.5735 | divided_by: content_ml | round -%}
    <p class="unit-price">{{ per | money }} / 1 fl oz</p>
  {%- else -%}
    {%- assign per = variant.price | times: 100.0 | divided_by: content_ml | round -%}
    <p class="unit-price">{{ per | money }} / 100 ml</p>
  {%- endif -%}
{%- endif -%}

アメリカのお客様には 1 fl oz(約 29.5735ml)あたり、それ以外には 100ml あたりで計算しています。times: 100.0 と小数を掛けているのは、整数どうしの割り算で端数が切り捨てられるのを防ぐためです。これで一応は市場ごとの切り替えができますが、実際に運用するには足りないものが山ほどあります。

  • 重さ・体積・長さ・面積ごとに、単位の換算表を Liquid の中に持つ必要があります
  • 市場や単位を増やすたびに、if の分岐をテーマに書き足すことになります
  • 価格がゼロに丸まったとき、内容量が不正なときに何も出さない守りを自分で書く必要があります
  • 日本円は小数を持たないなど、通貨ごとの桁の違いも考えなければなりません

バリエーションの切り替えに追随させる

Liquid はページを表示した瞬間の値しか出せないので、お客様がバリエーションを切り替えたときに単位価格を書き換えるには JavaScript が要ります。バリエーションごとの単価をあらかじめ JSON で埋め込み、URL の variant パラメータの変化を見て差し替える例です。

<script type="application/json" id="unit-prices">
  {
  {%- for v in product.variants -%}
    "{{ v.id }}": {{ v.metafields.custom.unit_price_label.value | json }}{% unless forloop.last %},{% endunless %}
  {%- endfor -%}
  }
</script>
<p class="unit-price" data-unit-price></p>
<script>
  (() => {
    const map = JSON.parse(document.getElementById("unit-prices").textContent);
    const el = document.querySelector("[data-unit-price]");
    const render = () => {
      const id = new URL(location.href).searchParams.get("variant");
      if (id && map[id]) el.textContent = map[id];
    };
    render();
    // テーマが URL を書き換えたときに追随する(テーマによっては別のイベントが要る)
    setInterval(render, 500);
  })();
</script>

URL を半秒ごとに見に行く素朴な作りですが、テーマによっては URL を書き換えずにバリエーションを切り替えるものもあり、そうしたテーマでは追随できません。Shopify にはバリエーションの切り替えを知らせる共通の仕組みが無いので、テーマごとにイベント名や DOM の構造を調べて書き分けることになります。

自作とアプリの比べどころ

ここまでのコードを実運用に耐える形にすると、換算表・通貨の桁・フェイルセーフ・切り替えの追随・商品カードとカートへの展開まで、テーマの中にかなりの量のコードを抱えることになります。テーマを乗り換えたり、テーマのアップデートを当てたりするたびに、そのコードを移植し直す手間も残ります。

月額 $5.99 のアプリなら、これらをテーマに手を入れずに使えて、市場や単位の追加も管理画面の操作だけで済みます。単一市場で標準の単位価格が合うなら1つ目のコードで足り、市場ごとに見せ方を変えたいならアプリ、という切り分けが現実的です。

競合アプリとの比較

単位価格を表示する Shopify アプリはほかにもあります。2026年9月25日時点のアプリストアの掲載情報をもとに、主なアプリを並べます。どのアプリも管理画面は英語で、日本語には翻訳されていません(UnitWise は英語とフランス語に対応)。

PricePanda ‑ Price Per Unit

PricePanda ‑ Price Per Unit の掲載画像。Tシャツの価格の下に1ポンドあたりの単価を出す例

AppStack が提供する、この分野では最も長く運営されているアプリの1つです。料金は月額 $15・$25・$35 の3段階で、無料プランと14日間の無料体験があります。評価 4.9(24件)。商品ページとコレクションページへの単価表示、1.5kg のような小数の内容量、全体のルールと商品ごとの個別設定を特徴に挙げています。市場ごとに単位を切り替える機能は、掲載情報には出てきません。

UnitWise

UnitWise の掲載画像。フェイスマスクやシャンプーの商品カードに1gや100mLあたりの単価が並ぶ例

Chicko Digital のアプリで、月額 $14.99 の単一プラン、7日間の無料体験です。評価 5(2件)。単価と内容量の表示、配置の柔軟さを打ち出しています。英語とフランス語の管理画面を持つのが特徴です。

ClearUnit · Price Per Unit

ClearUnit · Price Per Unit の掲載画像。床材の商品に1平方メートルあたりの単価と必要量の計算欄を出す例

Apps-Alchemy が2026年5月に公開した新しいアプリです。料金は月額 $6.99 と $14.99 で、無料プランと7日間の無料体験があります。レビューはまだありません。24種類の単位、単価ラベルと色のカスタマイズ、お客様が必要な量を入れると合計金額が変わる数量計算機を特徴にしています。単価の表示は商品ページが対象と書かれています。

PriUnit : Price Per Unit

PriUnit : Price Per Unit の掲載画像。コインとドル記号のロゴにアプリ名を添えた1枚

The Meno Lab のアプリで、月額 $9.99、7日間の無料体験です。重さ・体積・長さで量り売りする、つまりバリエーションを作らずに好きな量を買ってもらうことを主目的にしたアプリで、単価の表示はその一部という位置づけです。

IzyUnit: Price Per Unit

IzyUnit: Price Per Unit の掲載画像。紫の背景にはかりのアイコンを描いた1枚

SPEAZ のアプリで、月額 $24.99 です。評価 3.7(5件)。こちらもお客様が必要な量を選んで買える量り売りの仕組みが中心で、商品とのリンクをワンクリックで切り替えられる点を打ち出しています。

選び方のポイント

並べてみると、単位価格アプリは大きく2つの系統に分かれます。

  • 量り売りの系統(PriUnit・IzyUnit) … 任意の量を買ってもらう仕組みが本体です。単価表示だけが目的なら、機能が大きすぎる場合があります
  • 表示の系統(PricePanda・UnitWise・ClearUnit・このアプリ) … 単価をきれいに見せることが本体です

表示の系統の中で比べると、市場ごとに違う単位と基準量で見せられること、書式を「基準量が先」の日本式にできること、管理画面が日本語を含む20言語に対応していることが、このアプリの持ち味です。商品カードとカートへの表示にも対応しています。月額 $5.99 という料金も、表示の系統の中では手に取りやすい価格帯です。

一方で、量り売りをしたい、お客様に数量計算機を使ってもらいたいといった目的なら、このアプリは向きません。「どの国のお客様にも、見慣れた単位で割安さを伝えたい」という目的がはっきりしているストアに合うアプリです。

まとめ

「シンプル商品単価表示|お手軽単位価格表示」は、内容量を1回入れるだけで、市場ごとに見慣れた単位と基準量で単価を見せられる Shopify アプリです。Shopify 標準の単位価格が苦手とする「国ごとの物差しの違い」を、表示規則という1つの画面に集約しています。

  • 内容量はバリエーションごとに1つだけ。換算は表示のたびにアプリが行います
  • 市場ごとに表示単位・基準量・書式を決められ、既定の規則へのフォールバックもあります
  • 商品ページ・商品カード・カートの3か所に表示でき、文字の大きさや色も調整できます
  • 商品名からの下書き、標準の単位価格からの取り込み、一括編集で初回入力を短縮できます
  • 誤った単価を出さないための守り(価格に幅があるカードは出さない、ゼロに丸まる単価は出さない)が組み込まれています

海外にも商品を届けている食品・日用品・化粧品のストアはもちろん、日本向けに「100gあたり」の並びで単価を見せたいストアにも役立ちます。7日間の無料体験で、まずは数商品から表示を試してみてください。

Shopify App Store で「シンプル商品単価表示|お手軽単位価格表示」の掲載ページを開けます。

おすすめ Shopify アプリ

同じ開発元(UnReact)から、単位価格と組み合わせやすいアプリを紹介します。

UR: Allergen & Nutrition Facts

バリエーションごとの栄養成分とアレルギー情報を商品ページに表示するアプリです。食品を扱うストアで、単位価格と合わせて商品ページの情報を充実させたいときに向いています。

https://apps.shopify.com/ur-allergen-nutrition-facts?locale=jahttps://apps.shopify.com/ur-allergen-nutrition-facts?locale=ja

シンプル商品仕様比較|お手軽スペック比較テーブル

商品ページに仕様の比較テーブルを追加して、商品選びを助けるアプリです。容量違いの商品を並べて比べてもらうときに、単位価格と相性が良い組み合わせです。

https://apps.shopify.com/sa-191-ur-comparison-table?locale=jahttps://apps.shopify.com/sa-191-ur-comparison-table?locale=ja

シンプル在庫数一覧表|お手軽バリエーション在庫一覧

各バリエーションの在庫を一覧表で表示するアプリです。サイズ違いのバリエーションが多い商品で、どの容量がまだ買えるのかを一目で伝えられます。

https://apps.shopify.com/sa-076-ur-stock-table-app?locale=jahttps://apps.shopify.com/sa-076-ur-stock-table-app?locale=ja

シンプル商品バッジ|お手軽アイコンラベル表示

商品にバッジを付けて目立たせるアプリで、コードを書かずにスタイルを自由に調整できます。「大容量でお得」のようなバッジと単位価格を並べると、割安さがより伝わります。

https://apps.shopify.com/ur-smart-product-badge?locale=jahttps://apps.shopify.com/ur-smart-product-badge?locale=ja

© 2021 powerd by UnReact