既存顧客との重複を防ぐ仕組み

店舗の既存会員がオンラインで新規登録した場合に、重複を防いで正しく紐付ける方法

重複防止既存顧客名寄せマッチング
読了時間: 6分

この記事について

オンラインで新規登録した顧客が、実は店舗の既存会員だった、というケースがあります。この場合、重複登録を避け、既存の顧客情報と紐付ける必要があります。

なぜ重複が発生するのか

典型的なシナリオ

店舗会員がオンライン登録
過去店舗で会員カード作成(POS会員番号: 00001)
今日同じメールでオンライン新規登録
問題同じ人なのに別会員として登録?
オンライン会員が店舗来店
過去オンラインで会員登録(Shopify ID: 12345)
今日店舗で「会員登録お願いします」
問題新しいPOS会員として登録?ポイント分散?

重複が引き起こす問題

ポイント分散
影響オンラインと店舗で別々にポイントが貯まる
購買履歴の分断
影響同一人物の購買傾向が分析できない
顧客対応の混乱
影響「どちらの会員番号ですか?」という確認が必要
マーケティング効率低下
影響同じ人に重複してDMを送付

重複判定のロジック

メールアドレスによる照合

本プロジェクトでは、メールアドレスをプライマリキーとして重複判定を行います。

登録リクエスト受付

顧客がオンラインで会員登録フォームを送信

POSで既存チェック

入力されたメールアドレスでPOSの顧客データベースを検索

結果による分岐

既存顧客が見つかった場合と、見つからない場合で処理を分岐

統合または新規作成

既存あり→会員番号を更新して紐付け、既存なし→完全新規として登録

既存顧客チェックの流れ

メールアドレスで既存顧客をチェック
オンライン登録リクエスト受付

メールアドレス: yamada@example.com

POSでメールアドレス検索

見つかった → 既存のPOS顧客IDを取得 / 見つからない → 完全新規のPOS顧客作成

会員番号をShopify IDで更新

これでShopify IDでPOS顧客を特定可能に

なぜメールアドレスで照合するのか

マッチングキーの比較

メールアドレス
一意性高い
変更頻度低い
取得難易度容易
採用度★★★ 採用
電話番号
一意性やや高い
変更頻度やや高い
取得難易度容易
採用度★★☆ サブキー
氏名
一意性低い
変更頻度低い
取得難易度容易
採用度★☆☆ 補助のみ
住所
一意性やや高い
変更頻度高い
取得難易度容易
採用度★☆☆ 補助のみ

メールアドレスの利点

  • 両システムで必須: ShopifyもPOSもメールアドレスを持っている
  • 重複しにくい: 同じメールを複数人が使うことはほぼない
  • 変更頻度が低い: 電話番号より変わりにくい
  • 検索が高速: インデックスが効きやすい

既存会員の更新処理

何を更新するか

既存のPOS会員が見つかった場合、会員番号を上書きします。

会員番号のみ更新し、他の情報とポイント残高は引き継がれます。

なぜ会員番号だけを更新するのか

  • ポイントを維持: 既存のポイント残高を失わない
  • 購買履歴を維持: 過去の購買履歴がそのまま残る
  • 紐付けの確立: Shopify IDで検索できるようになる

考慮すべきエッジケース

エッジケースと対処法

メールアドレスを変更した顧客
問題店舗登録時と異なるメールでオンライン登録→別人として扱われる
対処法店舗スタッフがPOSでメールアドレスを更新、または顧客が店舗にメール変更を申告
家族で同じメールアドレスを使用
問題夫が店舗登録、妻がオンライン登録→同一人物とみなされ紐付けられる
対処法「このメールアドレスは既に登録されています」と案内し、別メールでの登録を促す
POSで複数の顧客が同じメール
問題入力ミスで重複→どちらに紐付けるべきか判断できない
対処法最初に見つかった顧客に紐付け、ログに警告を記録、管理者が後で確認・統合

この仕組みがもたらす効果

お客様にとって

  • 店舗で貯めたポイントがオンラインでも確認できる
  • 会員情報の再入力が不要
  • どのチャネルでも「同じ自分」として認識される

運営側にとって

  • 重複データによる混乱が発生しない
  • 顧客の全体像(オンライン+店舗)を把握できる
  • クレーム対応の工数が削減される

関連記事