会員登録をした顧客のみ、定期購入できるようにしたい

羽柴咲子2025-02-10

会員登録をした顧客にのみ、定期購入導線を表示し、

会員登録をした顧客にのみ、定期購入をさせるということができるようになります。

ログインしていない顧客からの見え方:

ログインしている顧客からの見え方:

前提として、定期購買アプリのマイページは、ログイン後に表示されるアカウントページ(https://~~~~~/account)の配下に設置されるページのため、マイページを確認するには、会員登録が必要です。

会員登録を必須にしていないストアの場合、会員登録をせずに購入した顧客からの「マイページはどこから見れますか」というお問い合わせが来ることがあります。

Shopifyの設定>チェックアウト>チェックアウト前にお客様にアカウントへのログインを要求する をONにすることで、ストア全体をログイン必須にすることは可能です。

ただし、通常購入希望のお客様についても購入前に会員登録が促されます。

テーマのカスタマイズを行えば、以下の要望を両立することが可能です。

・定期購入希望のお客様には、事前に会員登録を促したい

・でもできれば、通常購入希望のお客様には会員登録を促したくない

  • 商品管理画面で、該当商品に「これらの購入オプションでのみこの商品を表示する」のチェックが入っていないこと。

テーマのカスタマイズ画面を確認する。

商品ページテンプレートへ「パターン1」や「パターン2」などのウィジェットをブロックで追加して使用している場合、それらを削除あるいは非表示化する。

商品ページのLiquidファイル、またはそのファイル内で呼び出される別のファイルから、ウィジェットを表示させる位置を探して、以下のコードを挿入

Plaintext
{% if customer %}
<div class="huckleberry-subscription-widget-container"></div>
{% else %}
<p>※定期購入をされたい方は、ログインしてください</p>
{% endif %}

現在サイトにアクセスしているユーザーがログイン済みの顧客かどうかを判定します。customer オブジェクトが存在する場合、そのユーザーは現在ログインしていることを示します。

以下のコードは、ログイン済みの顧客に対して定期購買ウィジェットを表示するためのものです。

Plaintext
{% if customer %}
 <div class="huckleberry-subscription-widget-container"></div>
....

{% else %} タグは、{% if customer %} 条件が偽の場合に実行されるブロックを定義します。

つまり、ユーザーがログインしていない場合に対して適用されるコードです。

Plaintext
{% else %}
<p>※定期購入をされたい方は、ログインしてください</p>
{% endif %}

ここでは、ログインしていないユーザーに対し、「ログインしてください」というメッセージを表示します。

これにより、ユーザーがログインしているかどうかに基づいて定期購買ウィジェットを表示/非表示にすることができます。

また、定期購入を希望しないユーザーは、そのまま単品購入が可能です。