FROM CACHE - jp_header

特定の商品に対して、ゲスト購入でも1顧客1回しか購入できない仕様を導入したい

解決済
deto2014
遊覧客
28 0 4

アカウント登録を必須にした場合、ライフタイムで1顧客1個の購入制限をアプリにて実現することができました。
(Limit Quantity Purchase使用)


ただ、購入までの流れをスムーズにするためゲスト購入も可能にしたいと考えております。
ゲスト購入の際にもアドレスなどで同じようなライフタイムでの購入制限を付けることは可能な方法はあるのでしょうか?

1 件の受理された解決策

ベストソリューション
Qcoltd
Shopify Partner
376 145 140

成功

具体的な方法ではなく方向性のご提案だけになってしまうことと、

完全に解決できるわけではなく1人が1つ以上購入できてしまう状況を抑制する程度の案になってしまうのですが、

下記ではいかがでしょうか?

 

まず、

1人1つまでしか購入させたくない商品について、

下記のようになるように、

コードを編集します。

(前提として、カートに投入できるのは商品詳細ページからだけとします。他のページ、例えば、商品一覧ページからはカート投入できないとします。)

 

  • 商品詳細ページにて、数量変更セレクタを隠し、数量変更できないようにする。
  • 商品詳細ページにて、カートの内容をCart APIでチェックする(/cart.js)ようにし、すでに当該商品がカートにある場合、カート投入ボタンを隠すなりして、カート投入できないようにする。
  • カートページの数量変更セレクタを隠し、数量変更できないようにする。
  • カートページで該当商品の数量が、2以上である場合、Cart APIを使用して、強制的に1つにアップデートする。(/cart/update.js)

 

ここまででも、

会員、ゲスト問わず、

1人1つまで、が大分担保できるかと思います。

 

さらに、

Shopifyの契約プランをスタンダード以上にすれば、

Shopify Flowを使用できますので、

当該商品を1度に2つ以上購入した際や、

同一メールアドレスで過に当該商品を購入した場合、

注文をキャンセルにしたり保留にしたりするフローを組むこともでき、

セーフティネットを張れそうです。

 

もう1歩踏み込んで、

Shopify Plusをご利用になれば、

チェックアウト画面のカスタマイズが可能になりますので、

「注文後」ではなく、メールアドレスを入力した時点で、

アラートや警告を出したりすることも可能かもしれません。

(チェックアウトカスタマイズでどこまでできるか私は把握できていません。)

 

Shopify FlowやShopify Plusを利用しない場合、

精度は落ちますが、

同一人物が、ゲスト購入を活用して複数回購入することを防ぐために、

商品購入時に、Cookieを付与し、そのCookieを持っている端末からは、

当該商品を購入できないよう、商品詳細ページやカートページをカスタマイズすることもできるかと思います。

ただし、この場合、異なる端末、例えば、最初はPCから購入し、次はスマホから購入する、のような場合は防げません。

しかし、同じ端末からであれば、異なるメールアドレスを使って当該商品を複数購入しようとする行為を抑制することが可能です。

 

 

ジャストアイデアで恐縮ですが、

何かのヒントになれば幸いです。

(キュー田辺)

株式会社Q (キュー)
グラフィックデザイン、アパレル事業、Web制作など色々やっている渋谷区代々木の会社です。ShopifyでのECサイトの運営・開発も行なっています。
https://techlab.q-co.jp/

元の投稿で解決策を見る

2件の返信2
Qcoltd
Shopify Partner
376 145 140

成功

具体的な方法ではなく方向性のご提案だけになってしまうことと、

完全に解決できるわけではなく1人が1つ以上購入できてしまう状況を抑制する程度の案になってしまうのですが、

下記ではいかがでしょうか?

 

まず、

1人1つまでしか購入させたくない商品について、

下記のようになるように、

コードを編集します。

(前提として、カートに投入できるのは商品詳細ページからだけとします。他のページ、例えば、商品一覧ページからはカート投入できないとします。)

 

  • 商品詳細ページにて、数量変更セレクタを隠し、数量変更できないようにする。
  • 商品詳細ページにて、カートの内容をCart APIでチェックする(/cart.js)ようにし、すでに当該商品がカートにある場合、カート投入ボタンを隠すなりして、カート投入できないようにする。
  • カートページの数量変更セレクタを隠し、数量変更できないようにする。
  • カートページで該当商品の数量が、2以上である場合、Cart APIを使用して、強制的に1つにアップデートする。(/cart/update.js)

 

ここまででも、

会員、ゲスト問わず、

1人1つまで、が大分担保できるかと思います。

 

さらに、

Shopifyの契約プランをスタンダード以上にすれば、

Shopify Flowを使用できますので、

当該商品を1度に2つ以上購入した際や、

同一メールアドレスで過に当該商品を購入した場合、

注文をキャンセルにしたり保留にしたりするフローを組むこともでき、

セーフティネットを張れそうです。

 

もう1歩踏み込んで、

Shopify Plusをご利用になれば、

チェックアウト画面のカスタマイズが可能になりますので、

「注文後」ではなく、メールアドレスを入力した時点で、

アラートや警告を出したりすることも可能かもしれません。

(チェックアウトカスタマイズでどこまでできるか私は把握できていません。)

 

Shopify FlowやShopify Plusを利用しない場合、

精度は落ちますが、

同一人物が、ゲスト購入を活用して複数回購入することを防ぐために、

商品購入時に、Cookieを付与し、そのCookieを持っている端末からは、

当該商品を購入できないよう、商品詳細ページやカートページをカスタマイズすることもできるかと思います。

ただし、この場合、異なる端末、例えば、最初はPCから購入し、次はスマホから購入する、のような場合は防げません。

しかし、同じ端末からであれば、異なるメールアドレスを使って当該商品を複数購入しようとする行為を抑制することが可能です。

 

 

ジャストアイデアで恐縮ですが、

何かのヒントになれば幸いです。

(キュー田辺)

株式会社Q (キュー)
グラフィックデザイン、アパレル事業、Web制作など色々やっている渋谷区代々木の会社です。ShopifyでのECサイトの運営・開発も行なっています。
https://techlab.q-co.jp/
deto2014
遊覧客
28 0 4

Shopify Flowでも制御可能なんですね。
ただ、やはりキャンセル保留にするのは注文後にお客様に通知になりそうですね…
精度は落ちたとしてもCookieも使用できそうです。


ご丁寧にご回答いただきありがとうございました。