В отчёте красива одна строчка: 62% отказов на посадочной странице каталога. Владелец видит приговор контенту, редактор клянётся, что текст отличный, а маркетолог тянет одеяло на себя: реклама приводит не тех. Пока стороны спорят, с сайта уходят живые посетители, и у каждого ухода есть своя причина: кому-то страница не открылась вовремя, кого-то разочаровал первый экран, кого-то спугнул прыгающий интерфейс. Показатель отказов редко бывает приговором чему-то одному, зато он честно сигнализирует, что обещание и встреча с сайтом где-то разошлись. Разбор метрики от определения до плана исправления превращает спорщиков в следопытов.
Что считается отказом в Universal Analytics и Google Analytics 4
В старой системе Universal Analytics отказом считалась сессия с единственным взаимодействием: посетитель открыл страницу, не кликнул ни по одной ссылке и ушёл. Механика была строгой до курьёзов: чтение статьи в течение пяти минут без переходов всё равно фиксировалось как отказ, ведь взаимодействий не видно. С 1 июля 2023 года старые свойства перестали собирать данные, и основным средством измерения стал Google Analytics 4, вышедший в октябре 2020 года. Он перевернул логику подсчёта.
В новой системе сначала определяется вовлечённая сессия, а отказ вычисляется как её противоположность. Сессия засчитывается вовлечённой, если выполняется хотя бы одно из условий: она длится дольше десяти секунд, содержит ключевое событие (так теперь называются конверсии) или включает два и более просмотров страниц либо экранов. Доля отказов равна проценту сессий, не подошедших ни под одно условие, и ровно дополняет уровень вовлечённости до ста процентов. Флаг is_engaged_session_event проставляется во все события автоматически и повышает точность расчёта. Показательно, что метрики вовлечённости и отказов по умолчанию в отчёты не входят, их добавляют вручную.
Хрестоматийный пример из справки аналитики: посетитель открыл статью, читал восемь секунд и закрыл вкладку без единого клика. Сессия короче десяти секунд, ключевых событий нет, второго просмотра нет. Если это единственная сессия за день, уровень вовлечённости равен нулю, а доля отказов - ста процентам. Но стоит тому же читателю продержаться на странице одиннадцать секунд, и отказ превращается в вовлечённость. Цифры двух систем аналитики сравнивать напрямую нельзя: определения слишком разные.
Разница в десять секунд меняет привычки аналитика. Владельцу новостного раздела стоит помнить, что часть отказов - быстрые читатели, получившие ответ, а интернет-магазину смотреть, не обрываются ли сессии на оплате. Временной порог зашит на стороне сбора данных и в интерфейсе не меняется, зато настраиваются события, которые заставляют сессию считаться вовлечённой: просмотр каталога, добавление в корзину, прокрутка половины страницы.
Скорость загрузки страницы и измеримая цена каждой лишней секунды
Медленная страница не оставляет вторых шансов. Замеры мобильного трафика ещё 2016 года показали: больше половины визитов со смартфонов обрываются, если загрузка тянется дольше трёх секунд. Годом позже измерения ритейл-трафика дали точную шкалу: вероятность отказа растёт примерно на 32% при замедлении с одной до трёх секунд и на 123% при десяти секундах против одной. Известный новостной портал подсчитал, что терял ещё 10% читателей за каждую добавочную секунду загрузки. Обратная шкала тоже работает: после оптимизации Core Web Vitals у одного крупного издания доля отказов улучшилась на 43%.
За абстракцией "медленный сайт" стоят конкретные байты и запросы. Медианная страница на десктопе в октябре 2024 года весила 2652 КБ и делала 71 запрос, мобильная - 2311 КБ и 66 запросов. JavaScript обогнал картинки по числу запросов: медианная десктопная страница тянет 24 файла скриптов. Каждый килобайт едет по сети посетителя, парсится на его устройстве и откладывает момент, когда страница станет пригодной к чтению и кликам. Первый экран, который не появился за две с половиной секунды, статистически не увидит заметная часть аудитории.
Тяжелее всего странице даются первые байты и блокирующие ресурсы: медленный ответ сервера, стили и скрипты в голове документа, задерживающие отрисовку, тихая загрузка шрифтов. Сжатие текстовых ресурсов gzip или brotli снимает большую часть веса без потери качества, кэширование на уровне CDN приближает файлы к посетителю, а приём с критическими стилями ускоряет первую отрисовку без ожидания всей таблицы стилей.
Пороги Core Web Vitals и точка отсчёта для реальных посетителей
У скорости есть официальная линейка - Core Web Vitals, три метрики пользовательского опыта. Оценка ведётся по 75-му процентилю реальных визитов, отдельно для мобильных и десктопных устройств: страница считается хорошей, если три четверти визитов укладываются в пороги по всем метрикам сразу.
| Метрика | Что измеряет | Хорошо | Требует улучшения | Плохо |
|---|---|---|---|---|
| LCP | появление главного содержимого | до 2,5 с | до 4 с | дольше 4 с |
| INP | скорость реакции на действия | до 200 мс | до 500 мс | дольше 500 мс |
| CLS | стабильность вёрстки | до 0,1 | до 0,25 | выше 0,25 |
Метрика INP с 12 марта 2024 года заменила первую задержку ввода FID: старая метрика ловила лишь худший клик за сессию, новая оценивает все взаимодействия. С середины 2021 года эти показатели входят в сигналы ранжирования поиска, поэтому медленная страница платит дважды - посетителями и позициями.
Лабораторные проверки запускает Lighthouse, текущая мажорная версия - 13. Итоговый бал производительности складывается из взвешенных аудитов: задержка блокировки потока TBT весит 30%, LCP и CLS - по 25%, First Contentful Paint и Speed Index - по 10% каждый. Лаборатория строже полевых данных, сравнивать их лоб в лоб не стоит. Быстрая проверка из командной строки:
npx lighthouse https://shop.example.com --form-factor=mobile --output=html
Контент страницы и соответствие реальному намерению посетителя
Скорость открывает дверь, но заходить посетителю всё равно к контенту. Отказ по контентной причине - это несоответствие обещания и встречи: заголовок в поиске обещал инструкцию, а на странице продают. Первый экран обязан за пару секунд подтвердить, что попали по адресу: ясный заголовок, короткое вступление, видимая польза без скачивания презентаций.
Читаемость держится на механике: подзаголовки через каждые 300-400 слов, абзацы по три-четыре строки, примеры и врезки, содержание с якорями для длинных материалов. Внутренние переходы продлевают сессию естественным путём: блок похожих материалов, ссылки на смежные разборы, следующий шаг в конце текста.
Доверие удерживает не хуже структуры: подпись автора, дата публикации, приметы живого сопровождения темы. Читатель, найдя материал без даты, уходит искать свежий, даже если содержание актуально. Полезная привычка - краткие выводы наверху длинного материала: часть аудитории ищет именно их, и первый экран с выводами удерживает лучше интриги. Полезно дополнить картину собственным событием глубины прокрутки: оно покажет, что материалы действительно дочитывают, а не закрывают сразу.
let sent = false;
window.addEventListener("scroll", () => {
const depth = window.scrollY + window.innerHeight;
if (!sent && depth > document.body.scrollHeight / 2) {
sent = true;
gtag("event", "half_page_view", { event_category: "engagement" });
}
}, { passive: true });
Отдельная порода страниц честно живёт с высоким показателем отказов: контакты с телефоном, калькуляторы, справки с готовым ответом. Посетитель получил, что хотел, и ушёл довольным. Для таких шаблонов доля отказов - не приговор, и смотреть нужно на события: клик по кнопке звонка, копирование адреса, запуск калькулятора.
Технические дефекты которые прогоняют посетителя раньше прочтения контента
Часть отказов рождается до прочтения единственной строки текста. Классика жанра - прыгающая вёрстка: картинка без размеров в разметке подгружается, контент уезжает вниз, и палец посетителя попадает не туда, куда целился. Сценарий похуже - обрушение JavaScript: форма не отправляется, кнопки молчат, корзина не открывается. Агрессивное всплывающее окно с предложением подписки на первой секунде довершает исход.
Инженерная часть лечится приёмами, у которых нет моды на альтернативы. Главному изображению страницы отдают современные форматы и приоритет:
<picture>
<source srcset="/hero.avif" type="image/avif">
<source srcset="/hero.webp" type="image/webp">
<img src="/hero.jpg" alt="Каталог летней коллекции" width="1200" height="630" fetchpriority="high">
</picture>
Формат AVIF поддерживают Chrome, Firefox и Opera, WebP - Chrome, Firefox, Safari, Edge и Opera, поэтому связка source покрывает практически всю аудиторию. Атрибуты width и height дают браузеру резерв места и убирают скачки вёрстки, а fetchpriority двигает главный элемент вперёд очереди загрузки. Изображениям ниже первого экрана, наоборот, нужна ленивая загрузка:
<img src="/gallery-07.jpg" alt="Фото товара" width="600" height="450" loading="lazy">
Шрифты оберегают режимом подстановки: font-display: swap показывает системный шрифт, пока грузится фирменный. Тяжёлые маршруты одностраничных приложений разбивают на куски:
const Checkout = lazy(() => import("./routes/Checkout"));
<Suspense fallback={<Spinner />}>
<Checkout />
</Suspense>
Статика с отпечатком в имени файла кэшируется навечно: immutable-заголовок снимает повторные загрузки у вернувшихся посетителей.
location ~* \.(avif|webp|woff2|js|css)$ {
add_header Cache-Control "public, max-age=31536000, immutable";
}
Сегментация отчётов без которой средний процент ничего не говорит
Средний процент отказов по сайту - число, с которым невозможно работать. Смысл появляется на срезах. Устройство: мобильные посетители терпят медленнее всего, и если на смартфонах отказы вдвое выше десктопных, виноват не текст, а вес страницы. Канал: реклама приводит холодную аудиторию, ей отказы закономернее, чем читателям рассылки. Посадочная страница: сравнение по шаблонам находит конкретные больные места вместо абстрактного "плохого контента".
Отдельно стоят боты и мусорный трафик: сканирующие программы открывают страницу и уходят, раздувая отказы до космических значений. Их вычищают фильтрами по имени хоста и проверкой провайдеров. Страница 404 с большим трафиком и высокой долей отказов - не катастрофа, а улика: где-то битая ссылка или баннер ведёт в пустоту.
Типовые сценарии с нормальными отказами стоит выписать заранее, чтобы не лечить здоровое: страница контактов после скопированного телефона, справочный ответ из поисковой выдачи, статья, закрывшая вопрос одним экраном. Ориентир для суждений - время вовлечённости и целевые события, а не одна доля отказов.
Числа ещё сравнивают со временем: сезонные всплески, распродажи и новые рекламные кампании меняют качество трафика, и отказы растут без единой правки на сайте. Сопоставление одинаковых периодов соседних месяцев и страниц одного шаблона отсекает ложную тревогу, когда общий рост показателя объясняется наплывом холодной аудитории.
План действий для страниц с аномальной долей отказов
Когда конкретная страница выбивается из соседних, порядок спасения строится от диагностики к исправлению:
- Сверить сегменты устройства и канала, отсеять ботов и сравнить отказы мобильных и десктопных визитов;
- Снять лабораторный отчёт Lighthouse и полевые данные по трём метрикам Core Web Vitals;
- Перевести изображения в AVIF или WebP, проставить размеры и приоритет главному элементу;
- Убрать лишний JavaScript, разбить сборку на маршруты и отложить некритичные скрипты;
- Сверить обещание заголовка с первым экраном и добавить внутренние переходы к смежным материалам;
- Через две-четыре недели сравнить долю отказов, время вовлечённости и события до и после.
Доля отказов не падает мгновенно: кэши отдают старую версию страницы, роботы переобходят адрес, аудитория обновляется волнами. Проверять результат раньше чем через пару недель - значит читать шум вместо сигнала.
В споре из начала статьи выигравших нет, пока цифры не разложены по срезам и причинам. Показатель отказов слаб как приговор и силён как симптом: сам по себе он не говорит, кто виноват, зато честно указывает страницы, где обещание и встреча разошлись. Скорость, стабильность вёрстки и точность первого экрана закрывают три самые частые причины ухода, остаток объясняется намерением и качеством материала. Правильная работа с метрикой похожа на врачебную диагностику: сначала измерения, потом срезы, затем лечение и повторный анализ.