2025年4月09日·1分で読めます

重複顧客を防ぐ:チームで使える簡単なルール

電話番号またはメールを必須にし、照合チェックと非技術者でも従える明確なマージ手順で顧客の重複を防ぎます。

重複顧客を防ぐ:チームで使える簡単なルール

重複顧客が発生する理由とその重要性

「重複顧客」とは、同じ人物や会社がデータベース内に複数のレコードとして存在する状態です。時には明らかです(同じ名前と電話が二重にあるなど)。しかしよくあるのは微妙なケース:片方にメールがあり、もう片方に電話があり、名前の綴りが少し違う、といったものです。

重複は通常、日常業務の中で生まれます。お客様が新しい番号から電話してきた、誰かが “Jon” と入力してしまった、急いでいる同僚が古いレコードを素早く見つけられずに新規作成する。フォーム、チャット、インポート、POS、サポート受信箱など、顧客データが複数箇所に入ると、いくつかの明確なルールがない限り重複は発生します。

問題のコストは後になって現れます。少数の重複でも日々の摩擦を生みます:請求が混乱し、サポートが文脈を失い、営業のフォローがぶつかり合い、レポートが実態とずれ、オートメーションが誤動作する(メッセージが二重に送られるなど)。

完璧が目的ではありません。すべての重複を瞬時に見つける必要はありません。目標は一貫性です:同じ入力、同じチェック、毎回の「次の対応」が同じであること。

だからこそ、小さなルールが大規模なクリーンアップより有効です。一度だけのデデュープ作業は満足感がありますが、チームに日常的に守れる単純な習慣がなければ重複は戻ってきます。

重複がどこから来るか(よくある発生源)

重複はめったに「データ問題」として始まりません。作業の瞬間から始まります:誰かが素早く顧客を追加する必要があり、既存レコードを確認するより新規作成したほうが簡単に見えるシステムです。

まず、顧客レコードがデータベースに入るすべての場所を洗い出してください。多くの場合の入り口はウェブフォーム、スタッフの手入力(電話、来店、サポート)、ファイルインポート、連携(決済、チャット、メールツール、マーケットプレイスのリード)、モバイルキャプチャ(フィールド営業、QR、タブレット)です。

入り口が見えたら、根本原因は大抵予測可能です:

  • タイプミスやフォーマットの違い(余分なスペース、国番号の欠落、ドメインの綴り間違い)。
  • 「同じ人、別の会社」(職場変更や新しい仕事用メール)。
  • 共有識別子(家族がメールを共有、小規模事業で電話を共有)。
  • チャネル間で必須項目が不一致(ウェブフォームはメール必須、コールセンターは名だけ保存できる等)。

最後の項目は特に重要です。チャネルごとに最低限収集する情報が違うと、後で照合ができず、次のやり取りで「新規作成」になってしまいます。

最低必須項目を決める(電話、メール、または両方)

信頼できる識別子を取らずに顧客を作成できると重複は増えます。レコードを保存する前に何を必須にするかを決めてください。

実務的な最小要件は、電話かメールのいずれか一つを必須にすることです。チームが通常どちらも使い、顧客がそれらを提供するなら、両方を必須にすることで確度は高くなります。重要なのは、すべてのチャネル(ウェブ、スタッフ入力、インポート)で一貫性を保つことです。

多くのチームが覚えやすいシンプルな選択肢:

  • 電話かメールのいずれかを必須にする。
  • 「アクティブ」な顧客には電話とメールの両方を必須にする。
  • B2B では会社名と電話かメールを必須にする(共有の受信箱があるため)。

最低項目を決めたら、同じ情報が複数バージョンで保存されないよう基本的なフォーマットルールを追加してください。

メールルール:前後のスペースを除去し、小文字で正規化して保存し、その正規化した値で照合します。電話ルール:スペースや句読点を取り除き、チームが使う一つの形式に正規化します(複数国を相手にするなら国番号を含めるのが望ましい)。

例:あるスタッフが “ [email protected] ” と保存し、後でウェブフォームが “[email protected]” を取得した場合、保存前に正規化して照合すれば一人の顧客として扱えます。

