@jazzus

Как учитывать уникальных юзеров?

Нужно вести учет уникальных посетителей неких сущностей за период.

Посетители могут быть зарегистрированными юзерами и гостями.

Думаю сделать так.
Таблица
id
ip
user_id
visitable_id
visitable_type
даты

Когда посещает, проверяем авторизован или нет.
Если авторизован:
Проверяем есть ли такой юзер в таблице посещений для указанной сущности
Если есть - возвращаем false.
Если нет - пишем юзер ид для связи с юзером, инкрементим unique_views у сущности.

Если не авторизован, проверяем ip адрес посетителя указанной сущности
Если есть - возвращаем false
Если нет - пишем в бд, инкрементим unique_views у сущности.

Кроном очищать данные старше одного месяца.

Погрешности типа возможного одинакового ip адреса у юзеров не существенны.

В итоге нужно по всем статьям/другим сущностям пользователя показать таблицу посетителей, где будут отображаться связанные данные посетителей. Делать к данным запросы, фильтрацию, сортировки и т.д.

Поделитесь опытом кто такое делал, правильна ли такая логика и т.д.
  • Вопрос задан
  • 117 просмотров
Пригласить эксперта
Ответы на вопрос 2
Sanes
@Sanes
К чему такие сложности, если небольшая погрешность допустима? Ставьте куки или что-то вроде этого.
Ответ написан
inoise
@inoise
Solution Architect, AWS Certified, Serverless
Подключите Яндекс Метрику и научитесь ей пользоваться. Делов-то
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы