Estou tentando descobrir como obter o número de visualizadores (logados ou não) que acessaram um determinado tópico durante um período específico. Pesquisei por uma resposta, mas não encontrei uma solução exata. Usando o Data Explorer, tentei estudar as tabelas que mencionam os visualizadores e usar SQL para filtrar o resultado; no entanto, não consegui determinar exatamente quantos usuários visualizaram um tópico específico em um determinado dia, por exemplo.
Vou explicar as tabelas que estudei! Você pode corrigir-me se eu estiver errado ou se houver algo que eu possa adicionar para resolver isso, por favor! Obrigado!
A tabela topic_views lista o first_viewed_at, portanto não é possível saber se o usuário visitou o tópico uma segunda vez ou não; no entanto, embora a tabela topic_users liste tanto o first_viewed_at quanto o last_viewed_at, a última visualização pode ser a terceira ou quarta visita após o período que estou investigando. Por exemplo, se hoje foi a última visualização e antes de ontem foi a primeira, não conseguirei saber se o usuário visualizou o tópico ontem. As visualizações da tabela topics não ajudam muito porque não mencionam o momento; a tabela post_timings também não, pois não indica quando a leitura ocorreu.
Existe alguma outra tabela ou método que eu tenha perdido?
Se você tiver acesso ao console do Rails, pode tentar:
ssh root@example.org
cd /var/discourse
./launcher enter app
rails c
Topic.find(<topic-id>).views
Mas isso está sujeito à configuração do site topic view duration hours, de modo que as visitas a tópicos novos são contadas após N horas. Confira essa discussão anterior sobre o assunto: Topic_views vs Topic.views - #6 by vinothkannans
Você também pode tentar rastrear visualizações com o Google Tag Manager.
Muito obrigado pela sua resposta! Tenho uma pergunta, por favor.
Foi dito que topic.views é um contador inteiro, mas isso não vai me ajudar a saber quando essas contagens ocorreram, certo? Então, não vou conseguir saber o número de usuários que visualizaram um tópico em um determinado dia?
Obrigado pela sugestão! Você acha que será tão preciso quanto os resultados gerados pelo Discourse Data Explorer? Vou conseguir obter, por exemplo, o número de usuários online? Ou o número de usuários que visualizaram um tópico das 6h às 23h em um determinado dia? (:
Não, acho que você não conseguirá obter essa informação a partir de Topic.views.
Muitas coisas podem ser rastreadas com o GTM. Você deverá conseguir obter o número de usuários online, bem como o número de usuários que visualizaram seu site entre certos horários. Mas é necessário configurar corretamente suas tags e gatilhos; consulte Page view triggers - Tag Manager Help