特定の期間中にトピックを閲覧したビューアの数

特定のトピックを特定の期間に閲覧した視聴者数(ログイン済みかどうかにかかわらず)を把握する方法を見つけたいと考えています。回答を検索しましたが、完全な解決策は見つかりませんでした。Data Explorerを使用して、閲覧者に関するテーブルを調査し、SQLを使って結果をフィルタリングしようと試みましたが、例えば「ある日の特定のトピックを閲覧したユーザー数が正確にいくつだったか」を把握することができませんでした。

私が調査したテーブルについて説明します。もし私の理解が間違っている場合や、修正のために追加できることがある場合は、ご指摘ください!ありがとうございます!

topic_views テーブルには first_viewed_at が含まれていますが、ユーザーがトピックを二度目に訪れたかどうかは判断できません。一方、topic_users テーブルには first_viewed_at と last_viewed_at の両方が含まれていますが、last_viewed_at が対象期間後の3回目や4回目の閲覧である可能性があります。例えば、今日が最後の閲覧で、一昨日以前が最初の閲覧だった場合、ユーザーが昨日にトピックを閲覧したかどうかは判断できません。topics テーブルの閲覧数も、いつの閲覧かを示していないためあまり役立ちません。同様に、post_timings テーブルも読み取りがいつ行われたかを示していないため、役に立ちません。

見落としている他のテーブルや方法はありますか?

ありがとうございます!(:

rails コンソールにアクセスできる場合は、以下を試してみてください。

ssh root@example.org
cd /var/discourse
./launcher enter app
rails c
Topic.find(<topic-id>).views

ただし、これはサイト設定 topic view duration hours に依存するため、新しいトピックの閲覧は N 時間後にカウントされます。これに関する以前の議論を確認してください:Topic_views vs Topic.views - #6 by vinothkannans

また、Google Tag Manager を使用して閲覧数を追跡することもできます。

ご回答ありがとうございます!一つ質問させてください。

topic.views は整数のカウントだと書かれていますが、これではそのカウントがいつ発生したのかはわからないですよね?つまり、特定の日にトピックを表示したユーザー数を把握することはできないのでしょうか?

ご提案ありがとうございます!Discourse Data Explorer が生成する結果と同じくらい正確でしょうか?例えば、オンラインユーザー数や、特定の日の午前 6 時から午後 11 時の間にトピックを表示したユーザー数を取得することは可能でしょうか?(:

ありがとうございます!

いいえ、Topic.views からその情報を取得することはできないと思います。

GTM を使えば多くのことを追跡できます。特定の時間帯にサイトを閲覧したユーザー数や、オンラインユーザー数も取得できるはずです。ただし、タグとトリガーを正しく設定する必要があります。詳細は Page view triggers - Tag Manager Help をご確認ください。