最後に、電話もメールもない顧客をどう扱うかを決めてください。判断をスタッフ任せにしないこと。一般的な方法は、連絡先がない顧客は Lead/Prospect として保存して連絡先が追加されるまでそのままにする、来店や一度きりの現金販売など明確な理由がある場合にのみ一時的に許可する、または「連絡先なし」はマネージャー承認を必要とする、などです。

作業を阻害しない照合チェックの選び方

目標は、スタッフの作業を遅らせずに重複を防ぐことです。実務的にはチェックを二種類に分けるのが良い:「確実に同一」に対するハードストップと、「たぶん同一」に対するやんわりした警告です。

完全一致から始める(ブロックしても安全)

完全一致は分かりやすく説明もしやすいです。二つのレコードが同じメールアドレスや同じ電話番号を共有するべきではありません。

まず正規化してから照合してください。新しいレコードの正規化済みメールか正規化済み電話が既存の顧客と一致する場合は作成をブロックします。

類似一致を追加する(警告にして安全に)

類似一致は「近いが完全ではない」ケースを捕まえますが、通常は警告にすべきです。スタッフが一旦立ち止まり確認して先に進めるのを助けます。

類似一致ルールはシンプルに保ってください。複雑にしなくても使える例:

  • 名が違っても姓と電話が同じ。
  • フルネームが同じでメールドメインが同じ(例:@company.com)。
  • 住所が同じで名前が類似(世帯に有効)。
  • 会社名が同じで役職が似ている(B2B 向け)。

類似一致が見つかったら、上位1~3件の候補を短く提示してください。長いリストを画面に出す必要はありません。「可能性のある一致が見つかりました。作成前に開いて確認してください」のような短いメッセージで十分です。

例:スタッフが “Jon Smith” と 555-0101 を入力し、既に “John Smith” が (555) 0101 で存在する場合、それは警告を出して既存レコードを開きやすくするべきです。

スタッフ向けのシンプルな「検索→作成」ワークフロー

顧客データをきれいにモデル化する
Postgres で識別子を明確にし、初日から正規化した顧客データモデルを設計します。
今すぐ構築

多くの重複は急いで作られます。単純な習慣で多くを防げます:先に検索し、次に作成。

その習慣を簡単にするために、新規作成フォームが開く前に画面上部にクイック検索を置いてください。スタッフがその場で持っている情報に焦点を当てます:電話、メール、姓。何も出なければ初めてフルの作成フォームを表示します。

コール、メール、来店で使えるスタッフ向けの台本:

  • まず電話かメールで検索する(順番を決めて毎回従う)。
  • 完全一致があればそれを開き、欠けている情報を更新して新規作成はしない。
  • 可能性のある一致があれば開いて主要項目(名前、電話、メール、会社)を比較する。
  • まだ不明確なら “要確認” とタグ付けして二重作成せずに続行する。

可能性のある一致が出たときは、スタッフに「記憶で決めさせない」こと。3~5項目のコンパクトな比較パネルと、最後の注文やメッセージなどのコンテキストを表示してください。

オーバーライドは稀にし、定義済みにしてください。誰がブロックをバイパスできるか、何を記録する必要があるか(例:「ダウンタイム中に作成」)を決め、オーバーライドは簡単なレビューキューに流してください。

情報を失わずに安全にマージする方法

マージは削除とは違います。安全なマージとは、一つのレコードを “保持” にして、もう一方に有用な詳細を移し、残りはマージ済みとしてマークすることです。これにより履歴が保たれ、後で必要なものを失いません。

スタッフが推測しないよう、明確な「勝者」ルールを決めてください。よくある基準は情報が最も揃っているレコード、最近アクティブなレコード、または検証済みのレコードです。フィールドが矛盾する場合は検証済みの値を優先します。

誰かがマージをクリックする前に、情報が失われやすい領域を素早く確認することを必須にしてください:連絡方法、アクティビティ(注文、チケット、予約、請求)、ノートとタグ、関係(会社、同居者、担当者)、二重になりやすいフィールド(メールが二件ある等)。

