この記事について
オンラインで新規登録した顧客が、実は店舗の既存会員だった、というケースがあります。この場合、重複登録を避け、既存の顧客情報と紐付ける必要があります。
なぜ重複が発生するのか
典型的なシナリオ
重複が引き起こす問題
重複判定のロジック
メールアドレスによる照合
本プロジェクトでは、メールアドレスをプライマリキーとして重複判定を行います。
登録リクエスト受付
顧客がオンラインで会員登録フォームを送信
POSで既存チェック
入力されたメールアドレスでPOSの顧客データベースを検索
結果による分岐
既存顧客が見つかった場合と、見つからない場合で処理を分岐
統合または新規作成
既存あり→会員番号を更新して紐付け、既存なし→完全新規として登録
既存顧客チェックの流れ
メールアドレスで既存顧客をチェック
オンライン登録リクエスト受付
メールアドレス: yamada@example.com
POSでメールアドレス検索
見つかった → 既存のPOS顧客IDを取得 / 見つからない → 完全新規のPOS顧客作成
会員番号をShopify IDで更新
これでShopify IDでPOS顧客を特定可能に
なぜメールアドレスで照合するのか
マッチングキーの比較
メールアドレスの利点
- 両システムで必須: ShopifyもPOSもメールアドレスを持っている
- 重複しにくい: 同じメールを複数人が使うことはほぼない
- 変更頻度が低い: 電話番号より変わりにくい
- 検索が高速: インデックスが効きやすい
既存会員の更新処理
何を更新するか
既存のPOS会員が見つかった場合、会員番号を上書きします。
会員番号のみ更新し、他の情報とポイント残高は引き継がれます。
なぜ会員番号だけを更新するのか
- ポイントを維持: 既存のポイント残高を失わない
- 購買履歴を維持: 過去の購買履歴がそのまま残る
- 紐付けの確立: Shopify IDで検索できるようになる
考慮すべきエッジケース
エッジケースと対処法
この仕組みがもたらす効果
お客様にとって
- 店舗で貯めたポイントがオンラインでも確認できる
- 会員情報の再入力が不要
- どのチャネルでも「同じ自分」として認識される
運営側にとって
- 重複データによる混乱が発生しない
- 顧客の全体像(オンライン+店舗)を把握できる
- クレーム対応の工数が削減される