Как Google повысил эффективность рекламы с помощью устаревшей проверки

Узнайте, как более быстрая загрузка сторонних ресурсов может увеличить доход.

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

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 %.
Изменение в процентах количества загрузок рекламного скрипта в зависимости от времени от начала загрузки страницы до загрузки рекламного скрипта (мс)
Источник: внутренние данные Google, июнь–июль 2019 г.

Как показано на диаграмме выше, результаты этого эксперимента можно объяснить увеличением количества успешных загрузок рекламных сценариев, причем большинство из них происходит на ранних этапах процесса загрузки страницы.

Внедрение устаревшей повторной проверки на вашем сайте

Команда GPT увидела, что относительно простое изменение заголовков HTTP с помощью stale-while-revalidate может повысить скорость и улучшить бизнес-показатели. Ознакомьтесь с публикацией «Сохранение актуальности с помощью устаревшей проверки при повторной проверке», чтобы узнать больше о реализации stale-while-revalidate на вашем собственном сайте.

Фото Кахика на Unsplash