マージ時には価値を加えるものはすべてコピーしてください。同居できる値は両方保持(例:補助電話)、どちらか一方の値しか入れられない項目は検証済みまたは最新のものを残し、別表記をノートに残します。

例:「Maria Gonzales」には電話と先週の注文があり、「Maria Gonzalez」にはメールと古いサポートノートがある場合、保持するのは最近注文のあるレコードです。メールとサポートノートは移し、他のレコードは “Merged into Maria Gonzales” としてマークします。

最後に、誰がいつ何の理由でマージしたかの監査ログを残してください(例:「電話と配送先住所で一致と判断」)。

インポートと連携:入り口で重複を防ぐ

例外を意図的に扱う
「連絡先なし」の顧客は Lead に振り分けて、例外がデフォルトにならないようにします。
構築を始める

インポートや連携は重複が急速に増える場所です。スプレッドシートのアップロードで何百ものほぼ同一行が一度に入ることがあり、連携は送信ごとに新しい顧客レコードを静かに作ることがあります。

各データフローの役割を明確にしてください:新規顧客を作るためか、既存を更新するためかは別の操作です。「新規」は自信のある一致がない場合にのみレコードを作成すべきで、「更新」は既存レコードだけを触るべきです。

インポートや連携を有効にする前に、何行が作成、照合・更新、レビュー対象、必須項目不足で拒否、ファイル内重複でスキップされるかを数で示すプレビューステップを入れてください。

そのプレビューは安全ブレーキです。「新規」の数が不自然に多ければ停止して照合ルールを調整してください。

一つのルールで多くの被害を防げます:空欄で良いデータを上書きしないこと。インポート行に電話やメール、住所が空なら既存の値を保持し、新しい値が存在し明らかに優れている場合のみ置き換えます。

小さなサンプルレビューも有効です。フルインポート前に「新規」「照合」「フラグ」の各カテゴリから数行を抜き出して確認し、問題があればルール調整して再プレビューしてください。

避けるべき一般的な誤りと落とし穴

軽いレビューキューを維持する
週次の「可能性のある重複」レビューを自動化して、小さな修正を早めに行います。
ワークフローを作成

多くのチームは良かれと思って始めますが、小さなショートカットが積み重なります。「後で重複を直す」は習慣化すると問題です。新しい重複が次々と作られる一方でデータ品質は落ちます。

よくある落とし穴:

  • 弱い一致で業務を阻止する。システムが「John S」と「Jon S」を理由に強制ブロックすると、スタッフは回避策を取ります。類似一致は警告にし、完全一致のみハードブロックにしましょう。
  • 連絡先不足を軽い例外扱いにする。「今回だけ」が習慣になってしまいます。電話やメールを最低必須にするなら実際に守るか、代替経路を明確に定義してください。
  • 関連履歴をチェックせずにマージする。注文や請求、チケット、会話が別々のプロファイルに付いていることがあります。何が移動し、何が上書きされるかを常に確認してください。
  • 名前だけで検出する。名前は変わるし、綴りが違ったり家族で共有されたりします。名前だけの照合は誤マージを招き、修復が重複より難しくなります。
  • ルールにオーナーがいない。所有者がいないと必須項目が曖昧になり、例外が増え、一時的な対処が常態化します。

例:スタッフが電話で “Maria Gomez” を作成してメールをスキップすると、後で Maria がオンラインでメールを使って登録し、二つのプロファイルが生まれます。最低一つの強い識別子を必須にし、保存前に「可能性のある一致」を表示するだけでこの分裂を防げます。

チームが従えるクイックチェックリスト

短い手順は長いポリシー文書より効きます。これは「新規顧客」ボタンのそばや SOP に入れておきましょう。

  1. まずメールか電話で検索(毎回同じ順序にする)、その後に姓を試す。
  2. 可能性のある一致が見えたら、作成前に顧客に確認する。
  3. マージが必要な場合は一時停止して各レコードに何が付いているか(注文、未処理チケット、請求、ノート、担当者)を確認する。
  4. マージ後に「ゴールデン」連絡先と優先名前を確認する。
  5. 週に一度、小さな「可能性のある重複」キューを見て、情報が新しいうちに修正する。

