Отложенное подключение Яндекс.Метрики: есть ли реальная польза? - блог программиста

Ян Боровский

Веб-разработчик

Создание сайтов

Отложенное подключение Яндекс.Метрики: есть ли реальная польза?

Отложенная загрузка метрики баннер для статьи

В этой статье рассмотрим, насколько отложенное подключение Яндекс.Метрики — целесообразное мероприятие. Рассмотрим сценарии для разных сайтов: лендинг, блог, интернет-магазин

Лендинг (одностраничный сайт)

Одностраничные сайты обычно нацелены на быструю конверсию и часто получают трафик из рекламы. Для них и доли секунды задержки имеют значение: пользователю должны мгновенно показаться ключевые элементы. Отложенная загрузка Метрики способна немного ускорить визуальную отдачу страницы, убрав лишний запрос в начале. Поэтому на лендингах, ориентированных на максимальный PageSpeed Score и мгновенный LCP, можно рассмотреть ленивую загрузку. Например, загрузить счетчик через setTimeout спустя 0.5–1 секунду после Onload или при первом скролле/клике пользователя.

var fired = false;
 
window.addEventListener('scroll', () => {
    if (fired === false) {
        fired = true;
        
        setTimeout(() => {
            // Сюда вставляете метрики без тегов <script>           
        }, 1000)
    }
});

Такой подход гарантирует, что если посетитель начал взаимодействовать (значит заинтересован), аналитика тут же подключится. С другой стороны, если пользователь закрыл лендинг почти сразу, мы его не учтем в Метрике – но это именно тот случай, когда человек ничего не увидел и ушел.

Минус в том, что рекламодателю важно знать точный процент таких мгновенных отказов, чтобы оценивать эффективность канала трафика. Потеря данных по незаинтересованным посетителям может помешать оптимизации рекламной кампании. Поэтому для критически важных сайтов (где каждое посещение на счету) чаще рекомендуется не откладывать Метрику, а ставить ее стандартно. Если же скорость превыше всего (например, лендинг участвует в AMP-экспериментах или нужно максимально поднять Mobile Speed Score для Google Ads), то откладывать счетчик можно – но с минимальной задержкой и тщательной проверкой, что все целевые действия (клики по CTA, отправка формы) все равно попадают в аналитику.

Контентный сайт или блог. На информационных сайтах, новостях, блогах – особенно без монетизации трафика – точность веб-аналитики не так критична для дохода, как на коммерческих ресурсах. Здесь упор делается на опыте читателя и SEO. Многие такие сайты стремятся к максимальной скорости, чтобы не отпугивать посетителей и получить бонусы в поисковой выдаче.

Ленивая загрузка Метрики для блога – вполне оправданный шаг, если основная задача – ускорить отображение статьи. Пользовательский контент (текст, изображения) гарантированно загрузится без вмешательства сторонних скриптов, а Метрика подключится чуть позже и соберет данные о тех, кто действительно начал потреблять контент (прокрутил страницу, задержался более пары секунд). Потеря данных о мгновенных уходах для блога не смертельна: важно количество прочтений, глубина, время на странице у заинтересованных читателей.

Однако нужно учесть, что поведенческие метрики аудитории (например, доля дочитываний, скролл до конца страницы) будет точнее, если Метрика работает сразу. Если вы анализируете качество контента по этим показателям, лучше стандартное подключение. В общем, для небольшого блога без сложных сценариев можно отложить Метрику и выиграть несколько пунктов скорости. Для крупного контент-проекта, зависящего от точной аналитики пользовательского поведения, надежнее поставить код без отложки.

Интернет-магазин (e-commerce). В интернет-магазине на первый план выходят транзакции и конверсия. Каждый этап воронки (просмотр товара, добавление в корзину, переход к оформлению) отслеживается, и потеря данных даже о части пользователей может осложнить оптимизацию продаж. Кроме того, e-commerce сайты обычно перегружены внешними скриптами: здесь и аналитика, и пиксели ремаркетинга, и A/B-тестеры, и виджеты отзывов – экономия на одном счетчике погоды может не сделать.

Практика показывает, что откладывать Метрику на коммерческих сайтах нежелательно: эффективность ее использования снижается непропорционально выигрышу скорости​.

