Skip to content
HubSpot で会社・担当者・取引を関連付けてインポートする手順

HubSpot で会社・担当者・取引を関連付けてインポートする手順

最終更新日: / 公開日:

最終更新日: / 公開日:

本記事のポイント

  • 会社・担当者・取引を別々にインポートして、あとから手作業で紐づけると数百件で破綻します。正解は「1 ファイルに複数オブジェクトを並べ、共通キー列で同じ行に置く」だけで、同じ行のレコードが自動で関連付きます
  • 共通キーは会社 = Company domain name、担当者 = Email、取引 = Record ID または取引名。この unique key を用意しておけば重複も同時に防げます。ラベルなしの関連付けは Starter でも使えます
  • 会社 500・担当者 1,300・取引 400 を 1 ファイル (1,300 行) の 1 回のインポートで関連付けるモデルケースで、共通キー設計から失敗時のリカバリまで STEP 順に再現します。手元の CSV を整形する AI 実行キットも巻末に付けます

「会社と担当者を別々に入れたら、あとで一件ずつ手作業で紐づける羽目になって、数百件で心が折れた」。HubSpot にデータを移す現場で、私たち humbulls がよく聞く悩みです。原因は HubSpot の操作が難しいからでも件数が多いからでもありません。オブジェクトを 1 つずつ順番に入れているからです。本記事では、ある業務用美容機器メーカーの支援で実際に組んだ関連付けインポートを、そのまま再現できる手順に落として公開します。CSV を触ったことがあれば十分で、整形そのものは巻末の AI 実行キットに任せられます。

できあがるもの — 1 回のインポートで会社・担当者・取引が紐づく

完成形から見せます。下図のように、1 つの CSV ファイルの各行に「担当者 1 名 + その所属会社 + 関連する取引」を並べておくと、インポート実行時に HubSpot が同じ行のレコードを自動で関連付けます。担当者レコードを開けば所属会社と取引が、会社レコードを開けば担当者一覧が、最初から紐づいた状態で表示されます。あとから手で紐づける作業はゼロです。

1 つの CSV ファイルに担当者・会社・取引を同じ行で並べ、インポート時に自動で関連付くレイアウトを示した図

項目 内容
所要時間 30 分〜1 時間 (CSV 整形を含む。整形を AI に任せれば 30 分ほど)
前提条件 HubSpot アカウント (Starter / 無料でも可) / 会社・担当者・取引のデータ (CSV または Excel)
追加ランニングコスト $0 (インポート機能は全プランで利用可)
モデルケースの規模 会社 500・担当者 1,300・取引 400 を 1 ファイル 1,300 行で一括関連付け

複数ファイルに分けて共通列で紐づける方式もありますが、扱うオブジェクトが 3 つ以上なら 1 ファイルにまとめるほうが確実です。以下、STEP 1 から順に進めれば、上図の状態がそのまま組み上がります。

STEP 1. どの列で紐づけるかを決める — 共通キー設計と方式の 2 択

「とりあえず会社を全部インポートして、次に担当者を入れたら、会社と担当者がバラバラのまま積み上がった」。関連付けの相談で最もよく聞く入り口の失敗です。診断ははっきりしています。原因は手順の順番ではなく、レコードを一意に見分けるための共通キー列を先に決めていないことにあります。

HubSpot はインポート時に「この列の値が一致するレコードは同一人物 / 同一会社」と判断します。この一意な目印を unique identifier (ユニーク識別子) と呼び、オブジェクトごとに決まっています。

オブジェクト 使う共通キー (unique identifier) 補足
会社 (Company) Company domain name example.com のようにトップレベルドメインまで。同じドメインは 1 社に集約される
担当者 (Contact) Email HubSpot Contacts は email がユニーク。同じ email は同一人物として扱われる
取引 (Deal) Record ID または取引名 既存取引を更新するなら Record ID、新規なら取引名を使う

このキー設計が決まると、方式は 2 つに絞れます。1 つは今回使う「同一ファイル複数オブジェクト方式」で、1 つの CSV に会社・担当者・取引の列を全部並べ、同じ行に置いたレコード同士を関連付けます。もう 1 つは「複数ファイル方式」で、会社ファイルと担当者ファイルを別々に用意し、両方に入れた共通列 (会社名など) を突き合わせて紐づけます。判断基準はこう整理できます。オブジェクトが 2 つで、それぞれ独立して管理しているデータなら複数ファイル方式でも十分です。3 つ以上を一度に関連付けるなら、同一ファイル方式のほうが列を 1 か所で管理でき、突き合わせのズレが起きません。

よくある失敗は、この共通キー列を用意せずにインポートを始めてしまうことです。unique identifier が無いと、HubSpot は既存レコードと突き合わせる手がかりを失い、関連付けるどころか同じ会社・同じ担当者を重複して新規作成します。会社なら Company domain name、担当者なら Email の列を、整形の最初に必ず作ってください。この「email はユニーク」という原理は、API 経由で同期する場合の重複対策と同じ考え方で、Kintone と HubSpot の並行運用 でも upsert キーとして使っています。