例:顧客がサポートに [email protected] からメールしたが、営業が個人 Gmail で保存していた場合、名前だけで検索すると既存レコードを見逃して二重作成してしまう可能性があります。メールや電話で検索すれば両方がすぐに見つかります。

例:現実的な重複とスタッフによる修正手順

リスクなく重複をマージする
監査ログ付きのマージ承認フローを設定し、マージを安全かつ一貫して行えるようにします。
ワークフローを作る

Maya はサポート担当です。顧客から「ログインできない」と電話があり、名は Daniel Lee、メールは [email protected] と伝えられました。Maya は古いレコードに [email protected] が登録されているのを見つけます。名前は同じでメールだけ違う、よくある状況です。

Maya はルールに従い、まず検索します。電話番号で検索し(発信者が番号を伝える)、次に姓と会社で検索します。二つの顧客レコードが出てきました。一方は購入履歴があり、もう一方は新しいメールだけで注文はありませんでした。

本人確認のために、Maya は既存データに結びつく短い質問を二つします:最近の請求で使われた支払方法の下4桁と配送先の郵便番号。どちらも古いレコードのものと一致しました。これで両方が同一人物だと確信できます。

マージ前に Maya は両レコードの内容を確認して、何も失われないようにします。古いレコードの顧客 ID と注文履歴を保持し、新しいメールをそこに移し(古いメールは補助として残す)、最新確認済みの電話を残し、住所を適切に統合し、タグやサポートチケットも保持します。

マージ後、Maya は新しいメールにパスワードリセットを送り、短いメモを残します:「サポート電話でメール更新、ZIP と直近請求で確認」。

ここで重複を防ぐ習慣は単純です:電話で新しいメールを聞いたら、新規作成せず検索して既存プロファイルを更新する。

次のステップ:軽いガバナンスでルールを定着させる

ルールは誰かが管理し、忙しい日でも簡単に守れるものでないと機能しません。ガバナンスは軽く保ってください:明確なオーナー、いくつかの見える指標、長くならない短いルーチン。四半期ごとの大掃除仕事にしないことが重要です。

責任を割り当てます。ある人はルール(必須項目、何を一致とみなすか)の維持を担当し、別の人がリスクの高いマージを承認します。スタッフは検索してから作成する手順を守り、エッジケースをフラグします。チームリードは基本的な指標を週次でチェックし、過度なブロックを解除します。

追跡すべき小さな指標:

  • 週ごとの検出された重複数(減少傾向にあるべき)
  • マージまでの平均時間(分単位が望ましい)
  • ブロックされた作成数(多すぎるとチェックが厳しすぎる)
  • 電話やメールが欠けているレコードの割合(トレーニングの穴を示す)

継続的なクリーンアップは小分けで月次が良い(例:直近に作られた200件や特定チャネルで作られたレコード)。安全にマージできるものを統合し、混乱したものはログに残してルールを改善します。

内部ツールでこれらのステップを強制するなら、ノーコードプラットフォームの AppMaster (appmaster.io) のようなツールを使うと、必須項目、照合チェック、マージ承認を Web とモバイルで一貫させ、シフト担当者に依存しないプロセスにできます。

よくある質問

重複顧客を最速で減らす方法は?

まず全員が従う一つのルールから始めてください:新しいレコードを作成する前に、強力な識別子で検索すること。名前や綴りは変わりやすいので、電話番号とメールアドレスが最も信頼できます。

次に、顧客が作成されうるすべてのチャネル(ウェブフォーム、スタッフ入力、インポート、連携)で同じ最小必須項目を適用してください。チャネル間の一貫性があれば、大半の重複は防げます。

顧客の作成に電話、メール、または両方を必須にすべきですか?

最低でも、顧客レコードを保存する前に電話番号かメールアドレスのどちらかを必須にしてください。顧客が通常どちらも教えてくれるなら、両方を必須にするとさらにあいまいさが減ります。

