
Shopify でお客様アカウントにカスタムフィールドを追加する方法を徹底解説
目次
- はじめに
- 記事の構成
- Shopify でお客様アカウントにカスタムフィールドを追加できる?
- お客様アカウントにカスタムフィールドを追加するメリット・デメリット
- テーマのコード編集とアプリ導入の比較
- おすすめ Shopify アプリ「シンプル新しいお客様アカウント拡張|生年月日・追加フォーム」紹介
- アプリのインストール手順
- アプリをお客様アカウントに追加(有効化)
- アプリの設定項目を理解する
- すぐ使えるおすすめ設定例
- 関連施策との組み合わせ
- テーマのコード編集で実装する場合のサンプルコード
- 運用のコツ
- よくある質問
- まとめ
- 参考記事
はじめに
Shopify でストアを運営していると、「お客様のことをもっと深く知って、リピート施策や Shopify Email のターゲティングに使いたい」と感じることが多いはずです。誕生日にクーポンを配ったり、興味に合わせて新着商品をご案内したりするためには、まずお客様の属性情報を Shopify の中に蓄積する必要があります。
しかし、Shopify の新しいお客様アカウントは、注文履歴・配送先住所・基本プロフィール(氏名・メール・電話番号)といった標準項目しか持っていません。誕生日・性別・職業・興味などの追加項目を入れる仕組みは、デフォルトでは用意されていないのです。
この記事では、
- Shopify お客様アカウント カスタムフィールドの基礎と、Shopify でできる / できないこと
- 「Shopify 生年月日 顧客」情報を集めるメリット・デメリット
- 「Shopify プロフィール 項目追加」を実現する 2 つの方法(テーマのコード編集 / アプリ導入)の比較
- おすすめアプリ「シンプル新しいお客様アカウント拡張|生年月日・追加フォーム」での具体的な実装手順
- コード編集で実装する場合のサンプル
- 運用のコツ・よくある質問
までを一通り解説していきます。
この記事は以下の記事を参考にしています。
記事の構成
この記事は以下の流れで解説します。
- Shopify で「お客様アカウント カスタムフィールド」を実現できるかの結論
- お客様アカウントに項目追加するメリット・デメリット
- テーマのコード編集とアプリ導入の比較
- おすすめアプリ「シンプル新しいお客様アカウント拡張|生年月日・追加フォーム」の紹介
- インストール手順・テーマ拡張・管理画面でのフィールド管理
- 顧客絞り込み(セグメント保存)の使い方
- 入力うながしバナーのカスタマイズ
- 関連施策(Shopify Email / Flow など)との組み合わせ
- テーマのコード編集で実装する場合のサンプルコード
- 運用のコツ・よくある質問・まとめ
Shopify でお客様アカウントにカスタムフィールドを追加できる?
結論からお伝えすると、Shopify の標準機能だけで、新しいお客様アカウントのプロフィールページにカスタムフィールドを追加することはできません。
実装する方法は大きく 2 つあります。
- テーマのコード編集 + 顧客メタフィールドで実装する方法: Liquid・JavaScript を書き、フォームから値を顧客メタフィールドに POST する。お客様アカウントは Shopify 側で UI が制御されているため、新しいお客様アカウントには Customer Account UI Extension を React で実装する必要があり、難易度が高い。
- アプリを導入して実装する方法: ノーコードでフィールド定義・拡張表示・入力うながしまで完結できる。新しいお客様アカウント向けに最適化された専用アプリを使うのが安全。
「Shopify お客様アカウント カスタムフィールド」に関する要件をスピーディーに満たしたい場合は、後者のアプリ導入が圧倒的に近道です。
お客様アカウントにカスタムフィールドを追加するメリット・デメリット
メリット
1. お誕生月クーポンなど、Shopify 生年月日 顧客データを使った施策が打てる
「Shopify 生年月日 顧客」のデータが集まれば、お誕生月のお客様を抽出してクーポン付きメールを配信するなど、年間を通じた定常施策を組めます。お客様にとっても特別感のある体験になりやすく、LTV 向上に直結します。
- お誕生月クーポンの自動配信
- 誕生日週の限定特典バナー
- 年齢推定ベースの新作カテゴリレコメンド
2. 顧客セグメントを細かく作れるようになる
性別・職業・興味などの属性データがあれば、Shopify のセグメント機能で「20 代 × 男性 × ファッション趣味」といった切り口を作れます。Shopify Email との相性が抜群です。
- 性別 × 興味のクロスセグメント
- 職業 × 購入頻度のセグメント
- イベント関心 × 居住エリアのセグメント
3. ストアフロントのおすすめ商品をパーソナライズできる
「興味」や「好きなジャンル」を multi_select として取得しておけば、特集セクションや EDM のレコメンドを 1 人 1 人に合わせて出し分けられます。
4. 既存お客様の関係性を深められる
「Shopify プロフィール 項目追加」をフックに、お客様がマイページに戻ってきてくれる頻度を増やせます。アカウントへのログイン頻度自体が上がるため、ストアへの再訪率にも好影響を与えます。
デメリット
1. 入力率が低いと施策が機能しない
項目を追加しただけでは、お客様は能動的に入力してくれません。「入力うながしバナー」「誕生日クーポンというインセンティブ」「マイページの目立つ場所への配置」など、入力率を上げる工夫が必須です。
2. 項目を増やしすぎると入力完了率が落ちる
あれもこれもと欲張ると、お客様が入力途中で離脱してしまいます。最初は 3〜5 項目(誕生日・性別・興味・受け取り同意など)に絞るのが鉄則です。
3. 個人情報の扱いに注意が必要
誕生日や趣味嗜好は個人情報に該当する場合があります。プライバシーポリシーに記載し、入力時に「何のために集めるのか」をヘルプテキストで示すのが望ましいです。
テーマのコード編集とアプリ導入の比較
テーマのコード編集で実装する方法
メリット
- アプリの月額料金がかからない
- 自由度が高く、独自 UI を作り込める
デメリット
- 新しいお客様アカウントは、Customer Account UI Extension(React)として実装する必要があり、Shopify Partner アカウント・開発環境構築・デプロイなどハードルが高い
- 顧客メタフィールド定義の
customerAccountAccessの設定や、capability の付与で詰まりやすい - 入力うながしバナー・顧客絞り込み・セグメント保存などの「運用機能」は別途自前で実装が必要
- 仕様変更(Shopify 側のお客様アカウント仕様)に追随するメンテナンスコストが発生する
アプリを導入する方法
メリット
- ノーコードで「項目定義 → 拡張 → 入力うながし → 顧客絞り込み」までワンストップ
- Shopify 側の仕様変更にもアプリ側がメンテナンスで追随してくれる
- 月額数ドル〜と低コストで始められる
- お試し期間で運用に合うかを検証できる
デメリット
- 月額料金がかかる
- アプリの仕様に沿った範囲でのカスタマイズになる
結論:最初はアプリで小さく試すのがおすすめ
Customer Account UI Extension は実装難度が高く、運用機能まで自前で揃えるのはかなりの工数です。まずは月額数ドルのアプリで小さく試し、施策の手応えが得られてから内製を検討するのが現実的です。
おすすめ Shopify アプリ「シンプル新しいお客様アカウント拡張|生年月日・追加フォーム」紹介
アプリの基本情報
- アプリ名: シンプル新しいお客様アカウント拡張|生年月日・追加フォーム
- 開発元: 株式会社 UnReact
- 料金: Basic Plan 月額 $4.99、7 日間の無料体験、年払いで実質 2 ヶ月分無料
- 対応言語: 日本語管理画面あり
- 対応: 新しいお客様アカウント(New Customer Accounts)
できること
「Shopify お客様アカウント カスタムフィールド」「Shopify 生年月日 顧客」「Shopify プロフィール 項目追加」のすべてに、このアプリ 1 つで対応できます。
管理画面でプロフィール項目を管理できる
アプリ管理画面で、プロフィール項目の追加・編集・並び替え・削除をクリック操作で完結できます。

