DiscourseにPlausible AnalyticsまたはFathomトラッキングを追加

Plausible Analytics

  • まず、Plausible Analytics インスタンスにドメインを追加し、トラッキングコードを取得します。以下のような形式になるはずです:
<script async defer data-domain="community.example.com" src="https://plausible.example.com/js/plausible.js"></script>
  • [管理 > カスタマイズ > テーマ] から新しいテーマコンポーネントを作成します。

  • 次に、取得したトラッキングコードを <head> セクションに貼り付けます。

  • [保存] をクリックします。

すべてのテーマにこの設定を追加して、すべてのユーザーの分析データを追跡できるようにしてください!

これで完了です!

:information_source: データの流入が見られない場合、CSP 設定によってスクリプトがブロックされている可能性があります。ブラウザのコンソールを確認し、エラーが発生している場合は、https://plausible.io/js/script.js を CSP 設定に追加してください。


追記: この更新により、Fathom または Plausible のコンテンツセキュリティポリシースクリプトソースの追加は不要になりました。詳細は Content-Security-Policy now uses 'strict-dynamic' をご覧ください。

Fathom

Discourse 向けの Fathom ガイドをご覧ください。

2025 年 5 月 14 日更新:Discourse 向けの Fathom ガイドを追加
さらに詳しい情報は、以下の Fathom ガイドをご覧ください:

注意: Plausible と Fathom の両方において、スクリプトはテーマにアタッチされたコンポーネント内 および 追跡したい各テンプレートの head 内に挿入することで正常に動作します。Fathom の新しいガイドは「コンポーネント方式」を使用していません。

「いいね!」 27

Plausible の GitHub 上のロードマップによると、近い将来、Plausible のページを自身のウェブサイトに埋め込めるようになるようです。

このような機能を Discourse に埋め込むことは可能でしょうか、それともプラグインが必要になるでしょうか、あるいは…?

「いいね!」 5

それには、テーマコンポーネントが必要です。

「いいね!」 6

@Falco さん、フロントエンドのルーティングに変更はありましたか?ハッシュベースのルーティング用に用意されている、スクリプトの hash バージョンを使用するよう推奨されているのを確認しました。Discourse は現在 HTML5 の PushState API を使用しているように思われますが、合っていますでしょうか?

「いいね!」 3

なぜ @justin がここでハッシュバージョンを選んだのかは不明ですが、私たちは昔から HTML5 History API を使用しています。OP をウィキ化し、誰でも編集できるようにしました。

「いいね!」 1

Plausible を使用しており、通常の plausible.js はユーザーがトピック間を移動する際に URL をログに記録しないことを確認しました。そのため、訪問者の正確な把握が必要な場合は、ハッシュ化された Plausible JS を使用する必要があります。

ハッシュ化されたバージョンでも同じ問題が発生しています。

こうした矛盾した報告があるのは奇妙ですね。理論的には、Discourse が HTML5 の History API を使用しているため、通常のスクリプト(hash スクリプトではない方)が正しく追跡するはずです。

残念ながら、テストできる Discourse インスタンスを現在用意できていません。

おそらく私の知識不足ですね :slight_smile: 当初は、SPA であり、他の分析プロバイダー向けの独自トラッキングを実装していたため、ハッシュ版を採用しました。plausible.js が機能するようであれば、変更していただいて構いません!

「いいね!」 1

@ukutaht さん、こんにちは

2 つある Discourse サイトのうちの 1 つで plausible.hash.js から plausible.js に切り替えたところ、以下の現象が発生しました。

別のタブでサイトを開くと、アクティビティが全く表示されません。

一方、plausible.hash.js を使用しているこちらのサイトでは、オンラインユーザーが 1 人と正しく表示され、トップページウィジェットにも正しいページが表示されています。

ハッシュ付き JS の必要性を排除するために、何かトラブルシューティングを試してみても構いません。

「いいね!」 3

ああ、そういえばおっしゃる通り、同じ挙動を見た記憶があります。だからこそ、ハッシュ化されたスクリプト方式を採用したのです。

「いいね!」 3

つまらない質問で恐縮ですが、この機能を追加すると、Discourse コミュニティ内部の動きを追跡するのでしょうか、それともコミュニティがリンクしている他のドメインへのアウトバウンドトラフィックを追跡するのでしょうか?

これによってどのようなメトリクスが把握できるのでしょうか?

「いいね!」 1

私は(Plausible ダッシュボードで)Discourse フォーラムのどのリンクがどの国からアクセスされているかを確認できます。

「いいね!」 2

Plausible をアナリティクスとして使用する際に、いくつかのバグがあるということですか?

いいえ、問題なく動作するはずです。コミュニティでしばらく使用していますが、問題は発生していません。

「いいね!」 1

OPを編集して、Fathomの使用方法に関する簡単な説明を追加しました。必要に応じて拡張し、さらにテストしてください。

「いいね!」 2

素晴らしいです :smiley:

「いいね!」 2

こんにちは、ガイドをありがとうございます。

Fathom を Discourse に統合したいのですが、Plausible で行ったように hash.js をコードに追加する必要がありますか?

OPに示されているように、それはscript.jsだと思います(**Fathomのサポートを追加するには**まで読んでください)。

「いいね!」 2

更新: Fathom の担当者が、必要な手順を説明する簡単なドキュメントを作成しました。ぜひご覧ください。

Fathom の注意点: 変更する方法があるかもしれませんが、Discourse はすべてのページに対して rel="canonical" タグをホームページに追加します。そのため、Fathom でのページビューはすべてホームページからの流入として表示されていました。

Fathom に問い合わせたところ、トラッキングスクリプトに canonical="false" を追加するようにとのことでした。以下のように表示されます。

<!-- Fathom - beautiful, simple website analytics -->
<script src="https://cdn.domain.com/script.js" data-spa="auto" data-site="ADHGFREZ" data-canonical="false" defer></script>
<!-- / Fathom -->

これで解決しました。

「いいね!」 3