Посмотрите на
Beacon API. Он как раз предназначен для аналитики.
А обычные запросы браузер имеет полное право обрывать потому что полагает что в нём уже нет никакого смысла раз вы покидаете страницу.
А ещё в MDN прелагают использовать событие
visibilitychange вместо
beforeunload.
https://developer.mozilla.org/en-US/docs/Web/API/N...