よく使う項目はプリセットから追加できる
誕生日・性別・職業・興味などのプリセットを用意。チェックを入れて追加するだけで、最適な設定で項目が並びます。

お客様自身がプロフィールページから入力できる
お客様は新しいお客様アカウントから、追加された項目を自分で入力・更新できます。

ストアフロントに入力うながしバナーを表示できる
未入力のお客様向けに、ストアフロントへ入力うながしバナーを出せます。デザイン・タイミングはテーマエディタから調整可能。

項目の値で顧客を絞り込み、セグメントとして保存できる
入力された顧客メタフィールドの値で顧客を絞り込み、Shopify のセグメントとして保存できます。

アプリのインストール手順
-
Shopify 管理画面の左下にある「設定」をクリックします。

-
「アプリと販売チャネル」をクリックし、「Shopify App Store」へ移動します。

-
検索窓に「シンプル新しいお客様アカウント拡張」と入力し、表示されたアプリをクリックします。

-
アプリ詳細画面で「インストール」をクリックします。

-
権限の確認画面が表示されるので内容を確認し、「インストール」を完了します。

-
インストール完了後、アプリの管理画面が開きます。

アプリをお客様アカウントに追加(有効化)
カスタムフィールドをプロフィールページに表示するためには、お客様アカウント拡張をチェックアウト設定から有効化する必要があります。
-
アプリ管理画面で「チェックアウト設定を開く」をクリック。

