この記事について
2つのシステムで顧客を照合するには、両方に存在するユニークな情報を見つける必要があります。どの情報をマッチングキーとして使うべきか、各候補の比較と選定理由を解説します。
マッチングキーの候補
候補となる情報
各候補の詳細分析
メールアドレス
採用度: ★★★(最も信頼性が高い) → プライマリキーとして採用
電話番号
採用度: ★★☆(サブキーとして有効) → メールが一致しない場合の補助として検討
氏名
採用度: ★☆☆(単独では不十分) → 補助情報としてのみ使用
住所
採用度: ★☆☆(補助情報として) → マッチングには使用せず、正規化して保存のみ
本プロジェクトの選定結果
プライマリキー: メールアドレス
フォールバック戦略
照合ロジックの設計
照合の流れ
メールアドレス取得
登録フォームからメールアドレスを取得
正規化
小文字に変換、前後の空白を除去
POS検索
正規化したメールでPOSの顧客を検索
結果判定
見つかれば既存顧客、見つからなければ新規
照合時の正規化
メールアドレスの正規化
入力
" Yamada@Example.COM "
前後の空白を除去
"Yamada@Example.COM"
小文字に変換
"yamada@example.com"
POS/Shopifyを照合
この値で検索
注意: シンプルな正規化のみ。Gmailの"+"記法などは考慮しない(yamada+shop@gmail.com は別アドレス扱い)
考慮すべきエッジケース
ケース1: 同一メールで複数のPOS顧客
原因: 過去の運用ミスで同じメールが複数登録されている
ケース2: 家族で同じメールを使用
状況: 夫婦で同じメールアドレスを登録
ポリシー: 1メールアドレス = 1顧客
この設計がもたらす効果
確実性
- メールアドレスという確実なキーで照合
- 表記ゆれの心配がない
- 自動化しやすい
シンプルさ
- 複雑なマッチングロジックが不要
- 運用ルールが明確
- トラブル時の原因特定が容易
柔軟性
- 自動でマッチしない場合は手動対応
- 将来的に照合ロジックの追加も可能
- 既存運用への影響が少ない