この記事について
2つのシステムで顧客を照合するには、両方に存在するユニークな情報を見つける必要があります。どの情報をマッチングキーとして使うべきか、各候補の比較と選定理由を解説します。
マッチングキーの候補
候補となる情報
| 候補 | 一意性 | 取得難易度 | 変更頻度 | 表記ゆれ |
|---|---|---|---|---|
| メールアドレス | 高い | 容易 | 低い | なし |
| 電話番号 | やや高い | 容易 | やや高い | あり |
| 氏名 | 低い | 容易 | 低い | あり |
| 住所 | やや高い | 容易 | 高い | 多い |
| 生年月日 | 低い | やや難 | なし | なし |
メールアドレス
一意性高い
取得難易度容易
変更頻度低い
表記ゆれなし
電話番号
一意性やや高い
取得難易度容易
変更頻度やや高い
表記ゆれあり
氏名
一意性低い
取得難易度容易
変更頻度低い
表記ゆれあり
住所
一意性やや高い
取得難易度容易
変更頻度高い
表記ゆれ多い
生年月日
一意性低い
取得難易度やや難
変更頻度なし
表記ゆれなし
各候補の詳細分析
メールアドレス
採用度: ★★★(最も信頼性が高い) → プライマリキーとして採用
電話番号
採用度: ★★☆(サブキーとして有効) → メールが一致しない場合の補助として検討
氏名
採用度: ★☆☆(単独では不十分) → 補助情報としてのみ使用
住所
採用度: ★☆☆(補助情報として) → マッチングには使用せず、正規化して保存のみ
本プロジェクトの選定結果
プライマリキー: メールアドレス
| 選定理由 | 詳細 |
|---|---|
| 一意性が高い | 同じメールを複数人が使うケースは稀 |
| 表記ゆれがない | yamada@example.com は常に同じ(正規化は小文字化のみ) |
| 両システムで必須にできる | Shopify: 必須フィールド、POS: 設定で必須に |
| 自動照合に適している | 完全一致で判定できる |
一意性が高い
詳細同じメールを複数人が使うケースは稀
表記ゆれがない
詳細yamada@example.com は常に同じ(正規化は小文字化のみ)
両システムで必須にできる
詳細Shopify: 必須フィールド、POS: 設定で必須に
自動照合に適している
詳細完全一致で判定できる
フォールバック戦略
| ケース | 対応方法 |
|---|---|
| 顧客がメールを変更していた | 新規顧客として登録。後で顧客から申し出があれば手動マージ |
| 複数のメールを使い分けている | それぞれ別の顧客として扱う。顧客が申告すれば統合 |
| メールを持っていない | 店舗専用会員として扱う。オンライン利用時にメール登録を案内 |
顧客がメールを変更していた
対応方法新規顧客として登録。後で顧客から申し出があれば手動マージ
複数のメールを使い分けている
対応方法それぞれ別の顧客として扱う。顧客が申告すれば統合
メールを持っていない
対応方法店舗専用会員として扱う。オンライン利用時にメール登録を案内
照合ロジックの設計
照合の流れ
メールアドレス取得
登録フォームからメールアドレスを取得
正規化
小文字に変換、前後の空白を除去
POS検索
正規化したメールでPOSの顧客を検索
結果判定
見つかれば既存顧客、見つからなければ新規
照合時の正規化
メールアドレスの正規化
入力
" Yamada@Example.COM "
前後の空白を除去
"Yamada@Example.COM"
小文字に変換
"yamada@example.com"
POS/Shopifyを照合
この値で検索
注意: シンプルな正規化のみ。Gmailの"+"記法などは考慮しない(yamada+shop@gmail.com は別アドレス扱い)
考慮すべきエッジケース
ケース1: 同一メールで複数のPOS顧客
原因: 過去の運用ミスで同じメールが複数登録されている
| 対応 | 詳細 |
|---|---|
| 即時対応 | 最初に見つかった顧客に紐付け |
| 記録 | ログに警告を記録、管理者に通知 |
| 後続対応 | 後で手動で統合 |
| 長期対策 | POSでメールアドレスの重複チェックを強化 |
即時対応
詳細最初に見つかった顧客に紐付け
記録
詳細ログに警告を記録、管理者に通知
後続対応
詳細後で手動で統合
長期対策
詳細POSでメールアドレスの重複チェックを強化
ケース2: 家族で同じメールを使用
状況: 夫婦で同じメールアドレスを登録
| 対応 | 詳細 |
|---|---|
| 基本動作 | 同一顧客として扱われる(仕様) |
| 案内 | 登録時に「すでに登録されています」と表示 |
| 推奨 | 別のメールで登録するよう促す |
| 例外対応 | どうしても同じメールを使いたい場合は店舗で相談 |
基本動作
詳細同一顧客として扱われる(仕様)
案内
詳細登録時に「すでに登録されています」と表示
推奨
詳細別のメールで登録するよう促す
例外対応
詳細どうしても同じメールを使いたい場合は店舗で相談
ポリシー: 1メールアドレス = 1顧客
この設計がもたらす効果
確実性
- メールアドレスという確実なキーで照合
- 表記ゆれの心配がない
- 自動化しやすい
シンプルさ
- 複雑なマッチングロジックが不要
- 運用ルールが明確
- トラブル時の原因特定が容易
柔軟性
- 自動でマッチしない場合は手動対応
- 将来的に照合ロジックの追加も可能
- 既存運用への影響が少ない