トラッキングコードAPIの概要
このページは、新しいカスタム行動イベントの使い方を紹介するために更新されました。従来のカスタムイベントについては、レガシードキュメント(英語)をご参照ください。
HubSpotトラッキングコードを使用すると、ページビューのトラッキングに加えて、訪問者の特定やイベントのトラッキングが可能になります。また、ページを再読み込みすることなくページビューを手動で追跡することも可能になります。トラッキングコードAPIを使用すると、HubSpotでイベントを動的に作成したり、イベントデータを追跡したりできるようになります。
ウェブサイトにプライバシーに関する同意バナーを設置している場合は、CookieバナーAPIによって訪問者のブラウザーに追加されるCookieを管理する方法をご確認ください。
関数呼び出しは_hsq
配列に含めます。以下に例を示します。
この記事では、トラッキングコードに関数を追加して、訪問者を識別したり、ページビューを追跡したり、イベントデータを送信したりする方法を説明します。
コンタクトを識別する
HubSpotアナリティクスツールでは、次の2組のデータを使用してコンタクトを識別します。
- usertoken(訪問者の「
hubspotutk」ブラウザーCookieに格納されます)
- コンタクトのEメールアドレス
HubSpotトラッキングコードにより訪問者のアクション(ページビューなど)が追跡される際、そのアクションは訪問者のusertokenに自動的に関連付けられます。トラッキングコードAPIを使用してEメールアドレスで訪問者を特定する場合、アナリティクスシステムによってEメールアドレスがusertokenと結び付けられることで、既存のコンタクトレコードの更新や新規作成を行える仕組みです。usertokenに関連付けられているアナリティクスデータ(ページビューやオリジナルソースなど)が、コンタクトレコードに表示されます。
訪問者のID(Eメールアドレスなど)が判明している場合は、identify関数を使用してトラッカー内にIDを設定できます。次に、個別のtrackPageViewまたはtrackCustomBehavioralEvent呼び出しを行って、IDをHubSpotに送信できます。不明な訪問者用のプレースホルダーEメールアドレスを使用することは避けてください。HubSpotによってプレースホルダーEメールアドレスを持つコンタクトレコードが作成され、訪問者のusertoken
Cookieがそのレコードに関連付けられるからです。その結果、全ての不明な訪問者がプレースホルダーコンタクトに関連付けられます。
注:アカウントが2021年9月8日より前に作成され、トラッキングコードでのコンタクトプロパティーの更新が可能な場合は、他のコンタクトプロパティーもこの関数による更新の対象に含めることができます。
_hsq.push(["identify", { {identity details} }]);
このエンドポイントは、ウェブサイトの訪問者やコンタクトを特定するために使用します。
- 訪問者:HubSpotコンタクトであるかどうかにかかわらず、全てのウェブサイト訪問者を指します。HubSpotでは、コンタクトの場合と同様に訪問者に関するレコードは作成されません。
- コンタクト:HubSpot内にレコードが存在する訪問者またはオフラインコンタクトを指します。コンタクトは、一意のEメールアドレスで識別することができます。
訪問者またはコンタクトを手動で識別するには、Eメールアドレスと一意の外部IDのいずれかを使用することができます。
- Eメール:既存のコンタクトを更新したり、新しいコンタクトを作成したりする場合に、Eメールアドレスで訪問者を識別します。そのEメールアドレスを持つコンタクトがHubSpot内に存在する場合は、そのコンタクトレコードがアナリティクスデータで更新されます。そのEメールアドレスを持つコンタクトが存在しない場合は、新しいレコードが作成されます。
- ID:訪問者を識別するためのカスタム外部ID。このIDで訪問者を識別すると、その訪問者にアナリティクスデータが関連付けられます。ただし、IDを使用するだけでは、HubSpotでコンタクトは作成されません。アナリティクスデータは、以下の場合にのみ、この方法を通して既存のコンタクトに関連付けることができます。
- 訪問者がIDとEメールの両方で識別されたことがある。
- 訪問者がIDで識別されたことがあり、そのレコードにフォーム送信が関連付けられている。
注:この外部IDは、HubSpotトラッキングコードでのみ使用できます。他のHubSpotツールまたはAPIでのレコードの取得や更新には使用できません。訪問者のEメールアドレスが分かっている場合は、そのEメールアドレスを一意の識別子として使用することをお勧めします。同様に、IDで訪問者を識別するのは、Eメールアドレスが分かっていない場合に限られます。
訪問者のIDのみを使用してHubSpotにアナリティクスデータを送信した場合は、後でIDとEメールアドレスの両方を含めることで、そのIDからのデータをコンタクトに関連付けることができます。そうすれば、既存のコンタクトが更新されるか、コンタクトが存在しない場合は新規に作成されます。
- この関数呼び出しでは、データがトラッカーに保存されますが、この呼び出しによってデータがHubSpotに渡されるわけではありません。データは、ページビューまたはイベントの追跡時にのみ渡されます(trackPageView関数またはtrackEvent関数のいずれかを使用)。
- コンタクトには、IDやEメールアドレスを1つしか関連付けることができません。1つのEメールに2つのIDを割り当てようとすると、最初のIDだけがEメールアドレスに関連付けられます。
- データをコンタクトに結びつけるには、Eメールアドレスを含める必要があります。
- アカウントが2021年9月8日より前に作成され、トラッキングコードでのコンタクトプロパティーの更新が可能な場合は、他のコンタクトプロパティーもこの関数による更新の対象に含めることができます。
- この関数では、以前に削除されたコンタクトは復元できません。そのようなコンタクトは、HubSpot上で復元する必要があります。
HubSpotトラッキングコードでは、コードの初回読み込み時にページビューが記録されます。しかし、トラッキングコードを再読み込みすることなく単一ページアプリのページビューを手動で追跡することもできます。現在のページを更新してトラッキングを行うには、setPath関数とtrackPageView関数を使用します。以下に例を示します。
hsq.push(['setPath', { path string }])
トラッカーに保存された現在のページのパスを更新します。単一ページアプリで、ページ読み込み時に現在のページを更新する場合は、この関数を使用してください。この関数を使用してパスを更新した後、trackPageView関数を呼び出して現在のページの表示を追跡する必要があります。
単一ページアプリでは、トラッキングコードの読み込み前にsetPath呼び出しを
_hsqに含めて、最初のページビューにおいて追跡されるURLを設定する必要があります。例として、後述する「ページビューを追跡する」セクションを参照してください。
SetPath
を呼び出すときは、現在のページのパスを指定します。指定したパスは、表示されている現在のドメインとの相対パスとして処理されます。パスの先頭は常にスラッシュでなければなりません。URLにパラメーターが含まれている場合、それらもパスに含める必要があります。例として、上記コードをご覧ください。
- setPath関数を使用してパスを設定すると、Refererヘッダーのデータが変更されます。したがって、setPathを1度呼び出した後は、トラッキングを行うビューごとにsetPathを使用してパスを更新する必要があります。
- setPathを繰り返し呼び出すと、リファラーが上書きされます。これは、トラッキングリクエストがいつ送信されたかによって、コンタクトのオリジナルソースに影響することがあります。
- この関数で更新できるのは、URLのパス部分のみです。ドメインは、読み込み時のページのURLに基づいて自動的に設定されます。この関数を使用して設定するパスは常に、検出されたドメインに対する相対パスとして処理されます。
この関数には引数を追加できません。追跡されるページタイトルが、document.title
の現在の値になります。
追跡されるURLは、次のいずれか1つに基づきます。
- setPath関数を使用して設定したパス。単一ページアプリとして作成されたサイトの場合、トラッキング対象パスの設定方法としてこの関数が推奨されます。この関数に関する免責事項については、前述のsetPathセクションをご覧ください。
- 「setPath
」が一度も呼び出されていない場合、トラッキング対象URLは、訪問者のブラウザーからHubSpotのトラッキングサーバーに向けて行われたリクエスト内のReferer HTTPヘッダーになります(ブラウザーの履歴に変更を加えると、ヘッダーに使用される値が更新されます)。RefererヘッダーではURLフラグメント(URLの#より後の部分)はサポートされません。フラグメントはRefererヘッダーに含められないからです。
この関数を使用する場合は、次の点に留意してください。
- トラッキングコードの読み込み時にこの関数が自動的に呼び出されることは回避できませんが、そのページについて記録されるURLを制御することは可能です。そのためには、トラッキングコードの読み込み前に、
setPath
の呼び出しを_hsq
に含めます。 - サイトが単一ページアプリの場合、ページに
<link rel="canonical">
タグを含めないでください。ブラウザーの履歴状態を更新するだけの場合、検出される全てのURLはlinkタグに設定されたcanonical URLによって変更されるため、ページ内で<link rel="canonical">
タグを使用する場合、setPath関数を使用して新しいページのパスを更新する必要があります。
ウェブサイトにプライバシーに関する同意バナーを設置している場合、関数を使用して、訪問者のブラウザーに設定されているCookieの確認および管理ができます。詳しくはプライバシーに関する同意バナーCookieを管理する方法をご確認ください。
_hsq.push(['addIdentityListener', function(hstc, hssc, hsfp) {}])
HubSpotトラッキングコードは、ドメインの異なる複数のウェブサイトにわたって使用できます。この関数を使用することで、異なるドメイン全体で訪問者のトラッキングを可能にするリンクの作成に必要なクエリーパラメーターを取得できます。HubSpotトラッキングコードはこれらのクエリーパラメーターを使用して、追跡された1人の訪問者に異なるドメインの別個のCookieを結び付けることで、複数のドメイン間で訪問者を識別できます。クロスドメイン クエリー パラメーターは、トラッキングコードの読み込み後、ページに動的に追加されるリンク内でも使用できます。
クロスドメインリンクが必要になるのは、単一のHubSpotアカウント上で同様にトラッキング対象となっている別のドメイン(「domain-one.com」と「domain-two.com」など)にリンクする場合に限定されます。サブドメイン間(例:「www.domain-one.com」と「blog.domain-one.com」)の訪問を追跡する場合、クロスドメイン リンク パラメーターは不要です。
この関数は、HubSpotアカウントのアナリティクス設定でアナリティクス イベント ハンドラーが設定されている場合に、再適用します。
要素クリックイベントが設定されている場合は、その再適用も含まれます。
この関数を使用すると、コンテンツのセクションの更新やページ上でのモーダルウィンドウの表示など、ページ上のコンテンツが更新された時点で、クリックハンドラーを自動的に再適用できます。
カスタム行動イベントを使用すると、イベントの完了をコンタクトレコードに結び付けて、イベントに関するメタデータをイベントプロパティーに入力することができます。カスタム行動イベントを取得するには、ウェブアナリティクスAPIを使用します。
このAPIにより、イベントの内部名を使用してイベントをトリガーできます。内部名は、イベントを作成したときに自動的に割り当てられます。イベントの内部名はHubSpot上で、またはイベントAPIを使用(英語)して、確認できます。詳しくはイベントの内部名を調べる方法をご確認ください。
HubSpot上で作成できるイベントには、次の3つのタイプがあります。
- 要素クリックイベント:ウェブサイトページ上のクリック可能な要素に結び付けられたイベント。トラッキングコードを介して、既定の一連のHubSpotイベントプロパティーが自動入力されます。このタイプのイベントは、trackCustomBehavioralEvent関数で詳細をさらにカスタマイズできます。
- URL訪問イベント:指定されたURLのページ読み込みに結び付けられたイベント。トラッキングコードを介して、既定の一連のHubSpotイベントプロパティーが自動入力されます。このタイプのイベントは、trackCustomBehavioralEvent関数で詳細をさらにカスタマイズできます。
- 手動で追跡される行動イベント:貴社に固有のカスタムイベントと、HubSpotまたは連携によって自動的に取り込まれないイベント。HTTP APIを介して、手動でHubSpotイベントにデータを送信します。
HubSpotの各イベントタイプには、UTMパラメーターや、デバイスとオペレーティングシステムのメタデータを含む特定のメタデータを完了時に取り込むことが可能な、標準プロパティーのセットが用意されています。
この関数はHubSpotのアナリティクストラッキングと連動しているため、JavaScript APIによってトリガーされたイベントが訪問者の「hubspotutk」Cookieに自動的に関連付けられます。これにより、イベントをユーザートークンに関連付けられたコンタクトへと自動的に結び付けることができます。
trackCustomBehavioralEvent
_hsq.push(["trackCustomBehavioralEvent", { {event details} }]);
JavaScriptおよびHubSpotのトラッキングコードを使用してイベントを追跡するには、この関数を使用します。イベントを使用して、ウェブサイトの訪問者が完了した特定のアクティビティーを追跡することができます。トラッキング対象のイベントは、コンタクトのタイムラインに表示されることがあります。
引数 | 使い方 | 説明 |
---|---|---|
Name
| name:"internal_name" | HubSpotで作成したイベントのevent_idまたは内部名。 |
Properties
| property_name: "property_value" | キーと値のペアのリスト。プロパティーごとにキーと値のペアがあります。
また、未定義のプロパティーを追跡し、イベントの追跡後にこうしたプロパティーの作成に戻ることもできます。 |
カスタム行動イベントデータが送信されるようにトラッキングコードをカスタマイズする
既定では、作成するイベントごとに、HubSpotによって一連のプロパティーが作成されます。要素クリックイベントまたはURL訪問イベントの場合、HubSpotによってこうしたプロパティーの一部にデータが自動入力されます。しかし、イベントのプロパティーにデータが送信されるようにトラッキングコードをカスタマイズすることもできます。
- HubSpotアカウントにて、[レポート]>[アナリティクスツール]の順に進みます。
- [カスタム行動イベント]をクリックします。
- 追跡するイベントの名前をクリックします。
- [プロパティー]のイベントの内部名をコピーします。
- 次に、プロパティーの表で、データの送信先となるイベントプロパティーの名前をクリックします。
- 右側のパネルで</>ソースアイコンをクリックして、プロパティーの内部名を表示します。この名前は、トラッキングコードをカスタマイズする際に使用します。
- イベントとイベント プロパティー データが用意できたら、設定アイコンをクリックしてアカウント設定に進みます。次に、左のサイドバーメニューで、[トラッキングとアナリティクス]>[トラッキングコード]の順に進みます。
- [JavaScriptのカスタマイズ]をクリックします。
- 右上の[カスタムJavaScriptを追加]をクリックします。
- 右側のサイドバーでカスタムJavaScriptの名前を入力し、次にtrackCustomBehavioralEvent関数が含まれるJavaScriptを入力します。このJavaScriptは、ページのトラッキングコードの読み込み後に実行されます。
例えば、HTML ID「register_for_econ101
」のボタンがクリックされたときに、イベントによってコースの登録を追跡する場合、次のようなJavaScriptを記述します。
- [保存]をクリックして、JavaScriptを保存します。これで、トラッキングコードの読み込みがカスタムJavaScriptと共に行われるようになりました。
貴重なご意見をありがとうございました。