STEP 2. 1 ファイルに複数オブジェクトを並べる — 同じ行が関連付く

共通キーが決まったら、CSV を 1 ファイルに整形します。ここでの原則はひとつで、関連付けたいレコードは同じ行に置くことです。このモデルケースでは、担当者を主軸にして 1 行 = 担当者 1 名とし、その担当者が所属する会社と、担当している取引を同じ行の右側に並べました。結果は 1,300 行の 1 ファイルです。

レイアウトはこうなります。

列 (ヘッダー) 対応オブジェクト 役割
Email 担当者 担当者の共通キー
姓 / 名 担当者 担当者プロパティ
Company domain name 会社 会社の共通キー (この列が一致すると同じ会社に紐づく)
会社名 会社 会社プロパティ
取引名 取引 取引の識別
金額 / 取引ステージ 取引 取引プロパティ

同じ行に Email・Company domain name・取引名がそろっていれば、その行の担当者・会社・取引は 3 つとも互いに関連付きます。1 つの会社に担当者が複数いる場合は、同じ Company domain name を複数の行に繰り返します。会社は 500 社しかなくても担当者が 1,300 名いるのはこのためで、ドメインが重複する行は HubSpot 側で 1 社に集約され、その 1 社に複数の担当者がぶら下がります。逆に 1 人の担当者が複数の取引を持つ場合は、同じ Email を複数行に繰り返し、各行に別々の取引名を書きます。

会社・担当者を別々にインポートして手作業で紐づけて破綻する従来と、1 ファイルで関連付けまで一括で終わる方法を並べた比較図

ファイル整形のつまずきポイントは 2 つあります。1 つは Company domain name の表記ゆれです。https://example.com/www.example.com が混ざっていると別会社と見なされて集約されないので、example.com の形にそろえます。もう 1 つはファイル要件で、形式は .csv / .xlsx / .xls、日本語を含むなら UTF-8 で保存し、ヘッダー行は 1 行だけ、列は 1,000 未満に収めます。この整形作業そのものは、巻末の AI 実行キットに手元のバラバラな CSV を渡せば一気に片付きます。

STEP 3. インポートを実行してマッピングする — Single file で取り込む

ファイルができたら HubSpot に取り込みます。操作は管理画面から進めます。右上の More から Data Management > Data Integration を開き、Import data をクリックします。ここで通常の「Start an import」ではなく Advanced imports (all objects) を選ぶのが、複数オブジェクトを関連付けるときの分岐点です。

進め方は次の通りです。

  1. 取り込むオブジェクトを選ぶ画面で、Contacts・Companies・Deals のように関連付けたいオブジェクトを複数選択して Next
  2. ファイルの構成を聞かれたら Single file (1 ファイル方式) を選び、STEP 2 で作った CSV をアップロード
  3. マッピング画面で、各列をどのオブジェクトのどのプロパティに割り当てるか確認する。Email は担当者、Company domain name は会社、というように「Import As」で対応先を指定する

マッピング画面では、共通キーとして正しく認識された列にキー (鍵) のアイコンが表示されます。担当者の Email 列と会社の Company domain name 列にこのアイコンが出ていれば、関連付けと重複防止の準備が整っています。複数オブジェクトを 1 ファイルで扱うため、同名の列 (Record ID など) はヘッダーを「Record ID - Contacts」「Record ID - Companies」のように区別しておくと、マッピングで取り違えません。

なお、関連付けに「意思決定者」「担当窓口」といったラベルを付けたい場合は、Association label という列を用意し、マッピングで Import As を Association label に変更します。ただしこのカスタムラベル付き関連付けは Professional / Enterprise が前提です。Starter や無料プランでは、ラベルなしの基本的な関連付け (会社と担当者がただ紐づく状態) までが対象になります。多くの初回インポートはラベルなしで十分なので、Starter でもこの手順はそのまま通ります。

STEP 4. 関連付けを確認し、失敗を直す — 重複ができたときのリカバリ

インポートが終わったら、関連付けを確認します。担当者レコードを 1 件開き、右サイドの「会社」と「取引」の欄に、想定した会社名と取引名が表示されていれば成功です。会社レコードを開けば、その会社に紐づく担当者一覧が並びます。1,300 行すべてが欠落なく紐づいていれば成功です。

うまくいかない典型は、会社や担当者が重複して増えているケースです。原因はほぼ 1 つで、共通キー列 (Company domain name / Email) が空だった行、または表記がそろっていなかった行があることです。HubSpot は突き合わせるキーが無い行を「新しいレコード」として作るため、同じ会社が 2 件、同じ人が 2 件と積み上がります。リカバリは次の順で進めます。

  1. インポート結果画面で、作成されたレコード数が想定と合っているか確認する (会社 500 のはずが 700 なら 200 件が重複の疑い)
  2. 重複した会社 / 担当者を HubSpot の重複管理機能でマージするか、いったん削除する
  3. 元 CSV の Company domain name / Email が空・表記ゆれの行を修正し、その行だけを再インポートする

