カスタムイベント一覧と集計方法
このページでは、metatellがGoogle Analyticsに送信するカスタムイベントの一覧と、Google Analytics 4(GA4)でカスタムイベントを集計する方法を説明します。
イベントを計測するには、あらかじめ組織にGA4の測定IDを設定しておく必要があります。設定方法はGoogle Analytics連携を参照してください。
カスタムイベント一覧
ルーム内のユーザー行動に応じて、以下のカスタムイベ ントが送信されます。
イベントのパラメータは、カスタムディメンションとして登録するまでGA4のレポートに表示されません。登録手順は集計方法を参照してください。
ルームの入退室
| イベント名 | 送信タイミング |
|---|---|
load_room | ルームページが読み込まれた際に送信される。入室前のエントリー画面が表示された段階でも送信される。 |
join_room | エントリー画面の「ルームに入る」ボタンをクリックした際に送信される。 |
enter_room | 3D空間への入室処理が開始された際に送信される。 |
join_tour | ツアー(見学)モードでルームに参加した際に送信される。 |
exit_room | ルームページを離れた際に送信される。タブを閉じる、ページを再読み込みする、別ページへ移動する操作が該当する。 |
これらのイベントにパラメータはありません。
通常の入室では、1回の入室操作でjoin_roomとenter_roomの両方が送信されます。入室数を集計する場合は、どちらか一方のイベントを使用してください。
exit_roomはページを離れる瞬間に送信されるため、通信状況によっては計測されないことがあります。退室数は参考値として扱ってください。
同一ルーム内のワープ移動では、入退室のイベントは送信されません。リンクで別のルームへ移動した場合はページ遷移となるため、移動先のルームで再度load_roomが送信されます。
チャット
| イベント名 | 送信タイミング | パラメータ |
|---|---|---|
chat | 全体チャットでテキストメッセージを送信した際に送信される。 | message_length: メッセージの文字数 |
group-chat:create | グループチャットを作成した際に送信される。 | member_count: 作成者を含むグループの人数 |
group-chat:send | グループチャットでメッセージを送信した際に送信される。 | has_image: 画像の有無(true/false)、message_length: 本文の文字数 |
いずれもメッセージの送信操作で計測され、受信では計測されません。
プライバシー保護のため、チャットの本文や画像はGoogle Analyticsに送信されません。送信されるのは文字数や画像の有無などのメタ情報のみです。
リアクション
| イベント名 | 送信タイミング | パラメータ |
|---|---|---|
reaction | リアクションの絵文字を選択した際、または挙手した際に送信される。 | reaction_id: リアクションの種類 |
reaction_idには以下の値が入ります。
| 値 | 意味 |
|---|---|
smile | スマイル |
laugh | 笑い |
clap | 拍手 |
heart | ハート |
wave | 手を振る |
angry | 怒り |
cry | 泣き |
raiseHand | 挙手 |
手を下げる操作では送信されません。
マイク操作
| イベント名 | 送信タイミング | パラメータ |
|---|---|---|
toggle_mic | マイクのON/OFFを切り替えた際に送信される。 | mic_status: 切り替え後の状態(on/off) |
アバター選択
| イベント名 | 送信タイミング | パラメータ |
|---|---|---|
avatar_selected | アバター選択画面でアバターを選択した際に送信される。 | avatar_id: アバターのID、avatar_name: アバター名 |
メディアの表示
| イベント名 | 送信タイミング |
|---|---|
media_modal_open | メディアの拡大表示を開いた際に送信される。 |
拡大表示が有効な画像・動画をクリックした場合と、チャット内の画像を拡大表示した場合に計測されます。拡大表示が無効なメディアでは計測されません。
| パラメータ | 説明 |
|---|---|
type | メディアの種類。image(画像)、video(動画)、rssBoard(RSSボード)のいずれか。 |
typeDetail | 動画の詳細種別。video/mp4、video/hls、video/stream(画面共有・カメラ映像)のいずれか。動画の場合のみ送信される。 |
media | 表示したメディアのURLやタイトルなどの情報(JSON形式の文字列)。 |
リンクのクリック
| イベント名 | 送信タイミング |
|---|---|
open_link | ルーム内のリンクを開いた際に送信される。 |
| パラメータ | 説明 |
|---|---|
clicked_name | クリックされた要素の識別名。 |
dest_url | リンク先URL。 |
object_uuid | クリックした3DオブジェクトのID。3Dオブジェクトのリンクボタン以外からのクリックではnullになる。 |
clicked_nameの代表的な値は以下の通りです。
| 操作 | clicked_nameの値 |
|---|---|
| 3Dオブジェクトのリンクボタン(open link / visit room)のクリック | open-media-button |
| チャット内のルームリンクやメディア拡大表示のリンクボタンのクリック | MediaModalLink |
| ライセンス表記のリンクのクリック | LicenseLink |
| 掲示板コンテンツのリンクのクリック | boardContents |
チャット内のリンクは、リンク先がmetatellのルームURLの場合のみ計測されます。チャットから一般の外部URLを開いた場合は計測されません。
また、同一ルーム内へのワープリンクはopen_linkの対象外です。
トリガーの実行
| イベント名 | 送信タイミング |
|---|---|
trigger_executed | 3D空間内に設置されたトリガーが実行された際に送信される。 |
| パラメータ | 説明 |
|---|---|
trigger_id | トリガーの識別子。SpokeエディタでIDを設定した場合はその値が入り、未設定の場合はトリガー種別などの既定値が入る。 |
trigger_name | Spokeエディタで設定したエレメント名。未設定の場合、このパラメータ自体が送信されない。 |
trigger_type | トリガーの種類。active-trigger-2(Active Trigger)、active-trigger-2d-2(2D Active Trigger)、passive-trigger-2(Passive Trigger)、js-event-trigger-2(JS Event Trigger)など。 |
trigger_phase | 実行フェーズ。click(クリック)、enter(エリア進入)、exit(エリア退出)、event(JSイベント)のいずれか。 |
execution_side | local(トリガーを操作した本人での計測)またはsync-remote(同期トリガーを受信した他の参加者での計測)。 |
is_sync | ルーム同期が有効なトリガーかどうか(true/false)。 |
is_replay | 途中入室時の状態復元による再実行かどうか(true/false)。 |
同期が有効なトリガーを1人が操作すると、操作した本人のlocalのイベントに加えて、ルーム内の他の参加者ごとにsync-remoteのイベントが記録されます。
さらに、操作後にルームへ入室した参加者にも状態復元としてis_replayがtrueのイベントが記録されます。
実際の操作回数を集計する場合は、execution_sideがlocalのイベントのみに絞り込んでください。
トリガーごとの集計にはtrigger_nameの利用が便利です。Spokeエディタでトリガーのエレメントに分かりやすい名前を付けておくことを推奨します。
自動収集イベント
上記のカスタムイベントとは別に、GA4が自動的に収集するイベント(page_view、session_start、first_visitなど)も記録されます。
詳細はGoogle公式ヘルプを参照してください。
Google Analyticsでの集計方法
カスタムイベントの集計は、以下の流れで行います。
- イベントの受信を確認する。
- パラメータをカスタムディメンションとして登録する。
- 標準レポ ートまたは探索レポートで集計する。
手順1: イベントの受信を確認する
GA4の「レポート」>「エンゲージメント」>「イベント」を開き、load_roomやtrigger_executedなどのイベントが表示されていることを確認します。

