# 商品価格の動的な変更について

**URL:** <https://community.shopify.com/t/topic/137665>\
**Category:** 技術的なQ＆A\
**Created:** [July 25, 2022, 7:57am UTC](https://community.shopify.com/t/topic/137665 "2022-07-25T07:57:57Z")\
**Posts on this page:** 4\
**Page:** 1

## AI-generated summary

Shopify移行に際し、会員ランクや時間帯などの条件で商品単価を動的に変えられるかが論点。特に「受注ごと（顧客ごと）に単価変更」が可能かを確認。

・APIでの価格更新：Shopify Admin API（productUpdate）で商品価格の更新自体は可能。時間帯など全顧客に対する一律変更は実現可能。ただし、商品価格はグローバル値のため、同時刻に顧客別の価格表示は不可。

・Shopifyの概念上の制約：標準で「会員ランク」概念はなし。代替は顧客セグメント（お客様セグメント）やポイント/ロイヤリティアプリのTier連携。

・提案された代替案：
1) ディスカウント機能（クーポン/自動割引）で条件に応じてカート段階で調整。
2) 会員ランク別の商品バリエーションを用意し、該当バリエーションのみ購入可能にする（在庫管理が複雑）。
3) アクセス時に顧客属性を見てAPIでバリエーションを動的生成し価格設定（実装ハードル高）。

・最新状況：質問者が会員ランク対応アプリを検証し、商品価格は据え置きでカートのラインアイテムにディスカウントを適用する方式が有効と確認。ディスカウントベースでの実現に手応え。ただし実装コストは別途検討課題。

・結論状況：方向性は見えたが最終決定は未了。質問の核心（受注ごとの単価そのもの変更）は困難、割引での代替が現実的。

<div class="post-metadata">

**Author:** ![knaka](https://avatars.discourse-cdn.com/v4/letter/k/f19dbf/32.png) [@knaka](https://community.shopify.com/u/knaka)\
**Post date:** [July 25, 2022, 7:57am UTC](https://community.shopify.com/t/topic/137665/1 "2022-07-25T07:57:57Z")

</div>

お世話になります。

現在既存のECサイトをShopifyに移行するための調査を行っています。

現行のサイトでは商品に対して会員ランクや時間帯などいった複数の条件で商品単価を変更しており、Shopifyの既存アプリでは対応しきれないと認識しています。

そのためアプリ開発を行う予定なのですが、Shopifyの仕様として受注ごとに商品の単価を変更することは可能なのでしょうか？

条件に合わせ合計金額に対して割引やクーポンという情報は多く出てくるのですが、商品単価の動的な変更という情報を見つけることが出来なかったので情報をいただけましたら幸いです。

---

<div class="post-metadata">

**Author:** ![Qcoltd](https://yyz1.discourse-cdn.com/shopifyforum/user_avatar/community.shopify.com/qcoltd/32/900_2.png) [@Qcoltd](https://community.shopify.com/u/Qcoltd)\
**Post date:** [July 26, 2022, 10:42am UTC](https://community.shopify.com/t/topic/137665/2 "2022-07-26T10:42:45Z")

</div>

見当違いな回答でしたら申し訳ございません。

> そのためアプリ開発を行う予定なのですが、Shopifyの仕様として受注ごとに商品の単価を変更することは可能なのでしょうか？

「受注」という表現を使われているので、少し迷いますが、

商品の価格を、条件に応じて自動的に(動的に)変更することが可能か？

というご質問と理解して回答いたします。

可能かと思われます。

Shopifyが用意しているShopify Admin APIで、商品情報の変更が可能だからです。

[https://shopify.dev/api/admin-graphql/2021-10/mutations/productUpdate](https://shopify.dev/api/admin-graphql/2021-10/mutations/productUpdate)

また、

条件に応じて、商品情報を動的に変更するアプリもリリースされているようですので、

やはり可能なように思われます。

[https://apps.shopify.com/prisync-for-shopify?locale=ja](https://apps.shopify.com/prisync-for-shopify?locale=ja)

[https://apps.shopify.com/dyna-pricing?locale=ja](https://apps.shopify.com/dyna-pricing?locale=ja)

※どちらのアプリも、手動で条件を設定し、その条件に応じて価格を自動的に変更することが可能なアプリに見えました。(と言っても、私自身はインストールしていないので確信を持って発言しているわけではありません)

しかし、会員ランクを条件にするのは、少し大変そうですね。

なぜなら、Shopify自体には会員ランクという概念がないからです。

顧客セグメンテーション機能(お客様セグメント)と連携させるか、

[https://help.shopify.com/ja/manual/customers/customer-segmentation/customer-segments](https://help.shopify.com/ja/manual/customers/customer-segmentation/customer-segments)

ポイントアプリにたいてい付属しているTierと連携させるか、

が必要になるかもしれませんね。

見当違いな回答でしたら申し訳ございません。

(キュー田辺)

---

<div class="post-metadata">

**Author:** ![Qcoltd](https://yyz1.discourse-cdn.com/shopifyforum/user_avatar/community.shopify.com/qcoltd/32/900_2.png) [@Qcoltd](https://community.shopify.com/u/Qcoltd)\
**Post date:** [July 27, 2022, 1:23am UTC](https://community.shopify.com/t/topic/137665/3 "2022-07-27T01:23:18Z")

</div>

申し訳ございません、

問題の本質を勘違いしておりました。

私がお伝えした方法ですと、

商品価格そのものを変更するので、

時間帯ごとに商品の価格を変更することは可能でも、

会員ランクなど「顧客ごとに異なる商品価格を表示する」ことはできないですね。

顧客によって商品価格を変更する方法として思いつくのは3つです。

1. 質問者様も言及されているクーポンや割引などのShopifyのディスカウント機能を利用する。
2. 最初から会員ランクごとの商品バリエーションを準備し、顧客の条件にあった商品バリエーションしか購入できないようにする。ただし、この場合は在庫管理が面倒なことになるかもしれません。
3. 2の派生でしかありませんが、商品詳細ページにアクセスがあった際に、顧客の属性を見て、APIで商品のバリエーションを作成し、適した価格を設定する。

大したアイデアがなく恐縮です。

ご参考まで。

(キュー田辺)

---

<div class="post-metadata">

**Author:** ![knaka](https://avatars.discourse-cdn.com/v4/letter/k/f19dbf/32.png) [@knaka](https://community.shopify.com/u/knaka)\
**Post date:** [July 27, 2022, 12:45pm UTC](https://community.shopify.com/t/topic/137665/4 "2022-07-27T12:45:22Z")

</div>

ご回答ありがとうございます。

会員ランクごとに価格を変更するアプリを試してみたところ、内部的には商品単価はそのままで会員ランクごとに設定した割引率や価格になるようにカートの商品に対してディスカウントがかかるという仕様になっているように見えました。

既存アプリの挙動を見る限りはお客様のランクに合わせてディスカウントを適用することが出来そうな気がしています。

実装コストなどを考えるとまた別の問題になってしまいますがアイディアを頂けたおかげでいくつかの方法を考えることが出来ました。

ありがとうございます。