繰り返しになりますが、重複は件数の問題ではなく共通キーの欠落の問題です。毎月のように同じ形式でインポートするなら、UI 作業を繰り返すより API で取り込むほうが安定します。その入り口は HubSpot API を Claude Code から叩く で解説しています。

動作確認 — 何が見えれば成功か

ここまで進めたら、次の 3 点を確認します。

  • 担当者レコード: 任意の担当者を開き、右サイドに所属会社と関連する取引が表示されている
  • 会社レコード: 任意の会社を開き、紐づく担当者が一覧で並び、同じ会社が重複していない
  • インポート結果: 作成された会社 / 担当者 / 取引の件数が、元データの実数 (今回は 500 / 1,300 / 400) とほぼ一致している

3 点がそろえば、会社・担当者・取引が正しく関連付いた状態です。件数が想定より多い場合は STEP 4 の共通キー欠落を疑ってください。

まとめ — 関連付けは「同じ行に置く」だけ

会社・担当者・取引を別々に入れて手で紐づける必要はありません。共通キー (Company domain name / Email) を決め、関連付けたいレコードを 1 ファイルの同じ行に並べ、Advanced imports の Single file で取り込む。この 4 STEP で、1,300 行のデータが 1 回のインポートで関連付いた状態になります。整形は巻末の AI 実行キットに任せられるので、CSV を触れれば 30 分ほどで再現できます。

データの入り口が整ったら、次は取り出しと運用です。関連する記事は下表から辿れます。

テーマ 記事
HubSpot Starter の全体像と始め方 HubSpot Starter 活用ガイド
既存 CRM (Kintone) との並行運用・一括 import Kintone と HubSpot の並行運用

こうしたデータ移行や CRM 整備の伴走が必要でしたら、humbulls へのお問い合わせ からご相談ください。

🤖 AI 実行キット

手元のバラバラな CSV を、関連付けインポート用の 1 ファイルに整えるためのキットです。プロンプトはブラウザ版 Claude にコピペすれば動きます。

キット① 手元の CSV を関連付けインポート用に整形する — 20 分

種別: 実装キット 使うもの: Claude (ブラウザ版で可) 事前に用意するもの: 会社・担当者・取引が入った CSV / Excel (別々のファイルでも、列がごちゃ混ぜの 1 枚でも可)。列名の一覧だけでも始められます

プロンプト:

HubSpot に会社・担当者・取引を「関連付けたまま」1 ファイルでインポートしたいです。
手元のデータを、その 1 ファイル形式の CSV レイアウトに整形してください。

【手元のデータ】
- ファイル/シートの構成: (例)companies.csv と contacts.csv の 2 枚に分かれている
- 会社側の列: 会社名, URL, 業種, 住所(記入例。自社の列に置き換え)
- 担当者側の列: 氏名, メール, 電話, 会社名(記入例)
- 取引の有無: あり(取引名・金額・ステージ列がある / ない を記入)

【必ず守る整形ルール(HubSpot の関連付け仕様を転写)】
1. 関連付けたいレコードは「同じ行」に並べる(担当者 1 行に、その所属会社と取引を同じ行の右側へ)
2. 共通キー列を必ず作る:
   - 会社 = Company domain name(URL から example.com の形に正規化。https:// や www. は除去)
   - 担当者 = Email(一意。空の行は関連付けできないので警告リストに出す)
   - 取引 = 取引名(既存更新なら Record ID)
3. 1 社に複数担当者がいる場合は、同じ Company domain name を複数行に繰り返す
4. 氏名は「姓」「名」の 2 列に分割する
5. ヘッダーは 1 行、UTF-8、列は 1,000 未満

【出力】
- 整形後の CSV(先頭 10 行のプレビュー + 全件をダウンロードできる形)
- Company domain name / Email が空・表記ゆれだった行の一覧(インポート前に直す用)

出力の確認ポイント:

  • Company domain name が example.com の形にそろっているか (https://www. が残っていると別会社に割れます)
  • Email が空の行が「警告リスト」に挙がっているか (空のままインポートすると担当者が重複します)
  • 1 社に複数担当者がいる会社で、同じ Company domain name が複数行に繰り返されているか

うまくいかないとき:

  • インポート後に会社が想定より増えた → Company domain name の表記ゆれが残っています。警告リストの行を正規化し、その行だけ再インポートしてください
  • 担当者が二重に増えた → Email 空欄の行をインポートしています。空欄行を除外するか email を補ってから取り込んでください
  • ラベル (意思決定者 等) を付けたい → カスタムラベルは Professional 以上が前提です。Starter ではラベルなしの関連付けで取り込み、ラベルは後から手動で付けます

参考文献

こんな記事も読まれています