リアルタイムで確認したい場合は、DebugViewを利用してください。手順はGoogle Analytics連携を参照してください。
手順2: パラメータをカスタムディメンションとして登録する
イベントのパラメータ(trigger_nameなど)は、カスタムディメンションとして登録するまでレポートや探索で利用できません。以下の手順で登録します。
- GA4の「管理」(歯車アイコン)を開く。
- 「データ の表示」の「カスタム定義」をクリックする。
- 「カスタムディメンションを作成」をクリックする。
- 各項目を入力する。
- ディメンション名: レポートに表示する名前(例: Trigger Name)
- 範囲:「イベント」を選択
- イベントパラメータ: パラメータ名(例:
trigger_name)を入力
- 「保存」をクリックする。

カスタムディメンションの登録には、GA4プロパティの編集者以上の権限が必要です。
集計の目的に応じて、以下のパラメータの登録をおすすめします。
| パラメータ | ディメンション名の例 | 用途 |
|---|---|---|
trigger_name | Trigger Name | トリガー別の実行回数の集計 |
trigger_type | Trigger Type | トリガー種類別の集計 |
execution_side | Execution Side | トリガーの実操作回数への絞り込み |
reaction_id | Reaction ID | リアクション種類別の集計 |
clicked_name | Clicked Name | リンク別のクリック数の集計 |
dest_url | Dest URL | リンク先URL別のクリック数の集計 |
- 登録前に送信されたデータは遡って集計されず、「(not set)」と表示されます。
- 登録後、レポートで利用できるようになるまで24〜48時間かかる場合があります。
- イベントスコープのカスタムディメンションは、標準のGA4プロパティでは最大50個まで登録できます。
dest_urlやmediaのように値の種類が多いパラメータは、レポート上で「(other)」に集約されることがあります。
手順3: 標準レポートで確認する
「レポート」>「ユーザー エンゲージメントとユーザー維持率の把握」>「イベント」では、イベントごとの発生回数(イベント数)と、イベントを発生させたユーザー数を確認できます。 イベント名 をクリックすると、そのイベントの詳細を確認できます。
手順4: 探索レポートでパラメータ別に集計する
パラメータ別の集計には、探索レポートの「自由形式」を使用します。ここでは、トリガーごとの実行回数を集計する例を示します。
事前に手順2でtrigger_nameとexecution_sideをカスタムディメンションとして登録しておいてください。
- 左メニューの「探索」をクリックし、「自由形式」を選択する。
- 「変数」パネルの「ディメンション」の「+」をクリックし、「イベント名」と登録済みのカスタムディメンション(Trigger Name、Execution Side)をインポートする。
- 「指標」の「+」をクリックし、「イベント数」をインポートする。
- 「タブの設定」パネルで、「行」に「Trigger Name」、「値」に「イベント数」をドラッグする。
- 「フィルタ」に「イベント名」をドラッグし、条件「完全一致」で
trigger_executedを指定して適用する。 - 「フィルタ」に「Execution Side」を追加し、条件「完全一致」で
localを指定して適用する。同期トリガーの重複計上を除外できる。

これで、トリガー名ごとの実行回数の表が表示されます。
同様の手順で、reaction_id別のリアクション数やclicked_name別のリンククリック数なども集計できます。
探索レポートの詳細な使い方はGoogle公式ヘルプを参照してください。