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

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

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

この記事について

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

なぜ重複が発生するのか

典型的なシナリオ

重複が引き起こす問題

重複判定のロジック

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

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

登録リクエスト受付

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

POSで既存チェック

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

結果による分岐

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

統合または新規作成

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

既存顧客チェックの流れ

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

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

POSでメールアドレス検索

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

会員番号をShopify IDで更新

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

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

マッチングキーの比較

メールアドレスの利点

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

既存会員の更新処理

何を更新するか

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

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

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

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

考慮すべきエッジケース

エッジケースと対処法

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

お客様にとって

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

運営側にとって

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