1. если сессия новая (в яндекс броузере этого не понять на данный момент и когда будет работать неизвестно) так вот новая сессия - ставите штамп времени timestamp для это юзер айди..(дальше вариантов много, выбирайте любой или который придумаете) при каждом обращении отнимать от текущей метки предыдущею, получите разницу в секундах. = соответственно если обращений больше не будет полученное число будет равна "продолжительности сессии". далее если прилетает от этого же user_id session true и в базе (или где вы там будете хранить историю) для этого юзера уже есть время предыдущей сессии (необходимо его куда ни будь переписать ну скажем в табличку users_session_history) там заводите поля юзер айди, дата-время, сеесия айди, полученная цифра выше в сек. описал как можно кратко, не знаю понятно или нет, более того не претендую на единственный вариант реализации, потому если кто будет писать что можно вот так а не так, сразу лесом. p.s подобные штуки должна реализовывать сама площадка ТОЕСТЬ давать необходимые инструменты для разработчика, пока все это похоже на "рога и копыта"