-
「UR: Customer Profile Fields」の「+ボタン」をクリック。

-
表示場所を調整し、「保存する」をクリック。

入力うながしバナーをストアフロントに出す場合は、テーマにもアプリブロックを追加します。


アプリの設定項目を理解する
基本設定(フィールドの追加)
フィールドの追加方法は 2 種類です。
- プリセットから追加: 誕生日・性別・職業・興味・受け取り同意などをチェック → 「追加する」だけで完了。
- フィールドを追加(手動): ラベル・キー・入力タイプ・必須・表示・ヘルプテキスト・選択肢を自分で設定。



入力タイプは「テキスト / 数値 / 日付 / 選択肢 / 複数選択 / チェックボックス」から選べます。「Shopify 生年月日 顧客」の用途には「日付」型を選び、プリセットの「誕生日」を使うのが手早いです。
表示順序の制御(並び替え)
各行の ↑ / ↓ ボタンで並び替え、「並び順を保存」で確定します。


表示・非表示の制御(トグル)
各フィールドのトグルで、お客様アカウントへの表示・非表示を即座に切り替えできます。一時非公開や AB テスト的な使い方に便利です。

編集 / 削除
行の「編集」「削除」ボタンから個別操作できます。削除しても、お客様側に既に保存されているメタフィールドデータは Shopify に残るため、データ喪失の心配はありません。


