Google アナリティクスでチャットの利用状況を計測する
SolidChat は、チャットの操作(表示・会話開始・質問送信・リンククリックなど)を、埋め込み先ページに設置済みの Google アナリティクスまたは Google タグ マネージャーにイベントとして送信できます。送信先は埋め込み先ページにある貴社の計測タグのみで、SolidChat が貴社の Google アナリティクスのデータを受け取ることはありません。また、質問本文・回答本文は送信しません(「送信しない情報」を参照)。
前提条件
| 項目 | 内容 |
|---|---|
| 計測タグ | 埋め込み先ページに Google タグ マネージャーまたは Google タグが設置されていること |
| 埋め込みタグ | SolidChat の埋め込みタグが同じページに設置されていること。埋め込みタグは、管理画面の「設置」→「チャットボットを設置できるサイト」に登録したサイトでのみ表示されます |
専用URL でチャットを開いた場合は、計測の対象外です(イベントを受け取る埋め込み先ページが無いため)。
有効化
- 管理画面の「設置」→「Google アナリティクス連携」を開きます。
- 「Google アナリティクスをどのように設置していますか」で、埋め込み先ページの計測タグに合わせて「Google タグ マネージャー」または「Google タグ(直接設置)」を選択します(下記「設置方法の選択」を参照)。
- 保存します。
操作できるのは、オーナーまたは編集者の権限を持つメンバーです。送信をやめる場合は「送信しない」を選択して保存します。保存した設定は、次にページを読み込んだ時から反映されます。
設置方法の選択
| 選択肢 | 判定 | 送信方法 |
|---|---|---|
| Google タグ マネージャー | HTML ソースに gtm.js がある | dataLayer.push({ event: … }) |
| Google タグ(直接設置) | HTML ソースに gtm.js がない | gtag("event", …) |
「直接設置」とは、ページの HTML に gtag.js のスニペットが書かれている状態です。WordPress のプラグイン(Site Kit など)が埋め込んでいる場合も含みます。SolidChat が gtag() を呼び出せるのは、このスニペットがページ上で window.gtag を定義している場合だけで、Google タグ マネージャー経由で gtag.js を読み込んでいる場合は定義されません。
設置方法の確認手順
- 埋め込み先ページを開き、「ページのソースを表示」で HTML ソースを開きます。
gtm.jsを検索します。見つかれば「Google タグ マネージャー」、見つからなければ「Google タグ(直接設置)」です。
開発者ツールのネットワークタブではなく、HTML ソースで確認してください。Google タグ マネージャーの中で Google タグを設定していると、実行時に gtag.js が読み込まれるため、ネットワークタブでは直接設置と誤って判断しやすくなります。
イベント一覧
| イベント | 内容 |
|---|---|
solidchat_widget_loaded | 標準チャットボタンが読み込まれた |
solidchat_open | チャットウィンドウを開いた |
solidchat_close | チャットウィンドウを閉じた |
solidchat_conversation_start | 新しい会話が始まった |
solidchat_message_submitted | 質問を送信した |
solidchat_link_click | チャット内のリンクをクリックした |
いずれも、訪問者に対して起きた事実を表すイベントです。1 回の操作に対して送信されるイベントは 1 つです。ただし solidchat_conversation_start は会話という単位の始まりを示すイベントで、会話の最初の質問では solidchat_message_submitted と続けて送信されます(Google アナリティクスの session_start が最初の page_view と同時に記録されるのと同じ考え方です)。
パラメータの値はすべて文字列です。Google アナリティクスの標準プロパティ(Google アナリティクス 360 以外)では、パラメータの値が 100 文字を超えると切り詰められるため、長い URL は先頭の 100 文字のみが記録されます。このほか、ページの URL など Google アナリティクスが標準で記録する情報も、通常どおり記録されます。
各イベントの詳細
送信例は、Google タグ マネージャーの場合に dataLayer に追加されるオブジェクトです。Google タグ(直接設置)の場合は、event の値が gtag() の第 2 引数(イベント名)に、残りのキーが第 3 引数(パラメータ)になります。イベント名・パラメータ名・値は両者で同じで、違うのは渡し方だけです。例として、solidchat_link_click の場合を示します。
Google タグ マネージャー
dataLayer.push({
event: "solidchat_link_click",
app_id: "9c858901-8a57-4791-81fe-4c455b099bc9",
conversation_id: "1b4e28ba-2fa1-4d2e-8c1a-6f3c2a9d0e57",
link_url: "https://example.com/contact",
link_text: "お問い合わせ"
});
Google タグ(直接設置)
gtag("event", "solidchat_link_click", {
app_id: "9c858901-8a57-4791-81fe-4c455b099bc9",
conversation_id: "1b4e28ba-2fa1-4d2e-8c1a-6f3c2a9d0e57",
link_url: "https://example.com/contact",
link_text: "お問い合わせ"
});
solidchat_widget_loaded
標準チャットボタンが読み込まれた時に送信されます。標準チャットボタンを非表示にしている場合は送信されません。また、スクロール量に応じて標準チャットボタンを表示する設定の場合は、ボタンが画面に表示される前に送信されます。
| パラメータ | 型 | 内容 |
|---|---|---|
app_id | 文字列 | チャットボットの設置単位の識別子。埋め込みタグの data-appid と同じ値です |
{
event: "solidchat_widget_loaded",
app_id: "9c858901-8a57-4791-81fe-4c455b099bc9"
}
solidchat_open
チャットウィンドウを開いた時に送信されます。標準チャットボタン・独自ボタン・JavaScript API(sc.open() など)のいずれで開いた場合も送信されます。
| パラメータ | 型 | 内容 |
|---|---|---|
app_id | 文字列 | チャットボットの設置単位の識別子。埋め込みタグの data-appid と同じ値です |
{
event: "solidchat_open",
app_id: "9c858901-8a57-4791-81fe-4c455b099bc9"
}
solidchat_close
チャットウィンドウを閉じた時に送信されます。
| パラメータ | 型 | 内容 |
|---|---|---|
app_id | 文字列 | チャットボットの設置単位の識別子。埋め込みタグの data-appid と同じ値です |
{
event: "solidchat_close",
app_id: "9c858901-8a57-4791-81fe-4c455b099bc9"
}
solidchat_conversation_start
新しい会話が始まった時に、会話ごとに 1 回送信されます。会話の作成に成功した時にのみ送信され、通信エラーなどで会話を作成できなかった場合は送信されません。会話数の集計には、このイベントを使用してください。
| パラメータ | 型 | 内容 |
|---|---|---|
app_id | 文字列 | チャットボットの設置単位の識別子。埋め込みタグの data-appid と同じ値です |
conversation_id | 文字列 | 会話の識別子 |
{
event: "solidchat_conversation_start",
app_id: "9c858901-8a57-4791-81fe-4c455b099bc9",
conversation_id: "1b4e28ba-2fa1-4d2e-8c1a-6f3c2a9d0e57"
}
solidchat_message_submitted
質問を送信した時に送信されます。会話の最初の質問では、会話の作成に成功した後に、solidchat_conversation_start に続けて送信されます。最初の質問で、通信エラーなどにより会話を作成できなかった場合は送信されません。
| パラメータ | 型 | 内容 |
|---|---|---|
app_id | 文字列 | チャットボットの設置単位の識別子。埋め込みタグの data-appid と同じ値です |
conversation_id | 文字列 | 会話の識別子 |
{
event: "solidchat_message_submitted",
app_id: "9c858901-8a57-4791-81fe-4c455b099bc9",
conversation_id: "1b4e28ba-2fa1-4d2e-8c1a-6f3c2a9d0e57"
}
solidchat_link_click
チャット内のリンク(挨拶メッセージ、回答本文、参照記事欄)をクリックした時に送信されます。会話を始める前のクリック(挨拶メッセージ内のリンクなど)には、会話がまだ存在しないため conversation_id が付きません。conversation_id の有無で、会話前のクリックと会話中のクリックを区別できます。
| パラメータ | 型 | 内容 |
|---|---|---|
app_id | 文字列 | チャットボットの設置単位の識別子。埋め込みタグの data-appid と同じ値です |
conversation_id | 文字列 | 会話の識別子。会話を始める前のクリックでは付きません |
link_url | 文字列 | リンク先の URL |
link_text | 文字列 | リンクの表示文字列(最大 200 文字)。参照記事欄のリンクでは、記事のタイトルが入ります |
{
event: "solidchat_link_click",
app_id: "9c858901-8a57-4791-81fe-4c455b099bc9",
conversation_id: "1b4e28ba-2fa1-4d2e-8c1a-6f3c2a9d0e57",
link_url: "https://example.com/contact",
link_text: "お問い合わせ"
}
送信しない情報
質問本文・回答本文は送信しません。回答内のリンクについては、表示文字列(link_text)のみを送信します。管理画面のプレビューでは、イベントは送信されません。
同意管理(Consent Mode など)は、貴社の Google タグ マネージャー・Google タグの設定に従います。SolidChat 側で同意の状態を判定することはありません。
Google タグ マネージャーの設定例
Google タグ マネージャーの場合、SolidChat がイベントを dataLayer に追加しただけでは、Google アナリティクスには何も送信されません。Google タグ マネージャーで次の手順 1〜3 の変数・トリガー・タグを設定し、公開して初めて記録されます。Google タグ(直接設置)の場合は、gtag() の呼び出しで Google アナリティクスに直接送信されます。
- 変数:データレイヤー変数を作成します(
app_id、conversation_id、link_url、link_text)。 - トリガー:種類「カスタムイベント」、イベント名に
^solidchat_を入力し、「正規表現一致を使用」にチェックします。 - タグ:種類「Google アナリティクス: GA4 イベント」、イベント名に
{{Event}}を指定します。イベントパラメータに手順 1 の変数を設定し、手順 2 のトリガーを割り当てます。 - Google アナリティクス:管理 →「カスタム定義」で、
link_urlなどをイベントスコープのカスタムディメンションとして登録します。登録前に記録されたデータには遡って適用されません。
そのため Google タグ(直接設置)の場合、手順 1〜3 は不要です。手順 4 のみ行ってください。
主要な指標
以下の指標は、イベント数を数えるだけで計算できます。カスタムディメンションの登録は不要です。計算方法の列のイベント名は、そのイベントの件数を表します。
| 指標 | 計算方法 |
|---|---|
| 表示数 | solidchat_widget_loaded |
| 起動率 | solidchat_open ÷ solidchat_widget_loaded |
| 会話数 | solidchat_conversation_start |
| 会話開始率 | solidchat_conversation_start ÷ solidchat_open |
| 質問数 | solidchat_message_submitted |
| 会話あたりの平均質問数 | solidchat_message_submitted ÷ solidchat_conversation_start |
| 会話あたりのリンククリック数 | solidchat_link_click ÷ solidchat_conversation_start |
標準チャットボタンを非表示にして独自ボタンから開いている場合、solidchat_widget_loaded は送信されないため、表示数と起動率は計算できません。
会話あたりのリンククリック数には、会話を始める前のクリック(挨拶メッセージ内のリンクなど)も含まれます。会話中のクリックだけを数える場合は、conversation_id があるものに絞ってください。
Google アナリティクスの数値は、同意を拒否した訪問者や広告ブロッカーを使っている訪問者の分が記録されないため、SolidChat の管理画面の「分析」の数値より少なくなります。
参照記事と CTA のクリックを分ける
solidchat_link_click を link_url で分類します。例えば、/column/ を含むものを参照記事、問い合わせフォームのパスを含むものを CTA とします。回答内の URL は末尾の / やクエリの有無が異なる場合があり、長い URL は Google アナリティクスで切り詰められるため、完全一致ではなく「含む」で判定してください。
チャット経由のフォーム到達
Google アナリティクスの「探索」→「ファネルデータ探索」で、以下のステップを設定します。
solidchat_link_click(link_urlにフォームのパスを含む)- フォームページの
page_view
チャット内リンクのクリック数と、実際のフォーム到達数を分けて確認できます。
同じサイト内へのリンクに utm パラメータを付けると、セッションの参照元が上書きされ、既存の集客の分析に影響します。チャット内のリンクには utm パラメータを付けないでください。
互換性ポリシー
上記のイベント名とパラメータ名、およびその意味を公開インターフェースとし、後方互換性を維持します。イベントとパラメータは追加される場合があります。イベント名の変更や廃止が必要な場合は、事前に告知したうえで、新旧のイベントを並行して送信する期間を設けます。
イベントの送信順序(同時に発生するイベントの前後関係)と、app_id・conversation_id などの識別子の形式は、予告なく変更される場合があります。これらには依存しないでください。
うまく動かないとき
| 症状 | 確認事項 |
|---|---|
| イベントが 1 件も記録されない | 管理画面の「設置」→「Google アナリティクス連携」で「送信しない」以外が選択されているか、ページに Google タグ マネージャーまたは Google タグが設置されているかを確認してください |
| Google タグ マネージャーのプレビューにイベントが表示されない | 「Google アナリティクスをどのように設置していますか」で「Google タグ(直接設置)」が選択されていないかを確認してください |
| Google タグ マネージャーのプレビューにはイベントが表示されるが、Google アナリティクスに記録されない | Google タグ マネージャーで GA4 イベントタグとトリガーが設定・公開されているかを確認してください(「Google タグ マネージャーの設定例」の手順 1〜3)。dataLayer に追加されただけでは、Google アナリティクスには送信されません |
| 「Google タグ(直接設置)」を選んだが、Google アナリティクスに記録されない | ページの Google タグの送信先に、GA4 の測定 ID(G- で始まる)が含まれているかを確認してください。タグ ID は G-・GT-・AW- などで始まります。Google 広告用のタグ(AW- で始まる)だけが設置され、送信先に GA4 が設定されていない場合は記録されません |
| 設置方法の判定に自信がない、または途中で選択を変えた | 「設置方法の確認手順」に従い、HTML ソースで再確認してください。選択を変更する前に記録されなかったデータは、後から補完されません |
| 専用URL で開いたチャットが記録されない | 専用URL での利用は計測の対象外です。埋め込みタグで設置したページのみが対象です |
solidchat_widget_loaded が記録されない | 標準チャットボタンを非表示にしている場合は送信されません |
レポートに link_url などが表示されない | Google アナリティクスでカスタムディメンションとして登録してください。登録前のデータには適用されません |
| 設定を変更したが反映されない | ページを再読み込みしてください |