특정 기간 동안 주제를 본 시청자 수는 몇 명일까요?

특정 기간 동안 특정 토픽을 조회한 사용자 수(로그인 여부 불문)를 파악하는 방법을 찾고 있습니다. 관련 답변을 검색해 보았지만 정확한 해결책을 찾지 못했습니다. Data Explorer를 사용하여 조회 관련 테이블을 조사하고 SQL로 결과를 필터링해 보았지만, 예를 들어 특정 날에 특정 토픽을 조회한 사용자의 정확한 수를 파악하는 데 실패했습니다.

제가 조사한 테이블들을 설명드리겠습니다! 제가 잘못 이해한 부분이 있거나 수정을 위해 추가할 사항이 있다면 알려주시면 감사하겠습니다!

topic_views 테이블에는 first_viewed_at만 포함되어 있어 사용자가 해당 토픽을 두 번째로 방문했는지 여부를 알 수 없습니다. 반면 topic_users 테이블에는 first_viewed_at과 last_viewed_at이 모두 포함되어 있지만, 마지막 조회 시점은 제가 조사하는 기간 이후의 세 번째나 네 번째 조회일 수도 있습니다. 예를 들어, 오늘이 마지막 조회 시점이고 어제 이전에 첫 조회가 있었다면, 사용자가 어제 해당 토픽을 조회했는지 알 수 없습니다. topics 테이블의 조회 수(view count)도 도움이 되지 않습니다. 왜냐하면 조회 시점이 언급되어 있지 않기 때문입니다. 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가 정수(int) 카운트라고 되어 있는데, 이렇게는 이 카운트가 언제 발생했는지를 알 수 없겠죠? 그렇다면 특정 날 동안 해당 주제를 본 사용자의 수를 알 수 없게 되는 건가요?

제안해 주셔서 감사합니다! Discourse Data Explorer가 생성하는 결과만큼 정확할까요? 예를 들어 온라인 사용자 수를 알 수 있을까요? 또는 특정 날 오전 6시부터 밤 11시까지 주제를 본 사용자의 수를 알 수 있을까요? (:

감사합니다!

아니요, Topic.views에서 이 정보를 가져올 수 없다고 생각합니다.

GTM을 사용하면 많은 항목을 추적할 수 있습니다. 온라인 사용자 수와 특정 시간대에 사이트를 방문한 사용자 수도 가져올 수 있어야 합니다. 하지만 태그와 트리거를 올바르게 구성해야 하며, Page view triggers - Tag Manager Help 확인해 보세요.