После внедрения процесса тестирования рекламных тегов на сайте из инструмента аналитики, GTM (предыдущая статья), мы задумались каких ресурсов он нам стоит, как уменьшить влияние GTM, и сформулировали гипотезу, что посредством аудита тегов можно улучшить метрики веба. Помимо этого мы хотели бы узнать:
-
Правда ли то, что ассинхронные сценарии настолько легкие для веба?
-
Правда ли то, что приостановленные теги == удаленным?
Этапы эксперимента и наши выводы читайте ниже. Будем рады, если в комментариях вы поделитесь своими мнениями, идеями или опытом. Давайте обсудим вместе!
Всем привет. Над экспериментом работали я — Даша, инженер по тестированию на платформе web в Иви, и Амина, контентный data-аналитик Иви. Мы расскажем вам, как пробовали оптимизировать метрики веба с помощью аудита в GTM и предоставим план эксперимента, на случай, если вы решите провернуть это у себя.
Точка С — «Эксперимент»
За последние полтора года платформа веб в Иви много работала над улучшением метрик: был проведен ряд работ для оптимизации метрик, и после мы также не переставали трудиться, чтобы LCP попала в зеленую зону (оптимальный показатель для зеленой зоны – до 2,5 сек) и держалась там. Так что, зная, как это сложно, мы не ожидали значительного улучшения метрик. Однако даже 200мс в мире скорости и качества технологий — это вечность.
Инструменты
-
Встроенные инструменты Chrome для аудита сайтов
-
Lighthouse
-
Performance
-
-
Grafana
Этапы эксперимента:
-
ЭТАП 1:
-
Замер метрик веба до очистки
-
-
Замер метрик веба с отключенным GTM
-
ЭТАП 2:
-
Аудит тегов в GTM
-
Составить таблицу со всеми тегами
-
Разделить теги на «активные» и «приостановленные»
-
Отдать «активные» теги отделу маркетинга для перепроверки
-
Замеряем метрики до приостановки неактуальных тегов
-
В случае необходимости приостановить ненужные теги
-
Замеряем метрики после приостановки
-
-
Отдать все «приостановленные» теги на утверждение и получение разрешение к удалению
-
-
-
-
-
ЭТАП 3:
-
Удаление тегов
-
Удаляем «приостановленные» неактуальные теги
-
Замеряем метрики
-
-
Удаляем «активные» неактуальные теги
-
Замеряем метрики
-
-
-
-
Делаем выводы
Метрики
Для облегченного восприятия все значения метрик на каждом этапе эксперимента были переведены в секунды. В определениях прописано в чем происходит измерение метрик для отрисовки графиков.
Performance
-
LCP(в секундах) смотрим в двух проекциях:
-
ЦП и Сеть — Без ограничений
-
ЦП — замедление 6х, Сеть — Медленный 3G
-
-
Скорость загрузки скрипта GTM (в секундах) с контейнером, наполненным тегами.
Lighthouse
-
First meaningful paint (в секундах). Он измеряет время в секундах между моментом, когда пользователь инициировал загрузку страницы, и моментом, когда на странице отображается основной объем содержимого. Чем больше секунд требуется для полной загрузки, тем хуже.
-
Time to interactive (в секундах). Он измеряет, сколько времени требуется странице, чтобы стать полностью интерактивной. Страница считается полностью интерактивной, когда:
-
на странице отображается полезный контент
-
страница реагирует на взаимодействие с пользователем в течение 50 миллисекунд
-
Grafana:
-
Largest Contentful Paint (в секундах). Она измеряет, как быстро отрисовывается основной контент на первом экране.
-
Player Ready. Искусственная метрика, измеряет время от начала загрузки страницы до готовности плеера к проигрыванию контента (отрисовки контроллов).
Подробнее об искусственной метрике Player Ready – на данный момент, чтобы улучшить метрику LCP на карточке контента в Иви отрисовывается не сам плеер с контроллами, а постер. И из-за особенностей работы WV мы создали синтетическую метрику, чтобы видеть когда на самом деле отрисован и готов к работе плеер с контроллами.
-
First Input Delay (в секундах). Метрика измеряет время отзывчивости сайта.
-
First Contentful Paint (в милисекундах). Улучшенная версия FMP, взяли для подтверждения результатов из Lighthouse.
-
dom_complete (в милисекундах). Метрика показывает время готовности DOM к взаимодействию.
-
dom_content_loaded (в милисекундах). Служит для измерения продолжительности обработки
DOMContentLoaded
событий. -
dom_interactive (в милисекундах). Метрика служит для регистрации времени завершения построения DOM и возможности взаимодействия с ним. Это свойство передает когда построение DOM завершено и возможно взаимодействие с ним из JavaScript.
-
dom_load_time (в милисекундах). Показывает время построения DOM.
Подробнее о каждом этапе
Этап 1. Замер метрик веба с включенным и отключенным GTM
Цель: Получение данных по влиянию GTM на сайт. А также эти замеры будут отправной точкой для дальнейшего подсчета результата.
Для справки: Асинхронные сценарии имеют вес.
GTM и dataLayer используют асинхронные сценарии загрузки тегов. Асинхронные сценарии загружаются одновременно с содержимым веб-страницы и не блокируют его. Однако загрузка сценариев требует ресурсов компьютера, а значит выполнение файлов веб-сайта замедляется.
Подтверждение этому можно увидеть в результатах нашего эксперимента на этом этапе.
Подробности: Сам контейнер GTM вызывает минимальную задержку, иногда даже совсем незаметную. Получается, что влияние на метрики страницы происходит, когда вы что-то вкладываете в свой контейнер. Это можно легко отследить при просмотре результатов с включенным и выключенным Google Tag Manager на сайте.
Мы замеряли одни и те же метрики на 3х разных страницах:
-
Главная
-
Каталог «Сериалы»
-
Карточка контента (страница просмотра любого фильма, далее КК)
Дополнительно также проверяли мировую версию сайта.
Результаты этапа:
-
LCP с замедлением по ЦП 6х и сетью 3G снизилось:
-
На Главной 150 с снизилось до 47,62 с
-
На странице каталога с 192 с до 72 с
-
-
На графиках Player Ready и Dom Timings в Grafana были заметны явные улучшения во время отключения GTM:
-
Такие метрики как dom_interactive, dom_content_loaded улучшились.
-
dom_interactive с 1,3 стала 1,2,
-
dom_content_loaded с 1,7 стала 1,5.
-
-
Метрика dom_complete ожидаемо улучшилась из-за «исчезновения» прогрузки скрипта контейнера GTM на странице. Значение dom_complete до отключения было 6,4, а при отключении 1,9.
-
Значение метрики Player Ready на КК незначительно улучшилась за счет улучшения метрики dom_interactive. Было до отключения 2,4, а во время отключения 2,2. Что является совсем незначительным улучшением для статистики, но явно заметным для пользователя.
-
Обнаружили улучшения при замерах в Lighthouse на мировой версии сайта, что скорее всего объясняется тем, что на мировой версии у нас находится большее количество тегов.
-
Улучшение метрики FMP не было подтверждено в Grafana:
-
Значение метрики FMP на странице каталога «Сериалы» было 1,2, а после отключения стало 1,3. Также на единичной КК до начала 1,7, а во время отключения 1,3.
-
-
Метрика TTI показала явные улучшения, ведь до отключения была 2,7, а во время эксперимента стала 1,7. Также на единичной КК до отключения 3,3, а при отключении 1,8.
Этап 2 и 3. Аудит и удаление тегов в GTM
Цель: Очистить контейнер от «мусора» и подтвердить теорию о возможности оптимизировать метрики веба альтернативным способом — аудит контейнера в GTM.
Подробности: 91% тегов в контейнере был удален, что могло сказаться на метриках.
Результаты этапа:
-
Отчет об имеющихся тегах до и после удаления:
-
ДО:
-
всего тегов в контейнере — 503
-
активны — 140
-
приостановлены — 363
ПОСЛЕ:-
всего тегов в контейнере — 44
-
активны — 44
-
приостановлены — 0
-
-
Для справки:
При проведении эксперимента мы столкнулись с мифом о том, что приостановленные теги равны удаленным. Чтобы его развеять и убедиться, что просто приостановить ненужные теги недостаточно, были сняты замеры до (было 140 активных тегов) и после (стало 44 активных тега) приостановки неактуальных тегов. По результатам замеров было видно, что скорость загрузки контейнера не изменилась, следовательно статус тега никак не влияет на сам контейнер и вычислительные процессы, связанные с формированием переменных, после смены статуса никуда не деваются.
-
Порядка 363 тегов в статусе «приостановлено» были неактуальны. Также из 140 активных тегов 96 было неактуальных, а значит, что более 90% контейнера было заполнено тегами, которые занимали место и утяжеляли контейнер. Что приводило к увеличению времени загрузки скрипта на странице и замедлению файлов веб сайта. Влияние тегов на сайт позволяет отследить снижение некоторых значений метрик снятые до и после удаления неактуальных тегов:
-
Замер времени загрузки скрипта GTM с основным контейнером без ограничений по ЦП и сети:
-
На Главной странице Иви показал среднее значение 0,5 с до удаления неактуальных тегов и 0,49 с после
-
На странице каталога «Сериалы» показал среднее значение 0,52 с до и 0,38 с после
-
-
-
Замер времени загрузки скрипта GTM с основным контейнером с замедлением по ЦП 6х и сетью 3G(Slow):
-
На Главной странице Иви показал среднее значение 21,8 с до удаления и 22,44 с после
-
На странице каталога «Сериалы» показал среднее значение 11,4 с до и 11,75 с после
-
На карточке контента показал среднее значение 12,29 с до удаления тегов и 10 с после
-
-
Замер LCP с замедлением по ЦП 6х и сетью 3G(Slow):
-
На Главной странице Иви показал среднее значение 150 с до очистки контейнера и 78 с после
-
На странице каталога «Сериалы» показал среднее значение 192 с до удаления лишнего и 72 с после
-
-
Также было заметно на графике в Grafana небольшое уменьшение метрики Player Ready на КК, среднее значение показало снижение с 2,111 с до 2,048 с. Но, к сожалению, на саму метрику LCP на КК это повлияло незначительно. Но несмотря на то, что 0,063 — маленькое снижение, это классно аффектит на пользователя, ведь основной контент (для КК это плеер) стал отрисовываться чуть быстрее на первом экране.
Делаем выводы
-
Скорость загрузки скрипта GTM с основным контейнером напрямую зависит от наполнения взятого контейнера. При удалении лишних данных и сокращении неактуальных тегов показатели приблизились к данным при отключенном GTM.
-
К сожалению, большинство метрик в Grafana не показало явных результатов и находилось в пределах своих обычных колебаний, т.к. нашей заполненности контейнера не хватило для получения явных результатов.
-
Снижение количества неактуальных тегов до минимума хорошо показывает себя для пользователей с плохими показателями машин и интернета.
-
Снижение метрики Player Ready на КК доказывает, что альтернативный способ работы с метриками веба через аудит GTM реален.
-
По получению опыта в снятии метрик с использованием инструмента Lighthouse, хотелось бы предупредить, что метрики, снятые здесь, нуждаются в подтверждении через более устойчивые инструменты. Lighthouse является несомненно удобным и классным инструментом, но, к сожалению, сильно зависит от вашей сети и от вашей машинки. Поэтому в случае повторения нашего эксперимента, помните выражение «доверяй, но проверяй». В ином случае советуем замерять по 10-15 раз.
Заключение
И в заключении хотелось бы сказать, что поиск альтернативных методик улучшение метрик — это интересное и трудоёмкое занятие. С учетом первого пункта в блоке «Делаем выводы» было принято решение об увеличении частоты проводимых очисток в GTM для поддержания достигнутых значений метрик. Хотя это не принесло баснословных результатов, нам кажется, что такой опыт стоит передать другим и, конечно же, не останавливаться на достигнутом и дальше пробовать улучшать метрики не только привычными нам способами.
В общем попрощаемся как обычно, не стойте на месте, с удовольствием изучайте новое и улучшайте себя! До новых встреч на Хабре!
ссылка на оригинал статьи https://habr.com/ru/articles/833900/
Добавить комментарий