Сколько зрителей просмотрели тему за определенный период?

Я пытаюсь найти способ узнать, сколько зрителей (вошедших в систему или нет) просмотрели определённую тему за определённый период. Я искал ответ, но не нашёл точного решения. Используя Data Explorer, я попытался изучить таблицы, упоминающие зрителей, и применить SQL для фильтрации результатов; однако мне не удалось точно узнать, сколько пользователей просмотрели определённую тему в течение конкретного дня, например.

Я объясню таблицы, которые я изучил! Если я ошибаюсь или если есть что-то, что я могу добавить для исправления ситуации, пожалуйста, поправьте меня! Спасибо!

Таблица topic_views содержит поле first_viewed_at, поэтому невозможно узнать, посещал ли пользователь тему второй раз; однако, хотя таблица topic_users также содержит first_viewed_at и last_viewed_at, последний просмотр мог быть третьим или четвёртым после периода, который меня интересует. Например, если сегодня был их последний просмотр, а первый был позавчера, я не смогу узнать, просматривал ли пользователь тему вчера. Просмотры из таблицы 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:00 до 23:00 в определённый день? (:slight_smile:

Спасибо!

Нет, я не думаю, что вы сможете получить эту информацию из Topic.views.

Многое можно отслеживать с помощью GTM. Вы должны иметь возможность получить как количество онлайн-пользователей, так и количество пользователей, посетивших ваш сайт в определенные часы. Однако вам необходимо правильно настроить теги и триггеры. Подробнее см. здесь: Page view triggers - Tag Manager Help