Если магазин и так тяжелый, лучше работать над основными причинами медлительности (например, оптимизировать фотографии товара, внедрять CDN, lazy-load для отзывов и пр.). Стандартная Метрика унесет доли секунд, но даст полный обзор на поведение покупателей. К тому же Метрика в интернет-магазинах часто используется для E-commerce отчетов, фильтров сегментации, ретаргетинговых сегментов – это все требует максимально полного сбора данных.

Только в редких случаях (например, посадочные страницы акций внутри интернет-магазина) можно попробовать ленивую загрузку, если очень нужна скорость. Но и тогда стоит ограничиться небольшим таймаутом. В общем, для интернет-магазина лучше не откладывать Метрику, это стандартная рекомендация ради точной аналитики по всем сессиям.

Плюсы и минусы каждого способа

Стандартное подключение (по инструкции Яндекса, код в <head> или сразу в HTML):

Отложенная (ленивая) загрузка Метрики:

Выводы: когда какой метод лучше

  1. Когда важна полная и точная аналитика – подключайте Метрику стандартно, без отложек. Если вы активно пользуетесь данными счетчика (анализируете поведение для SEO, считаете ROI рекламных каналов, смотрите записи Webvisor для улучшения юзабилити и т.п.), то точность данных критически важна. В таких случаях даже небольшая потеря информации нежелательна. Интернет-магазины, сервисы с авторизацией, высококонверсионные лендинги – во всех них лучше установить код Метрики по инструкции Яндекса, чтобы собирать максимум данных о пользователях. Скорость работы текущего асинхронного кода уже оптимизирована и не мешает загрузке​, а вот упущенные визиты или цели могут дорого обойтись. Многие специалисты прямо говорят, что ради такой мизерной выгоды в скорости жертвовать аналитикой не стоит​.
  2. Когда на первом месте скорость и высокие показатели PageSpeed – можно использовать отложенную загрузку, но осторожно. Для лёгких промо-страниц, личных блогов, лендингов без сложной воронки продаж допустимо лениво подключать Метрику. Если цель – максимально ускорить загрузку и получить 100/100 в тестах, отложка счётчика поможет убрать последние «красные флажки» Google PSI. Однако важно не перестараться: делайте минимальную задержку. Практика показывает, что откладывать более чем на 1 секунду опасно – счетчик может не успеть собраться с данными​. Начните с 100–500 мс или с первого взаимодействия пользователя, этого достаточно, чтобы вынести Метрику за пределы метрик LCP/FID. Обязательно убедитесь, что при таком подходе все важные цели всё равно фиксируются (например, если у вас цель на клик по кнопке – вставьте загрузку счетчика до кода обработки клика). Отложенную загрузку стоит применять, только когда вы осознаете последствия и согласны с тем, что часть статистики будет упущена ради выигрыша в скорости.
  3. Компромиссные варианты. Необязательно писать сложный код, чтобы немного отложить Метрику. Можно, например, поместить стандартный код в самый конец <body> – тогда он выполнится после основного контента. Или подключить файл tag.js через <script defer> без inline-инициализации (правда, тогда нужно самостоятельно вызвать ym(id, "init", ...) после загрузки). Такой подход проще и безопаснее: счетчик стартует автоматически, просто чуть позже, и при этом не требует ловить события. В PageSpeed Insights скрипт с defer уже не считается блокирующим и меньше влияет на оценки. Если вы не гонитесь за идеальными 100 баллами, а хотите просто ускорить сайт без потери данных – лучше выбрать такой компромисс, чем сложную ленивую загрузку.

В заключение: стандартный способ подключения подходит в большинстве случаев – он надежный, поддерживает все возможности Метрики и минимально влияет на скорость страницы. Отложенная загрузка – это нишевое решение для случаев, когда каждая миллисекунда на вес золота и можно пожертвовать частью данных. Используйте ее осознанно и тестируйте: сравните показатели отказов до и после, убедитесь, что важные для вас метрики не “сломались”. Помните, что Яндекс.Метрика – уже довольно легкий и умный скрипт​, и выигрыши от его откладывания часто измеряются долями секунды, тогда как стоимость потерянной информации может быть высока. Таким образом, если сомневаетесь, скорее всего лучше оставить стандартное подключение Метрики – так вы гарантированно получите полные данные и спокойствие, что аналитика отражает действительность. А вопросы скорости можно решать другими методами, не урезая наблюдательность вашего счетчика.​

P.S.: Текст оформлен при помощи нейросети. Авторский опыт, выводы и позиция — личные.