顧客IDをフロントエンドのJavaScript で取得することは可能でしょうか

Topic summary

マーケティングツールとのID連携のため、フロントエンドのJavaScriptで顧客IDを取得する方法についての質問。

解決方法:

  • ログイン済みの顧客であれば、Liquidテンプレート内で {{ customer.id }} を使用してJavaScript変数に顧客IDを格納可能
  • theme.liquidのhead内、またはマーケティングツールのJavaScriptコードがある箇所に追加するのが最適

セキュリティ面:

  • Shopifyの無料テーマでも顧客IDは出力されているため、ポリシー的に問題なし

取得可能な情報:

  • 顧客IDの他、名前やメールアドレスなども取得可能
  • 詳細はShopify公式ドキュメント(Liquid Objects - Customer)に記載

質問者は段階的に理解を深め、必要な情報とリソースを得て解決に至った。

Summarized with AI on November 2. AI used: claude-sonnet-4-5-20250929.

顧客IDをフロントエンドの JavaScript で取得することは可能でしょうか?

とあるマーケティングのツールとのID連携を考えております。

@NaokiN

ご質問いただいている顧客IDの件ですが、ログインしていることが前提ですが、

下記のコードで取得可能かと思われます。

{% if customer %}
  
{% endif %}

ご参考まで。

(キュー小坂)

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

Shopify 上で、いただいたようなスクリプトがWEBページに吐き出されるように設定することで、(いただいた例だと)customerId という変数に顧客IDが格納されるようになる、という理解をいたしました。そこで追加で以下、質問がございます。

  1. Shopify 上での設定はやはり必ず必須でしょうか?(おそらく必須だろうなと)

  2. Shopify 上での設定をする場合、どこで設定するのかもイマイチ分かり切っておらず、「どの機能で」などヒントをいただけると幸いです。

  3. WEBページ上に顧客IDを(変数とはいえ)露出させることはセキュリティ的・Shopifyのポリシー的に問題などありませんでしょうか?

@NaokiN

下記ご質問に返答させていただきます。

> 1. Shopify 上での設定はやはり必ず必須でしょうか?(おそらく必須だろうなと)

マーケティングツールとの連携の方法がJavaScriptでの連携でしたら、必須になるかと思われます。

> 2. Shopify 上での設定をする場合、どこで設定するのかもイマイチ分かり切っておらず、「どの機能で」などヒントをいただけると幸いです。

theme.liquidのhead内が最適かと思われますが、最初のご質問でございました、「マーケティングツールとの連携を行うためJavaScriptで取得したい」とのことでしたので、マーケティングツールとの連携のためのJavaScriptが記載されている部分があるかと思いますので、そこに追加いただくのが良いかと思われます。

> 3. WEBページ上に顧客IDを(変数とはいえ)露出させることはセキュリティ的・Shopifyのポリシー的に問題などありませんでしょうか?

Shopifyが配布している無料テーマの中でも顧客IDは出力されておりますので、問題なかいと思われます。

ご参考まで。

(キュー小坂)

ご教授ありがとうございます。大変参考になります。

また、追加での質問になってしまうのですが、顧客ID以外に Shopify からフロントエンドに吐き出せる情報がどのようなものがあるかご存知であればご教授いただけますと大変助かります。情報が記載されているページのURLだけでも助かります。

@NaokiN

ご質問いただきました、顧客ID以外には顧客の名前やメーアドレスなども取得可能です。

https://qiita.com/nsgm/items/5ad98be7710509a81945

そのほかの取得可能な内容については、下記Shopifyサイトにて公開されております。

https://shopify.dev/docs/api/liquid/objects/customer

ご参考まで。

(キュー小坂)