🕌

Shopifyでボリュームディスカウント(まとめ買い割引)を実装する方法を考察

2024/08/21に公開

はじめに

今回は、Shopify でボリュームディスカウント(まとめ買い割引)を実装する方法について考察していきます。

Shopify のメタフィールドや Functions API を利用する方法について考察していきます。

それでは、頑張っていきましょう。

Shopify でボリュームディスカウント(まとめ買い割引)を実装する定義

まずは、Shopify でボリュームディスカウント(まとめ買い割引)を実装する定義についてです。

Shopifyでのボリュームディスカウント(まとめ買い割引)とは、顧客が特定の数量以上の商品を購入した際に、自動的に割引が適用される価格戦略を指します。

この割引は、パーセンテージでの割引や、固定金額での割引として設定でき、特に大量購入を促す際に効果的です。ボリュームディスカウントは、顧客にお得感を提供し、購入数量を増やすことで売上を向上させることを目的としています。

さらに、特定のキャンペーンやプロモーションと組み合わせることで、短期間での売上最大化を図ることができます。Shopifyでは、この割引を簡単に設定でき、在庫管理の効率化や顧客満足度の向上に寄与します。

Shopify でボリュームディスカウント(まとめ買い割引)を実装するメリット・デメリット

それでは次に、Shopify でボリュームディスカウント(まとめ買い割引)を実装するメリット・デメリットについてまとめていきます。

メリットが無いと、実装方法を考察する意味もあまり無いですからね。

Shopifyでボリュームディスカウントを行うメリット

まずは、Shopify でボリュームディスカウントを行うメリットについてまとめていきます。

Shopifyでボリュームディスカウント(まとめ買い割引)を導入することは、ECサイト運営において多くのメリットをもたらします。

1. 客単価の向上

ボリュームディスカウントを導入することで、顧客に「より多く買うほどお得」というインセンティブを与えることができます。この戦略は、顧客が通常よりも多くの商品を購入することを促し、結果として客単価の向上につながります。例えば、「3つ購入すると10%オフ」や「5つ以上購入で15%オフ」などの設定が可能です。

2. 在庫管理の効率化

特定の商品が過剰在庫になっている場合、ボリュームディスカウントを適用することで、その在庫を効率的に処分することができます。これにより、倉庫スペースの有効活用が図られ、在庫管理コストの削減が可能になります。特に季節商品やキャンペーン商品の在庫整理に有効です。

3. 顧客満足度の向上

顧客は、まとめ買い割引を受けることで、より多くの商品をお得に購入できたという満足感を得ることができます。これにより、顧客満足度が向上し、リピート購入や口コミによる新規顧客の獲得につながる可能性が高まります。

4. 競争力の強化

EC市場では、価格競争が激化しています。ボリュームディスカウントを導入することで、他の競合ストアとの差別化を図ることができ、競争力を強化することができます。特に、競合が同様の割引を提供していない場合、自店舗の大きな強みとなります。

5. マーケティングキャンペーンの強化

ボリュームディスカウントは、マーケティングキャンペーンと組み合わせることで、その効果をさらに高めることができます。例えば、期間限定セールや季節ごとのプロモーションに組み込むことで、短期間での売上最大化を実現します。

Shopifyでボリュームディスカウントを行うデメリット

それでは次に、Shopify でボリュームディスカウントを行うデメリットについて考えていきます。

ボリュームディスカウント(まとめ買い割引)は、多くのメリットを提供する一方で、慎重に運用しなければいくつかのデメリットやリスクも伴います。以下では、技術ブログ風にそのデメリットを解説します。

1. 利益率の低下

ボリュームディスカウントを提供することで、1つあたりの商品に対する利益率が低下する可能性があります。特に、割引率が高い場合や、低価格の商品に適用する場合は、割引による利益減少が大きくなるリスクがあります。これにより、総売上が増加しても、最終的な利益が期待通りに確保できない可能性が生じます。

2. 顧客の価格期待の変化

頻繁にボリュームディスカウントを実施すると、顧客が割引を当然のものと感じるようになるリスクがあります。その結果、顧客が通常価格での購入を躊躇したり、割引がないと購入しなくなったりする可能性があります。これにより、ストア全体の価格戦略が歪み、売上や利益に悪影響を及ぼすことがあります。

3. 在庫管理の複雑化

ボリュームディスカウントを導入すると、予想外に商品が大量に売れる場合があります。これにより、在庫不足が発生しやすくなり、顧客への納品遅延や販売機会の喪失につながる可能性があります。また、逆に割引により在庫調整がうまくいかない場合、過剰在庫のリスクが高まり、倉庫管理コストが増加することも考えられます。

4. ブランド価値の低下

