Александр Нестеров правильно написал
добавлю что определить конец загрузки страницы в браузере на самом деле не так просто как кажется даже на javascript, например если используются сторонние элементы (изображения, скрипты), загружаемые не с вашего сервера (например плеер)
в некоторых случаях можно управлять предзагрузкой самостоятельно, и надеяться на работающее кеширование в браузере, т.е. ты загружаешь изображение на javascript, и получаешь гарантию что если ты в скрипте его загрузил то значит оно точно будет загружено на странице (кстати так можно в принципе формировать содержимое страницы полностью скриптами, прописывая уже загруженное изображение создаваемым элементам)
Официально
html имеет onload атрибут на событие окончания загрузки самой html страницы, если содержимое страницы формируется на сервере то оно будет вызвано когда все элементы будут загружены. Как я уже сказал, для активного содержимого, заполняемого скриптами это не сработает.
Поэтому в скрипте на это событие делай запрос на веб сервер (
fetch или
XMLHttpRequest или любую библиотеку, например jquery ajax) а уже на веб сервере сохраняй это событие где-надо, в базе или в сессии