顧客絞り込み(セグメント保存)
管理画面下部の「顧客を検索」カードで、フィールド + 演算子 + 値の組み合わせで顧客一覧を絞り込めます。
- 値あり / 値なし
- 等しい
- 以上 / 以下 / 範囲
- 含む(複数選択用)
- 誕生月(誕生日プリセット専用:年を無視して 1〜12 月で絞り込み)
「条件を追加」で複数行を増やして AND 検索も可能です。「顧客を検索」を押すと Shopify の顧客一覧ページが絞り込み済みで開き、そのまま セグメントとして保存 できます。
入力うながしバナーのカスタマイズ
テーマエディタからノーコードで以下を調整できます。
- 見出し / 本文 / ボタンラベル
- バナーの横幅 / 背景色 / 文字色 / ボタン色
- 次回表示までの期間(0〜30 日)
- 表示までの待機秒数(0〜60 秒)
バナーは「ログイン中」かつ「未入力項目あり」のお客様にのみ自動表示されるため、入力済みのお客様の体験を損ねません。
すぐ使えるおすすめ設定例
例1: BtoC アパレル
- 誕生日(プリセット)
- 性別(プリセット)
- 興味のあるジャンル(プリセット:multi_select)
- お誕生日クーポンの受け取り(プリセット:checkbox)
施策: お誕生月セグメント宛にクーポン配信、興味別の新作 EDM。
例2: 食品 / サブスク
- 誕生日(プリセット)
- アレルギー(手動:複数選択)
- 配送ご希望時間帯(手動:選択肢)
施策: アレルギー除外のレコメンド、配送時間に合わせた発送調整。
例3: コスメ / 健康
- 肌タイプ(手動:選択肢)
- 興味のあるカテゴリ(プリセット:multi_select)
- アプリ・ストアを知ったきっかけ(プリセット:multi_select)
施策: 肌タイプ別のおすすめ商品、流入チャネルごとの再訪施策。
文言のテンプレ例
入力うながしバナーの文言例です。
- 見出し: 「あなたにぴったりのご案内をお届けします」
- 本文: 「誕生日や興味のあるジャンルを登録すると、お得な情報をお届けします。」
- ボタン: 「プロフィールを登録する」
関連施策との組み合わせ
「Shopify お客様アカウント カスタムフィールド」で集めたデータは、以下の関連施策と組み合わせると効果が最大化します。
- Shopify Email: お誕生月セグメント、興味別セグメントへのターゲティング配信。
- Shopify Flow: 「誕生日が今月に登録された顧客」に自動でタグ付与し、別シナリオへ流す。
- Loyalty / リワードアプリ: 誕生月にボーナスポイントを付与。
- おすすめ商品アプリ: 興味の multi_select 値をもとにレコメンドを出し分け。
- 入力うながしバナー(このアプリ標準): 未入力顧客にだけ、控えめなタイミングで入力を促進。
「集めて → セグメント化 → 配信 → リピート」のループを作ることが、お客様アカウントのカスタムフィールドを最も活かせる構成です。
テーマのコード編集で実装する場合のサンプルコード
ここからは「自前で実装したい」という方向けに、参考までにサンプルコードを紹介します。実装には Customer Account UI Extension(React)が必要ですが、簡易的に テーマ側(Liquid)で値を表示する ところからイメージを掴めます。
実装の流れ
- Shopify 管理画面の「カスタムデータ」→「お客様」で顧客メタフィールドを定義(例:
sa_194_ur_customer_fields.birthday/ type:date) - Customer Account UI Extension(React)でプロフィールページにフォームを追加
- フォーム送信時に Customer Account API(GraphQL)で
customerUpdateを呼び、顧客メタフィールドを保存 - テーマ側 Liquid で
customer.metafields.sa_194_ur_customer_fields.birthdayを参照して表示
Liquid を追加
{%- comment -%}
顧客メタフィールドからプロフィール情報を表示するスニペット
{%- endcomment -%}
{%- if customer -%}
{%- assign cf_namespace = 'sa_194_ur_customer_fields' -%}
{%- assign birthday = customer.metafields[cf_namespace].birthday -%}
{%- assign interests = customer.metafields[cf_namespace].interests.value -%}
<section class="ur-cf-profile">
<h2>マイプロフィール</h2>
{%- if birthday -%}
<p>誕生日: {{ birthday | date: '%Y年%-m月%-d日' }}</p>
{%- else -%}
<p>誕生日が未登録です。<a href="/account/profile">プロフィールを編集</a></p>
{%- endif -%}
{%- if interests and interests.size > 0 -%}
<p>興味:
{%- for item in interests -%}
<span class="ur-cf-tag">{{ item }}</span>
{%- endfor -%}
</p>
{%- endif -%}
</section>
{%- endif -%}
CSS を追加
.ur-cf-profile {
padding: 24px;
border: 1px solid #eee;
border-radius: 12px;
margin: 24px 0;
}
.ur-cf-tag {
display: inline-block;
padding: 4px 10px;
margin-right: 6px;
border-radius: 999px;
background: #f5f5f5;
font-size: 12px;
}
JavaScript を追加
「未入力ならバナーを出す」をテーマ側でハンドリングする簡易例です。
(function() {
const isLoggedIn = !!document.querySelector('[data-customer-logged-in="true"]');
const hasBirthday = !!document.querySelector('[data-cf-birthday]:not([data-cf-birthday=""])');
if (!isLoggedIn || hasBirthday) return;
const banner = document.createElement('div');
banner.className = 'ur-cf-banner';
banner.innerHTML = `
<p>誕生日を登録すると、お誕生月にクーポンをお届けします。</p>
<a href="/account/profile">プロフィールを登録する</a>
`;
document.body.appendChild(banner);
})();
コード実装の注意点
- 新しいお客様アカウントの入力 UI は React の Customer Account UI Extension が必要で、Liquid だけでは追加できません。
- 顧客メタフィールド定義の
customerAccountAccessをREAD_WRITEにしないと、お客様自身が書き込めません。 - 顧客メタフィールドの
adminFilterablecapability は CUSTOMER リソースに付与できないため、絞り込み検索の挙動には注意が必要です。 - アプリ側ではこのあたりの落とし穴がすべて吸収されているため、ノーコードで完結します。
運用のコツ
- 最初は項目を 3〜5 個に絞り、入力完了率を観察する
- ヘルプテキストで「何のために集めるのか」を必ず明示する
- 入力うながしバナーは控えめな再表示間隔(7 日程度)で運用する
- 「誕生月クーポン」など、入力するメリットを明確に提示する
- 入力された値はメタフィールドに残り続けるため、項目の削除は慎重に(再追加可)
よくある質問
Q. 旧お客様アカウントでも使えますか?
A. 本アプリは新しいお客様アカウント(New Customer Accounts)向けの設計です。旧お客様アカウントを使い続けている場合は、別アプリを検討してください。
Q. お客様が入力した値はどこに保存されますか?
A. すべて Shopify の顧客メタフィールドに保存されます。namespace は sa_194_ur_customer_fields です。
Q. アプリをアンインストールしたらデータは消えますか?
A. お客様メタフィールドの値は Shopify 側に残ります。フィールド定義(schema)の Shop Metafield は削除される可能性があります。
Q. 入力うながしバナーは未ログインのお客様にも表示されますか?
A. 表示されません。「ログイン中」かつ「未入力項目あり」のお客様のみに表示されます。
Q. 「誕生月」での顧客抽出はできますか?
A. はい。誕生日プリセットには専用の「誕生月」演算子があり、1〜12 月の指定で顧客を絞り込めます。
Q. 多言語対応はできますか?
A. アプリの管理画面は多言語対応しています。フィールドのラベルは単一文字列で保持する仕様です。
まとめ
-
Shopify お客様アカウント カスタムフィールドは、Shopify の標準機能だけでは追加できない
-
アプリ導入が、コスト・スピード・運用機能のすべての面で最もバランスが良い
-
シンプル新しいお客様アカウント拡張|生年月日・追加フォームなら、新しいお客様アカウントに誕生日・性別・興味などのカスタムフィールドを月額 $4.99 で追加できる
-
プリセット・並び替え・入力うながしバナー・顧客絞り込み(セグメント保存)まで一気通貫
-
まずは 7 日間の無料体験で、自店舗の運用にフィットするかを確かめるのがおすすめ
-
インストールはこちら: シンプル新しいお客様アカウント拡張|生年月日・追加フォーム
-
ご利用ガイドはこちら: https://unreact.jp/shopify-apps/sa-194-ur-customer-fields/guide































































































































































































































































































































































































































































































































































































