HubSpotのコンタクト情報を自動で拡充するには?
コンタクトレコードを手作業で入力するのは時間がかかります。しかも、誰も継続して入力する余裕がないため、CRMのデータの大半は不完全なままです。このガイドでは、新しいコンタクトが作成された瞬間に、役職、企業規模、業界などのデータをHubSpotに自動で取り込むにはどうすればよいか、という具体的な疑問にお答えします。答えは、Make.comを使ってHubSpotとClearbitを連携させることです。1時間もかからずに稼働させられます。
寄稿者
SaaS Hackers簡単な回答:新規コンタクトの作成をトリガーにClearbit Enrichment APIを呼び出し、返されたデータ(役職、企業規模、業界、LinkedInのURLなど)をHubSpotのカスタムプロパティに書き戻すMake.comの自動化を構築すれば、HubSpotのコンタクトを自動でエンリッチできます。このワークフローは1時間もかからずに設定でき、その後は手作業なしで動き続けます。
コンタクトレコードの手動更新は、生産的に感じられるのに何も生み出さない作業の典型です。ここで役職を、あちらで企業規模を追加しているうちに1時間が過ぎても、パイプラインの長さは変わりません。HubSpotをCRMとして使っているなら、この作業を完全にやめる簡単な方法があります。Make.comとClearbitを連携させ、新しいコンタクトが入った瞬間にエンリッチを自動で実行させるのです。
このチュートリアルでは、トリガー、エンリッチ、書き戻しという一連のワークフローを正確に順を追って説明します。最後まで進めれば、新しいHubSpotコンタクトごとに40以上のデータが、レコードに一切触れることなく自動で入力される、稼働中の自動化が完成します。
HubSpotのコンタクトエンリッチメントとは?なぜ重要なのか?
HubSpotのコンタクトエンリッチメントとは、役職、企業の売上、従業員数、業界、LinkedInプロフィール、技術スタックなどの項目について、サードパーティのデータをコンタクトレコードに自動で追加するプロセスです。
多くのチームは、不完全なコンタクトデータからスタートします。フォームから得られるのは名前とメールアドレスだけで、それ以外は調査や推測、手動での検索が必要です。エンリッチされたコンタクトがあれば、営業チームはアプローチの優先順位を付けるための背景情報を得られ、マーケティングチームはキャンペーンをセグメント化するためのシグナルを得られ、RevOps部門はレポートを信頼できるデータ品質を確保できます。
3項目のコンタクトレコードと40項目のレコードの違いは、コールドコールと、情報に基づいた温かい会話の違いです。B2B SaaSのデジタルマーケティングとCRM戦略の一環としてこれを構築するなら、エンリッチメントはすぐに「あれば良いもの」ではなく「土台」になります。
始める前に必要なもの
ワークフローを構築する前に、次の3つを用意してください。
- HubSpotアカウント(APIアクセスが可能なもの。有料プランならどれでも、または開発者向けサンドボックスでも可)
- Make.comアカウント(無料プランでもこのワークフローは動作します)
- Clearbit APIキー(Clearbitには、月2,500件まで検索できる無料のエンリッチメントプランがあります)
エンリッチされたデータを書き込むためのカスタムプロパティも、HubSpotに作成しておく必要があります。Clearbitが返すデータにはHubSpotの標準項目に対応しないものがあるため、先に作成してください。
HubSpotをきれいに導入するために外部の支援が必要なら、乱れたデータの上に自動化を重ねる前に、専門のB2B SaaS向けHubSpotエージェンシーを検討する価値があります。
ステップ1:HubSpotでカスタムプロパティを作成する
HubSpotの標準のコンタクトプロパティには、企業の技術スタックやLinkedInのハンドルなどの項目がありません。自動化を構築する前にこれらを作成してください。そうしないと、Makeにはデータの書き込み先がなくなります。
移動先:設定 > プロパティ > コンタクトプロパティ > プロパティを作成
次のプロパティを作成します(Clearbitが返すデータに応じて調整してください)。
clearbit_company_size(数値)clearbit_industry(1行テキスト)clearbit_linkedin_url(1行テキスト)clearbit_company_revenue(1行テキスト)clearbit_role(1行テキスト)clearbit_seniority(1行テキスト)clearbit_enriched_at(日付)
各プロパティには分かりやすい内部名を付け、「Clearbit Enrichment」グループにまとめて、CRM内で整理された状態を保ちましょう。
ステップ2:Make.comのトリガーを設定する
このトリガーは、HubSpotで新しいコンタクトが作成されるたびに起動します。Make.comでは、HubSpotのネイティブモジュールで処理できます。
- Make.comを開き、新しいシナリオを作成します
- トリガーとしてHubSpot: Watch Contactsモジュールを追加します
- OAuthでHubSpotアカウントを接続します
- トリガーを新規コンタクトのみで起動するように設定します
- 取得するコンタクトプロパティを選びます(最低限、メールアドレス、名、姓)
テストトリガーを実行します。HubSpotでメールアドレスだけを入力したダミーのコンタクトを作成し、Makeがそれを取得することを確認します。右側のモジュール出力パネルにコンタクトデータが表示されるはずです。
確認ポイント:トリガーの出力にコンタクトのメールアドレスが含まれていることを確認してください。ClearbitのエンリッチメントAPIは、メールアドレスを主な検索キーとして使います。メールアドレスがないと、エンリッチメントの呼び出しはエラーも出ずに失敗します。
ステップ3:Clearbit Enrichment APIを呼び出す
ClearbitにはMakeのネイティブモジュールがないため、HTTP: Make a Requestモジュールを使ってClearbit APIを直接呼び出します。
- HubSpotトリガーの後にHTTP: Make a Requestモジュールを追加します
- メソッドをGETに設定します
- 次のエンドポイントを使用します。
https://person.clearbit.com/v2/combined/find?email={{email}}置き換え {{email}} メールアドレスには、HubSpotトリガーの出力にあるメールの変数を使用します。
- Headersに次を追加します。
Authorization: Bearer YOUR_CLEARBIT_API_KEY- Parse Responseをはいに設定します
実在するビジネス用メールアドレスでテストを実行します。Clearbitは、主に2つのセクションを含むJSONオブジェクトを返します。 person (個人のデータ)と company (組織のデータ)です。次のステップで、両方からフィールドをマッピングします。
Clearbitが返すデータ(一部):
person.title(役職)person.seniority(senior、manager、director、VP、C-suite)person.role(engineering、sales、marketing、finance)person.linkedin.handlecompany.metrics.employeescompany.metrics.estimatedAnnualRevenuecompany.category.industrycompany.name
技術面のスタックを比較検討している場合、このようなワークフローでは、クロール、監査、データの深さといった点でプラットフォームごとにどう違うかを知っておくことも役立ちます。そのため、Screamingfrog、SEMRush、AHREFSの比較のような記事は、より広いオペレーションやグロースの判断材料として参考になります。
ステップ4:Clearbitの非同期レスポンスに対応する
Clearbitは、エンリッチされたデータをすぐには返さず、次のようなレスポンスを返すことがあります。 202 Accepted レスポンスです。これは、Clearbitがキャッシュから返すのではなく、レコードを新たに検索する必要がある場合に起こります。
HTTP呼び出しの後にRouterモジュールを追加し、2つのパスを作ります。
- パスA: ステータスコードが次の場合:
200(データがすぐに返された場合。書き戻しに進みます) - パスB: ステータスコードが次の場合:
202(データが保留中の場合。Waitモジュールを60秒分追加し、APIの呼び出しを1回だけ再試行します)
ほとんどのビジネス用メールアドレスでは、Clearbitは最初の呼び出しで次を返します。 200 。次の 202 パスは安全策であり、頻繁に発生するものではありません。
ステップ5:エンリッチされたデータをHubSpotに書き戻す
Clearbitのデータが手に入ったら、HubSpot: Update a Contactモジュールを使ってコンタクトレコードに書き戻します。
- HubSpot: Update a Contactモジュールを追加します
- 元のトリガー出力にあるコンタクトIDを使ってレコードを特定します
- ClearbitのフィールドをHubSpotのカスタムプロパティにマッピングします。
| Clearbitのフィールド | HubSpotのプロパティ |
|---|---|
| person.title | Job Title(標準) |
| person.seniority | clearbit_seniority |
| person.role | clearbit_role |
| person.linkedin.handle | clearbit_linkedin_url |
| company.metrics.employees | clearbit_company_size |
| company.category.industry | clearbit_industry |
| company.metrics.estimatedAnnualRevenue | clearbit_company_revenue |
- 次の固定値を追加します:
clearbit_enriched_atMakeのnow日付関数を使用します。これにより、HubSpot内で絞り込みに使えるタイムスタンプが得られます。
エンドツーエンドのテストを実施します。実在するビジネス用メールアドレスで、HubSpotに新しいコンタクトを作成します。Makeの実行履歴でシナリオが実行される様子を確認し、HubSpotでそのコンタクトを開いて、カスタムプロパティが入力されていることを確かめます。
ステップ6:エラー処理を追加する
本番環境のワークフローでは、Clearbitがデータを返さないケースに対応する必要があります。これは、メールアドレスが個人用ドメイン(Gmail、Hotmail)のものである場合や、その人物がClearbitのデータベースに存在しない場合に起こります。
HTTP呼び出しにError Handlerモジュールを追加します。
- Clearbitが次を返した場合:
404、次を設定します:clearbit_enriched_at今日の日付に設定し、カスタムプロパティを追加します:clearbit_found: false - これによりシナリオが失敗するのを防ぎ、後からHubSpotでエンリッチされなかったコンタクトを絞り込めるようになります
404のパスにHubSpotのCreate Noteステップを追加し、コンタクトに「Clearbit enrichment: no record found」と記録することもできます。これにより、プロパティ項目を散らかすことなく、チームに状況を共有できます。
このワークフローから、より整ったライフサイクルステージ、アトリビューション、引き継ぎルールを得たいチームは、専任のB2B SaaS向けマーケティングオペレーションエージェンシーと協力することで、エンリッチメントデータを運用に役立つ形に変えやすくなります。
ステップ7:シナリオを有効化して監視する
テストに合格したら、MakeでシナリオをActiveに設定します。スケジュールは15分ごとの実行に設定します(Makeのプランがwebhookに対応している場合は、インスタントトリガーも使えます)。
最初の48時間は監視しましょう:
- Makeの実行履歴で、失敗した実行がないか確認する
- HubSpotでエンリッチされたコンタクトを10件ほど抜き取りチェックし、データ品質を確認する
- 検索に失敗したケースのパターン(個人用メールアドレス、ドメインのスペルミスなど)を探す
48時間後には、ワークフローは自動で動き続けます。新しいコンタクトはすべて、営業チームがレコードを開く前にエンリッチされます。
HubSpotでエンリッチされたコンタクトをどう活用するか
エンリッチされたデータは、活用してこそ価値があります。すぐに使える3つの活用例を紹介します。
リードスコアリング: HubSpotのリードスコアリングツールで、次の条件に基づいてポイントを加算します: clearbit_seniority (Director以上)と clearbit_company_size (従業員100名以上)。ICPに合致するコンタクトが、自動的に上位に表示されます。
ワークフローへの登録: 次の条件を持つコンタクトを、HubSpotのワークフローで登録するよう構築します: clearbit_industry = SaaS および clearbit_seniority = VP 作成から数分以内に、ハイタッチな営業シーケンスへ登録されます。
リストのセグメンテーション:エンリッチされた企業規模、業界、役職レベルで絞り込んだアクティブリストを作成します。これらのリストは、エンリッチされた新しいコンタクトが届くたびにリアルタイムで更新されるため、手作業で整えなくてもセグメントを正確に保てます。
明確なインバウンド施策と組み合わせると、さらに効果的です。そのため、多くのチームがエンリッチメントの取り組みを、B2B SaaS向けインバウンドマーケティングエージェンシーや専門のB2B SaaS向けABMエージェンシーが手がけるより広範なプログラムと連携させています。
よくある質問
HubSpotの標準のエンリッチメント機能に料金を払わずに、HubSpotのコンタクトを自動でエンリッチするにはどうすればよいですか?
Make.comを使って、HubSpotとClearbit、Apollo、Hunterなどのサードパーティのエンリッチメントプロバイダーを連携させます。Clearbitの無料プランでは、月2,500件のエンリッチメント検索が可能です。Make.comの無料プランでも、このオートメーションのロジックは問題なく動かせます。この方法なら、初期段階のチームの多くは費用をかけずに実現でき、HubSpotに書き戻すフィールドもより細かく管理できます。
メールアドレスでコンタクトをエンリッチした場合、Clearbitはどのようなデータを返しますか?
Clearbitは、個人レベルのデータ(役職、職位レベル、職務、LinkedInのハンドル、所在地)と、企業レベルのデータ(従業員数、推定売上、業種、利用テクノロジー、企業ドメイン)を返します。取得できるフィールドは、そのメールアドレスのレコードがClearbitにあるかどうかで変わります。Gmailなどの個人用メールアドレスでは、ほとんど、あるいはまったくデータが返されません。
新規だけでなく、既存のHubSpotコンタクトもエンリッチできますか?
はい、可能です。Makeの「Watch Contacts」トリガーを使う代わりに、「Search Contacts」モジュールを使って、次の条件に当てはまるコンタクトを取得します。 clearbit_enriched_at が不明のコンタクトです。これらをバッチ単位でループ処理し、それぞれのメールアドレスを同じClearbit APIの呼び出しに通します。Clearbitのレート制限(無料プランでは1分あたり600リクエスト)を超えないよう、リクエスト間に待機時間を設けてください。
コンタクトのメールアドレスのレコードがClearbitで見つからない場合はどうなりますか?
Clearbitは404ステータスコードを返します。Makeのシナリオでは、404のレスポンスをエラーハンドラーに振り分け、HubSpotのコンタクトに次のプロパティを設定します。 clearbit_found: false このプロパティにより、そのレコードは試行済みとして記録され、シナリオが実行のたびに同じメールアドレスを再試行することを防げます。
このワークフローはGDPRに準拠していますか?
サードパーティのプロバイダーでコンタクトデータをエンリッチするには、GDPR上の適法な根拠が必要です。B2Bのコンタクトでは、通常、正当な利益が根拠となります。Clearbitは独自のプライバシーポリシーに基づいてデータを処理しており、データ処理契約(DPA)も提供しています。GDPRや同様の法律が適用される地域でワークフローを有効にする前に、処理の法的根拠を確認してください。
寄稿者
SaaS Hackers


