CRMについて
HubSpotアカウントの基盤は、CRM(顧客関係管理)と呼ばれる、ビジネス上の関係性とプロセスのデータベースです。このデータを管理するために、HubSpotでは一連の標準オブジェクトが用意されていて、それぞれ異なるタイプの関係性またはプロセスを表します。オブジェクトには、プロパティーとして情報を保存したり、やり取りを追跡したりするための個別のレコードを作成できます。レコード間の関係性を把握するために、レコード間の関連付けを作成することもできます。
以下で、CRMオブジェクト、レコード、プロパティーなどに関する詳細をご確認ください。
オブジェクトタイプ
CRM APIを使うと、CRMのオブジェクトとレコードにアクセスできます。HubSpot上で使用できるオブジェクトのタイプは次のとおりです。
- コンタクト:個人に関する情報が格納されます。マーケティングオートメーションからスマート サイト コンテンツに至るまで、コンタクトレコード上のリードに関するデータは、HubSpotのさまざまな機能を活用する際に役立ちます。コンタクトのエンドポイントを表示
- 会社:個々の企業や組織についての情報が格納されます。1つの会社に複数のコンタクトを関連付けて組織構造を表すことができます。会社のエンドポイントを表示
- 取引:コンタクトまたは会社との関係における収益機会を表します。成約または失注になるまでの間、パイプラインステージを通じた追跡を行うことができます。取引のエンドポイントを表示
- チケット:顧客からのサポート依頼を表します。チケットのエンドポイントを表示
- 製品:販売する商品やサービスを表します。製品ライブラリーを構築すると、効率的に製品を取引に追加したり、見積もりを作成したり、製品の実績についてレポートを作成したりできます。製品のエンドポイントを表示
- 商品項目:取引において販売する製品のサブセットを表します。製品は取引に添付されると、商品項目になります。個別の見積もり上に作成した商品項目は製品ライブラリーには追加されません。商品項目のエンドポイントを表示
- カスタムオブジェクト:どのようなタイプのデータ(特に上記の標準オブジェクトに適していないデータ)でもHubSpot上に格納する場合に作成します。カスタムオブジェクトは、カスタム オブジェクト エンドポイントを通じて作成し、標準オブジェクトに関連付けることができます。カスタム オブジェクト エンドポイントを表示する
プロパティー
HubSpotのCRMオブジェクトの詳細情報(メタデータ)は、プロパティーに保存されます。プロパティーは、いくつかのグループに分類されています。各オブジェクトの既定のプロパティーに加えて、カスタムプロパティーを作成することによってカスタムデータを保存できます。
既定のプロパティー
CRMオブジェクトは、主要な「タイプ」と、「プロパティー」によって定義されます。タイプごとに標準のプロパティーがあり、名前と値のペアで表されます。
オブジェクトごとの既定のプロパティーをご覧ください。
カスタムプロパティー
オブジェクトに特殊な情報を格納するには、カスタムプロパティーを作成します。カスタムプロパティーの管理は、CRMオブジェクトプロパティーのエンドポイント経由で行うことができます。
プロパティーグループ
プロパティーグループは、関連する複数のプロパティーをグループ化するために使用します。HubSpotでレコードを表示すると、グループ化されたプロパティーが隣接して表示されます。カスタムプロパティーを作成して連携を行う場合は、カスタムプロパティーをカスタム プロパティー グループにまとめることでデータの特定が容易になります。
プロパティーの消去
オブジェクトプロパティーの値は、APIのプロパティー値に空文字列を指定することにより消去することができます。
例:コンタクトオブジェクトからfirstname
を消去するには、PATCH
リクエストをhttps://api.hubapi.com/crm/v3/objects/contacts/{contactId}
に送り、本文は{ "properties": { "firstname": ""} }
と指定します。
レコード担当者
コンタクト、会社、取引、チケットのレコードには担当者を割り当てることができます。担当者として、コンタクトへのアクセス権を付与されたHubSpotユーザーを割り当てることができます。また、専用のカスタムプロパティーを作成することで、1つのオブジェクトに複数の担当者を割り当てることもできます。担当者の作成はHubSpot上でのみ行えますが、IDやメールアドレスなどの詳細情報の取得には担当者エンドポイントを使用できます。このデータは、HubSpot上での操作やプロパティー変更API呼び出しにより、CRMレコードに割り当てることができます。
オブジェクトの機能
各HubSpotオブジェクトで使用できる機能を下記の表に示します。
CRMオブジェクト | CRMビュー | レポート | 自動化 | リスト | Eメールのパーソナライズ | カスタムプロパティー | |
コンタクト | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
会社 | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
取引 | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
チケット | ○ | ○ | ○ | ○ | ○ | ○ | |
商品項目 | ○ | ○ | ○ | ○ | ○ | ||
製品 | ○ | ○ | |||||
見積もり | ○ | ||||||
エンゲージメント/タスク | ○ | ○ | ○ | ||||
タイムラインイベント | ○ | ○ | |||||
アナリティクスイベント | ○ | ||||||
カスタムオブジェクト | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
オブジェクトの関係性
このエンティティー関係図(ERD)(英語)は、CRMオブジェクト間の構成と関係を示しています。
オブジェクトとレコードの関連付け
関連付けは、オブジェクト間の関係を表します。オブジェクトの関連付けは、関連付けエンドポイントを使用して管理できます。
レコードのエンゲージメント
エンゲージメントには、自社とコンタクトとの間の1対1のやり取りのデータ(メモ、タスク、ミーティング、コールなど)が格納されます。エンゲージメントは、少なくとも1つのコンタクトレコードに関連付ける必要がありますが、取引、チケット、会社に関連付けることも可能です。
データ同期
オブジェクトデータの同期において、エンゲージメントデータの同期は必須ではありません。プロパティーデータ(最終連絡日付やコンタクトへのコール数など)の同期は、その背景で行われるエンゲージメントの同期と比べて容易です。オブジェクトは複数のエンゲージメントに関連付けることができるため、同期を実行する前にAPI制限を念頭に置いておくことが重要です。
ただし、完全移行に先立ち連携を行う場合は、プロパティーではなくエンゲージメントの同期が必要になる場合もあります。この場合、2つのシステム間でエンゲージメントを同期すると、全てのユーザーが、必要なデータを移行期間中にも利用できるようになります。例えば、HubSpotを採用している事業開発部門が、別のCRMを使用しているインサイドセールス担当と共同で取引を扱う場合、両方の部門が成約に必要な情報を共有できるようにエンゲージメントを同期する必要があります。
一括アクション
各オブジェクトには、1つのリクエストで複数のオブジェクトレコードの作成、読み取り、更新、およびアーカイブを実行するための一括エンドポイントが用意されています。一括エンドポイントには、1回の呼び出しにつきレコード100個までという上限があります。ただし、コンタクトの作成と更新については例外で、1回の呼び出しにつきレコード10個が上限になります。
固有IDとレコードID
固有IDは、データベース内のあるレコードを、別のレコードと(仮にID以外の情報が同一であっても)識別するための値です。例えば、銀行のデータベースの中には、名前が同じ2人のJohn Smithさんのレコードが存在する場合も考えられます。誤ったJohn Smithさんに送金されることがないように、各レコードには固有IDが割り振られます。
このような固有IDは、データを適切なレコードに送信したり、必要な重複削除を処理したりする際に使用します。HubSpotで重複削除がどのように処理されるかについては、ナレッジベースをご確認ください。
HubSpotの既定の固有ID
HubSpotでは、レコードが作成されると、固有IDが自動生成されます。このIDは連続した番号のように見えますが、文字列として扱う必要があります。このようなIDは、特定のオブジェクトタイプ内では重複しませんが、コンタクトと会社のIDが同じになる場合はあります。
独自の固有IDの作成
HubSpotによって生成されたレコードIDは、主に高度な連携を実現する目的で利用できます。しかし場合によっては、貴社のアプリの連携ロジックが複雑になるケースも考えられます。例:
- レコードに関連付けられているHubSpotのオブジェクトIDを、古いCRMシステムに保存できない場合、該当するレコードをシステム間で照合することは不可能になります。
- 連携によって別のアプリからHubSpotに対する更新を同期できても、HubSpotからそのアプリに対しては同期できません。両方のシステムからのIDを照合する代わりに、連携によるレコードの作成時または更新時には単に外部アプリ側のIDを使用します。
このようなケースでは、以下の手順に従って独自の固有IDフィールドを作成することをお勧めします。
1. プロパティーAPIを使用して固有IDフィールドを作成します。次のようなAPI呼び出しを使用します。
//POST https://api.hubapi.com/crm/v3/properties/deals
{
"groupName": "dealinformation",
"hidden": false,
"displayOrder": 2,
"name":"system_a_unique",
"label": "Unique ID for System A",
"hasUniqueValue": true,
"type": "string",
"fieldType": "string"
}
設定するキーフィールドはhasUniqueValue
です。これにより、このプロパティーについては、以後作成されるオブジェクト(この場合は取引)の値に重複が発生しないように指定できます。注:このフィールドは変更できないため、使用する場合には十分注意することをお勧めします。
2. 固有IDフィールドの作成後、API呼び出しの中で使用して特定のレコードを取得することができます。次のような呼び出しを行います。
GET
https://api.hubapi.com/crm/v3/objects/deals/abc?idProperty=system_a_unique
これによりsystem_a_unique
フィールドの値がabc
の取引が返されます。例えばこの取引に263782
が割り当てられたことを把握しておく必要はありませんが、レスポンスには既定でオブジェクトIDが含まれます。
注:アカウントに固有の任意のカスタムオブジェクトの場合は固有IDフィールドを2個、標準オブジェクトの場合は10個、作成することが可能です。コンタクトにはカスタム定義のidPropertyを指定できませんが、コンタクトAPIを呼び出す際にはidPropertyパラメーターに相当するemail
を使用できます。
よくある質問
CRMオブジェクトに関してご不明な点がある場合はこちらのよくある質問をご参照ください。
貴重なご意見をありがとうございました。