もし「連絡先なし」の顧客(来店など)を許可する必要がある場合は、それらを別のステータス(Lead/Prospect など)に入れるか、理由を必須にしてデフォルト化しないようにしましょう。

誤字やフォーマットの違いをどう扱えば重複を作らない?

保存と照合の前にメールと電話を正規化してください。メールは前後のスペースを削り、小文字で保存して照合に使います。電話は句読点やスペースを除去し、チームが使う一つの形式に統一します。

これにより「 [email protected] 」と「[email protected]」が同一の顧客として扱われ、重複を防げます。

いつシステムは新しい顧客の作成をブロックし、いつ警告だけにすべき?

正規化したメールや電話の完全一致には作成をブロックしてください。これらはほぼ同一人物を示すため、安全にブロックできます。一方で、類似一致(名前の揺れや同一ドメインなど)は警告にして、業務を止めないようにします。

弱いシグナル(名前の類似など)で強制ブロックすると、スタッフが回避策を取って逆に重複が増えることが多いです。

スタッフが実際に守るシンプルな“検索してから作成”のワークフローは?

「新規作成」フォームが開く前に簡単な検索ステップを置いてください。スタッフはまず電話かメールで検索し、次に姓を確認します。何も信頼できるものが出てこなければ新規作成します。

可能性のある一致が出たら、小さな比較ビュー(主要フィールドと最近の活動)を表示し、推測せずすぐに確認できるようにします。

重要な履歴を失わずに重複顧客をどうマージする?

「保持する」レコードを明確なルールで決めます(最も情報が揃っている、最近アクティブ、検証済みなど)。重要な履歴は消さずに残し、もう一方のレコードは “Merged” としてマークします。

マージ前に注文、請求、チケット、ノート、担当者などの関連情報を確認してください。価値がある情報は移し、共存できるものは両方保持(例:補助電話番号)し、名前などの競合は検証済み・最新の値を優先して別スペースへ代替表記を残します。

スタッフが丁寧でも、インポートや連携で重複は発生しますか?

はい。インポートや連携は重複を一気に増やします。データフローごとに目的をはっきりさせてください:新規作成か既存更新かは別の操作です。“新規”は自信のある一致がない場合のみ作成し、“更新”は既存レコードのみ触るべきです。

実行前にプレビューを入れて、何行が作成、更新、要レビュー、拒否、ファイル内の重複でスキップされるかを数値で示してください。新規が多すぎると感じたら止めて照合ルールを調整します。

一つの基本ルール:空欄で良いデータを上書きしてはいけません。受け取った行のフィールドが空なら既存値を保持し、明確に優れた値がある場合のみ置き換えてください。

フルインポート前にサンプルチェックを数件行うと安全です。

2つのレコードが同じ顧客かどうか、スタッフはどう確認すれば良い?

既に信頼している連絡識別子から始めてください:確認済みの電話番号、確認済みのメール、最近の請求の情報、配送郵便番号など、顧客が答えられるデータを一つか二つ聞きます。確認後にマージしてください。

名前だけに頼るのは避けてください。家族や共有メール、綴り違いで誤ってマージすると、重複よりも修正が難しくなることが多いです。

電話やメールの提供を拒否する顧客はどう扱う?

例外は定義されたルートで扱い、気まぐれで許可しないこと。電話やメールを教えたくない顧客がいる場合は理由を必須にして、そのレコードを一時ステータスにして後で補完されるようにしてください。

これにより「今回だけ」を常態化させず、例外が増えるのを防げます。

AppMaster はこれらのルールを Web とモバイルで強制できますか?

はい。内部ツールで顧客入力とマージプロセスを作れば、必須項目や照合チェック、マージ承認を一貫して適用できます。

AppMaster を使えば、Web とモバイルで同じ検証ルールとワークフローを実装でき、誰が担当かに依存しない運用が可能になります。

始めやすい
何かを作成する 素晴らしい

無料プランで AppMaster を試してみてください。
準備が整ったら、適切なサブスクリプションを選択できます。

始める