目次を開く
HubSpotへCSVをインポートしたあとで、同じcontactやcompanyが増えた。この事故は、import画面の操作だけではなく、CSV側のunique identifierが何になっているかを先に見ると切り分けやすくなります。
HubSpot公式では、既存レコードの更新や重複回避に、objectごとのunique identifierを使うことが案内されています。
- Contact: Email、Record ID、unique property
- Company: Company domain name、Record ID、unique property
- Deal / Ticketなど: Record IDまたはunique property
まずここが曖昧なまま再インポートしないことが重要です。
最初に見るのは「何を同一レコードとみなすか」
CSVに同じ会社名が並んでいても、HubSpotが会社名だけを見て必ず同一companyとして扱うわけではありません。
既存レコードを更新したいなら、既存レコードを一意に特定できる値が必要です。
たとえばcompanyなら、Company domain nameやRecord IDが候補になります。contactならEmailやRecord IDです。
この列が欠けている、または意図せず重複していると、create/updateの意図とHubSpot側の判定がずれます。
Duplicate record ID が出る場合
HubSpotのエラー一覧では、同じRecord IDをファイル内で複数回使うと Duplicate record ID として扱われ、該当レコードは更新・associationされないと説明されています。
確認する順番は次です。
- Record ID列を抽出する
- 空欄を確認する
- 同じRecord IDが複数行にないか確認する
- 重複している場合、同じレコードを複数行にする必要が本当にあるか確認する
- 不要な重複行を除いて再importする
単純なcontact-company associationなどでは、同一contactを複数companyへ関連付けるため複数行が必要なケースもあります。重複=即削除ではなく、その行が何を表しているかを先に確認します。
Emailの重複も見る
Contact importではEmailがunique identifierとして使われます。
同じEmailが複数行に入り、行ごとの内容が食い違っていると、どの値を採用するか分からなくなります。
特に確認したいのは次です。
- 大文字小文字や空白を除いたら同じEmailにならないか
- 同じEmailに異なる氏名・会社が紐づいていないか
- secondary emailを使っていないか
- Record IDとEmailが別レコードを指していないか
HubSpotではRecord IDをunique identifierに使うと、他のunique identifierより優先されます。Record IDとEmailを両方入れたから安全、とは限りません。
Company domain nameの重複
Company importではCompany domain nameが重要です。
同じdomainを複数companyに持たせたい運用もありますが、通常の「1社=1domain」運用なら、import前に重複domainを確認した方が安全です。
たとえば次のようなケースです。
name,domain
Acme Japan,acme.com
Acme US,acme.com
これが意図した親子会社表現なのか、単なる重複なのかで対応は変わります。
再import前の最小チェック
HubSpotへ戻る前に、CSVだけで次を確認します。
- Record IDの空欄
- Record IDの重複
- Emailの重複
- Company domain nameの重複
- ヘッダー重複
- 行ごとの列数ズレ
- 引用符崩れ
構造側だけ先に切り分けたい場合は、HubSpot CSVインポート前チェックから無料のCSV Quick Checkへ進めます。CSVはブラウザ内だけで処理します。
「Create only」と「Update」を混同しない
HubSpotのimportでは、createだけしたいのか、既存レコードをupdateしたいのかでも挙動が変わります。
既存データを更新するつもりなのにunique identifierがないと、新規作成になったり、期待した更新にならない可能性があります。
逆にcreate onlyで既存identifierと一致する値を含めれば、その行がimportされない場合があります。
CSVを直す前に、今回のimportがcreateなのかupdateなのかを言語化する。 これだけでも重複事故はかなり減ります。
まとめ
HubSpot importで重複が増えたときは、まずCRM画面でmergeを始める前にCSVを見ます。
特に見るのは、Record ID / Email / Company domain name / unique propertyです。
import前に識別列と構造を確認しておけば、重複を作ってから消す作業を減らせます。
構造チェックに加えて、指定列の必須値・重複もまとめて確認したい場合は、CSV Preflightでローカル検査できます。HubSpot APIやCRM内のproperty存在までは検証しないため、最終判断はHubSpot側のmapping画面でも確認してください。