過度な割引は、ブランドイメージに悪影響を及ぼす可能性があります。特に、プレミアムなブランドや高価格帯の商品を扱うストアでは、頻繁にボリュームディスカウントを提供することで、ブランドの価値が低下するリスクがあります。顧客がブランドを「安価」と捉えるようになると、長期的なブランド戦略に悪影響を与える可能性があります。

5. 他のマーケティング施策との競合

ボリュームディスカウントを導入することで、他のマーケティング施策(例:クーポン、セールなど)との競合が発生する可能性があります。これにより、マーケティング全体の効果が分散され、顧客にとってどのプロモーションが最も価値があるのか分かりにくくなる場合があります。この混乱が購入意欲を削ぐリスクも考えられます。

それでは次に、Shopify でボリュームディスカウントを行う方法について考察していきます。

Shopify でボリュームディスカウントを実装する方法

以下の記事を参考にしています。

https://unreact.jp/blog/shopify-app-volume-discont

https://unblog.unreact.jp/blog/4c_xdb-87

https://unreact.jp/shopify-apps/sa-041-ur-volume-discount/guide

https://qiita.com/eijiSaito/items/4bdc610e528f042a8bbb

Shopify でボリュームディスカウントを実装する際には、Shopify の Function APIs が利用できそうです。

まずは、以下の公式ドキュメントを参照していきましょう。

https://shopify.dev/docs/api/functions

以下の Available APIs のどれかが利用できそうです。

以下に、Shopify の Function APIs についてまとめました。

利用可能なFunction API

  • Delivery Customization API:

    • 説明: チェックアウト時に表示される配送オプションの名前変更、並び替え、並べ替えを行うAPIです。
    • エクステンションターゲット: purchase.delivery-customization.run
    • マーチャントインターフェース: Embedded app pages
  • Order Discount API:

    • 説明: カート内のすべての商品に適用される新しいタイプの割引を作成するAPIです。
    • エクステンションターゲット: purchase.order-discount.run
    • マーチャントインターフェース: Embedded app pages
  • Product Discount API:

    • 説明: カート内の特定の商品や商品バリアントに適用される新しいタイプの割引を作成するAPIです。
    • エクステンションターゲット: purchase.product-discount.run
    • マーチャントインターフェース: Embedded app pages
  • Shipping Discount API:

    • 説明: チェックアウト時に適用される配送料金に対して、新しいタイプの割引を作成するAPIです。
    • エクステンションターゲット: purchase.shipping-discount.run
    • マーチャントインターフェース: Embedded app pages
  • Payment Customization API:

    • 説明: チェックアウト時に表示される支払い方法の名前変更、並び替え、並べ替えを行うAPIです。
    • エクステンションターゲット: purchase.payment-customization.run
    • マーチャントインターフェース: Embedded app pages
  • Cart Transform API:

    • 説明: カートラインアイテムを拡張し、カートラインアイテムのプレゼンテーションを更新するAPIです。
    • エクステンションターゲット: purchase.cart-transform.run
    • マーチャントインターフェース: None
  • Cart and Checkout Validation API:

    • 説明: カートおよびチェックアウトの独自のバリデーションを提供するAPIです。
    • エクステンションターゲット: purchase.validation.run
    • マーチャントインターフェース: Admin UI extensions
  • Fulfillment Constraints API:

    • 説明: Shopifyが注文をどのように履行および割り当てるかの独自のロジックを提供するAPIです。
    • エクステンションターゲット: purchase.fulfillment-constraint-rule.run
    • マーチャントインターフェース: None
  • Local Pickup Delivery Option Generator API:

    • 説明: チェックアウト時に利用可能なカスタムのローカルピックアップオプションを生成するAPIです。
    • エクステンションターゲット: purchase.local-pickup-delivery-option-generator.run
    • マーチャントインターフェース: None
  • Pickup Point Delivery Option Generator API:

    • 説明: チェックアウト時に利用可能なカスタムのピックアップポイントオプションを生成するAPIです。
    • エクステンションターゲット: purchase.pickup-point-delivery-option-generator.run
    • マーチャントインターフェース: None

Shopify のボリュームディスカウント(まとめ買い割引)は、商品に対しての割引になります。

恐らく、Product Discount Function APIを利用できそうです。

Product Discount Function API について

今回は、Product Discount Function APIを利用する方法について考察していきましょう。

以下の公式ドキュメントを参照していきます。

https://shopify.dev/docs/api/functions/reference/product-discounts

以下に、公式ドキュメントの内容をまとめていきます。

Product Discount APIは、特定の商品バリアントやカートラインに適用される新しいタイプの割引を作成できるAPIです。

