Ответ 1
Когда посетитель приходит на вашу страницу, Google Analytics устанавливает cookie, где хранится метка времени. Когда пользователь посещает вторую страницу вашего сайта, Google сравнивает сохраненную временную метку с фактическим временем и вычисляет продолжительность посещения от разницы между ними. Если все ваши посетители отскочили, нет второй точки данных для сравнения хранимого значения, а google не может вычислить продолжительность.
Общим обходным решением является установка тайм-аута javascript и запуск события через десять секунд или около того (при этом флаг "взаимодействие" в событии, установленном в true, см. в документах отслеживания событий Google Analytics). Предполагается, что кто-то, кто ищет более десяти секунд на вашей странице, на самом деле не является отказом (я думаю, что, поскольку "показатель отказов" имеет настолько негативные коннотации, что люди стараются избегать высоких показателей отказов даже ценой введения плохих данных; вы должны понимать, что "показатель отказов" просто означает, что недостаточно данных, чтобы сказать что-либо значимое для этих конкретных посетителей).
Лично мне не нравится этот подход, потому что это означает переопределить бездействие посетителя как действия. Лучшая идея (IMO) заключается в том, чтобы реализовать значимую точку взаимодействия - как ссылку "читать дальше", которая загружает контент через ajax или что-то в этом роде - и отслеживать это через отслеживание событий или просмотр виртуальной страницы.
Руководство по отслеживанию событий: https://developers.google.com/analytics/devguides/collection/gajs/eventTrackerGuide
Краткое обновление:. При использовании Universal Analytics технические детали изменились (т.е. больше нет файлов cookie с отметками времени, вся информация обрабатывается на серверах GA). Таким образом, первый абзац больше не обновляется, однако остальная часть ответа остается в силе.