| 概要 | Discourse 向けの高度な Google Analytics 4 イベントトラッキング | |
| リポジトリリンク | https://github.com/multidimension-al/discourse-google-analytics | |
| インストールガイド | Discourse にプラグインをインストールする方法 |
Discourse コアは、ナビゲーションごとに Google Analytics へ単一の page_view を送信します。このプラグインは、閲読時間、閲読進捗、完了イベントを追加し、オプションとしてページビューの所有権をプラグインに移すことで、プライベートメッセージや管理者ルートからの除外を可能にします。
なぜ組み込みの SEO/GA アナリティクスタグを使わないのか?
使うことは可能で、多くのフォーラムではそれで十分です。コアのタグは機能しており、このプラグインはそれを置き換えるのではなく、その上に動作します。
違いは、何を測定するかです。page_view は URL が読み込まれたことを示すだけです。誰かがそこに掲載された内容を読んだかどうかは判別できないため、長いトピックを20分間読んだ場合と、即座に離脱(バウンス)した場合とでは、レポート上では同じように見えます。このプラグインは、実際に誰かがどれだけ長く読んだか、トピックのどこまで進んだか、最後まで到達したかを測定します。これらはコンテンツの判断材料となる価値のあるシグナルであり、リマーケティングオーディエンスを構築する価値のあるものです。
Discourse 独自のレポート(管理画面 → レポート)は別のシステムであり、内部指標を確認する最適な場所として変わりません。これは Google Analytics に到達するデータに関する話です。
機能
- 13 種類のコミュニティイベント:トピック表示、エンゲージメントおよび閲読進捗のマイルストーン、閲読完了、訪問ごとのサマリー、検索、登録、ログイン、トピック作成、返信、いいね、ブックマーク
- 閲読はスクロール深度ではなく、投稿ストリームと注意深い時間に基づいて測定
- 2つのモード:コアの既存タグを拡張するか、タグとページビューを所有
- プライベートメッセージ、制限付きカテゴリ、管理者ルートではイベントを生成しない
- トピックタイトルと検索キーワードはデフォルトで無効
- スタッフのトラフィックをグループ単位で GA4 の内部トラフィックとしてマーク可能
- 設定ミスに対する診断ページと管理ダッシュボードの警告
設定
1. インストール
hooks:
after_code:
- exec:
cd: $home/plugins
cmd:
- git clone https://github.com/multidimension-al/discourse-google-analytics.git
その後 ./launcher rebuild app を実行します。
2. モードを選択。 管理画面 → 設定 → Google Analytics 4。
コア拡張(デフォルト)— コアがタグとページビューを保持し、プラグインがその上にイベントを追加します。コアの ga universal tracking code を G-XXXXXXXXXX に、ga version を v4_gtag に設定します。
管理 — プラグインがタグとページビューを所有します。これにより、PM や管理者ルートを除外できます。コアの ga universal tracking code をクリアし、ga4 integration mode を managed に設定し、ga4 measurement id に ID を入力します。
3. discourse ga4 enabled をオンにする。
4. オプション — 内部トラフィック。 ga4 internal traffic groups はデフォルトで管理者とモデレーターです。GA4 の 管理画面 → データ設定 → データフィルター → 内部トラフィック で、traffic_type が internal に一致するフィルターを作成すると初めて有効になります。
5. 確認。 管理画面 → プラグイン → Google Analytics → 診断。
既存の設定をコア拡張から管理モードに移行する場合は、設定を手動で編集するのではなく、診断ページの Adopt existing Discourse GA configuration を使用してください。
設定
| 名前 | 説明 |
|---|---|
discourse ga4 enabled |
プラグインを有効にする。デフォルトでは無効。 |
ga4 integration mode |
core_extension(コアがタグを所有)または managed(プラグインが所有)。 |
ga4 measurement id |
管理モード用の GA4 計測 ID。 |
ga4 track page views |
page_view を送信する。管理モードのみ。 |
ga4 track topic views |
トピック訪問ごとに 1 回 discourse_topic_view を送信する。 |
ga4 track topic engagement |
閲読時間のマイルストーンで discourse_topic_engaged を送信する。 |
ga4 engagement milestones |
発火するアクティブ閲読秒数。デフォルト 10|30|60|180。 |
ga4 track topic progress |
閲読位置のマイルストーンで discourse_topic_progress を送信する。 |
ga4 progress milestones |
発火するトピックの割合(%)。デフォルト 25|50|75|100。 |
ga4 track read completion |
読者が末尾に到達した際に discourse_topic_read_complete を送信する。 |
ga4 read complete min seconds |
末尾を完了とみなすための最小閲読時間。 |
ga4 track read summaries |
読者がトピックを離脱した際に discourse_topic_read_summary を送信する。 |
ga4 read summary min seconds |
これを下回る訪問はバウンスとみなされ、サマリー化されない。 |
ga4 track search |
フルページ検索で結果が返った際に search を送信する。 |
ga4 track registration |
アカウント作成後に sign_up を送信する。 |
ga4 track login |
正常なサインイン後に login を送信する。デフォルトでは無効。 |
ga4 track topic creation |
discourse_topic_created を送信する。 |
ga4 track replies |
discourse_reply_created を送信する。 |
ga4 track likes |
discourse_post_liked を送信する。いいねの取り消しでは何も送信しない。 |
ga4 track bookmarks |
discourse_bookmark_created を送信する。 |
ga4 send search terms |
検索された内容も送信する。デフォルトでは無効 — フォーラムの検索には個人情報が含まれることが多い。 |
ga4 send page titles |
ページタイトルを含める。デフォルトでは無効 — トピックルートではトピックタイトルとなる。 |
ga4 track private message activity |
識別子を持たない集計 PM イベントを 1 つ送信する。デフォルトでは無効。 |
ga4 login required is restricted |
ログイン必須のフォーラムでは、トピックとカテゴリの識別子を保持する。 |
ga4 send trust level |
信頼レベル 0–4 をイベントパラメータとして含める。 |
ga4 internal traffic groups |
これらのグループのメンバーは traffic_type=internal とマークされる。デフォルト:管理者、モデレーター。 |
ga4 suppress in embed |
埋め込みモードでは何も送信しない。 |
ga4 debug mode |
イベントと抑制の判断をブラウザコンソールにログ出力する。 |
備考
- コア拡張モードでは、コアがまだページビューを所有しているため、PM の URL やトピックタイトルが送信され続けます。変更されるのは管理モードのみです。
|topic_idを GA4 のカスタムディメンションとして登録しないでください — 無制限であり、プロパティの基数制限に抵触します。 - Discourse 独自の 管理画面 → レポート → トレンド検索 はクリックスルーを記録するため、どの検索が失敗したかを示します。GA4 ではそれができません。そのため
ga4 send search termsはデフォルトで無効です。

