Узнайте, как более быстрая загрузка сторонних ресурсов может увеличить доход.
В этом тематическом исследовании показано, как повышение производительности сторонних ресурсов может повысить бизнес-показатели. В то время как в предыдущем исследовании оценивалась стоимость дополнительной задержки рекламы, это исследование демонстрирует ценность реального улучшения производительности:
0,5 %
Рост доходов издателей
2 %
Увеличение загрузки сценариев ранних рекламных объявлений.
Источник: внутренние данные Google, июнь–июль 2019 г.
Фон
Тег издателя Google (GPT) – это сценарий разметки объявлений для Google Ad Manager, который запрашивает и отображает медийные объявления в Интернете. Внедрив простой HTTP-заголовок stale-while-revalidate
для GPT, команда GPT смогла повысить скорость и эффективность медийной рекламы Google для своих партнеров-издателей. Тот же метод можно применить к любому другому сценарию, где как можно более быстрая загрузка скриптов важнее, чем загрузка самого свежего кода.
Проблема
GPT развертывается как сценарий начальной загрузки gpt.js
, которому дается короткое время жизни (TTL) — 15 минут. Этот короткий срок жизни позволяет быстро обновлять или откатывать сценарий. После загрузки gpt.js
запрашивает и загружает дополнительные сценарии реализации, которые имеют более длительный срок жизни.
По истечении 15-минутного срока жизни версия gpt.js
в кеше устаревает и ее необходимо повторно проверить. Раньше этот процесс повторной проверки включал в себя синхронный сетевой запрос на получение новой копии скрипта, что увеличивало задержку к первому запросу объявления.
Решение
Атрибут stale-while-revalidate
используется заголовком Cache-Control
и определяет дополнительное окно времени, в течение которого кэш может использовать устаревший актив, пока ресурс проверяется асинхронно. Это помогает разработчикам балансировать между оперативностью ( немедленная загрузка кэшированного контента) и актуальностью (гарантируя, что обновления кэшированного контента будут использоваться в будущем) .
Пример использования медийной рекламы Google
Команда GPT добавила этот заголовок Cache-Control
в HTTP-ответ gpt.js
в 2016 году, ожидая, что браузеры реализуют stale-while-revalidate
:
cache-control: private, max-age=900, stale-while-revalidate=3600
Этот параметр означает, что если gpt.js
запрашивается через 15–60 минут после предыдущего кэшированного значения, то кэшированное значение будет использоваться для выполнения запроса, даже если оно устарело. В то же время в фоновом режиме будет сделан запрос на повторную проверку для заполнения кэша новым значением для будущего использования.
Chrome внедрил stale-while-revalidate
в версии 75 для 99% всего трафика, в результате чего в 1% трафика эта функция временно отключена для измерения ее влияния. Команда GPT зарегистрировала показатели этого 1% (экспериментальная группа), а также 1% выборки трафика с включенной функцией (контрольная группа), чтобы проверить эффективность stale-while-revalidate
для рекламных сценариев. В течение двух недель, собирая показатели выборки из 5,2 миллиардов показов медийной рекламы Google, контрольная группа наблюдала:
- Увеличение количества показов рекламы на 0,3%.
- Увеличение дохода на 0,5%.
- Увеличение количества ранних загрузок рекламных скриптов на 2 % (<500 мс с момента начала загрузки страницы).
- Общее количество успешных загрузок рекламных сценариев увеличилось на 1,1 %.
Как показано на диаграмме выше, результаты этого эксперимента можно объяснить увеличением количества успешных загрузок рекламных сценариев, причем большинство из них происходит на ранних этапах процесса загрузки страницы.
Реализация устаревшей повторной проверки на вашем сайте
Команда GPT заметила, что относительно простое изменение заголовков HTTP с помощью stale-while-revalidate
может повысить скорость и улучшить бизнес-показатели. Прочтите публикацию «Сохранение актуальности с помощью устаревшей проверки при повторной проверке», чтобы узнать больше о реализации stale-while-revalidate
на вашем собственном сайте.