利用例

  • 特定商品の割引: 例えば、シャツを20%オフ。
  • 商品バリアントの割引: 例えば、青いシャツを500円オフ。
  • カートラインの割引: 例えば、名入れオプション付きの商品を10%オフ。
  • 特定数量の購入に対する割引: 例えば、青いシャツを2枚まで500円オフ。
  • 一定量の購入で追加割引: 例えば、シャツを4枚購入すると、青いシャツ2枚が無料。

こちらのドキュメントにある通り、ボリュームディスカウントを実装できそうですね。

それでは、具体的なサンプルコードを見ていきましょう。

ボリュームディスカウントを実装する際のサンプルコード

次は、以下の公式ドキュメントを参照していきましょう。

https://shopify.dev/docs/api/functions/reference/product-discounts/graphql

以下が、input.graphqlになります。

query Input {
  cart {
    lines {
      id
      attribute (key: "Engraving Name") {
        key
        value
      }
      merchandise {
        __typename
        ... on ProductVariant {
          id
        }
      }
    }
  }
}

以下のデータが取得できます。

{
  "cart": {
    "lines": [
      {
        "id": "gid://shopify/CartLine/0",
        "attribute": null,
        "merchandise": {
          "id": "gid://shopify/ProductVariant/1"
        }
      },
      {
        "id": "gid://shopify/CartLine/1",
        "attribute": {
          "key": "Engraving Name",
          "value": "Isabella Garcia"
        },
        "merchandise": {
          "id": "gid://shopify/ProductVariant/1"
        }
      },
      {
        "id": "gid://shopify/CartLine/2",
        "attribute": null,
        "merchandise": {
          "id": "gid://shopify/ProductVariant/2"
        }
      },
    ]
  }
}

また、具体的なディスカウントを行うためには、以下のような outputを返却する必要があります。

{
  "discountApplicationStrategy": "FIRST",
  "discounts": [
    {
      "value": {
        "percentage": {
          "value": "20.0"
        }
      },
      "targets": [
        {
          "cartLine": {
            "id": "gid:\/\/shopify\/CartLine\/1"
          }
        }
      ],
      "message": "20% off"
    }
  ]
}

上記のように、targets を指定してpercentageを指定すれば、割引を実行できそうです。

後は、商品のメタフィールドを参照できるので、商品のメタフィールドのデータを利用して割引を返却するようにすれば、ボリュームディスカウントを実装できるかと思います。

ここまでで、ボリュームディスカウントを実装する考察は終了です。

後は、カスタムアプリを作成して Functions API を利用すれば、Shopify でボリュームディスカウントを行えるかと思います。

しかし、非エンジニアの方には難しいかと思われますので、念のため Shopify アプリを用いた方法も解説します。

Shopify アプリを用いてボリュームディスカウントを実装する方法

それでは、Shopify アプリを用いてボリュームディスカウントを実装する方法を解説していきます。

今回紹介するのは、シンプルボリュームディスカウント|お手軽まとめ買い割引というアプリです。

以下の記事を参考にしています。

https://unreact.jp/blog/shopify-app-volume-discont

https://unblog.unreact.jp/blog/4c_xdb-87

https://unreact.jp/shopify-apps/sa-041-ur-volume-discount/guide

https://qiita.com/eijiSaito/items/4bdc610e528f042a8bbb

以下が、Shopify 公式のアプリストアになります。

https://apps.shopify.com/shopify-application-440?locale=ja

それでは、こちらのアプリについて紹介していきます。

シンプルボリュームディスカウント|お手軽まとめ買い割引の機能について

シンプルボリュームディスカウント|お手軽まとめ買い割引は、Shopify でボリュームディスカウントを行えるアプリです。

以下の画像のように、チェックアウトページで自動的にボリュームディスカウントを行います。

設定したボリュームディスカウントは、商品ページで表示できます。

また、ボリュームディスカウントの設定は商品毎に行えます。商品を選択して、ディスカウントのタイプを指定した後に、ボリュームディスカウントの数量テーブルを作成します。

割引条件は、パーセンテージに応じた割引と、固定金額の割引の二種類から選択できます。

また、ボリュームディスカウントの設定は、一覧で確認・削除ができます。

非常に安価でシンプルなボリュームディスカウント(まとめ買い割引)アプリなので、Shopify でボリュームディスカウント(まとめ買い割引)を行う際は、選択肢の一つに入ってくるかと思います。

https://apps.shopify.com/shopify-application-440?locale=ja

最後に

今回は、カスタムアプリを作成してボリュームディスカウントを実装する方法と、Shopify アプリを用いてボリュームディスカウントを実装する方法の二つを紹介しました。

お疲れさまでした。

Discussion