Google, eski devamlı doğrulama ile reklam performansını nasıl iyileştirdi?

Jonathon Imperiosi
Jonathon Imperiosi

Bu örnek olay incelemesinde, üçüncü taraf kaynaklarının performansını artırmanın işletme metriklerini nasıl yükseltebileceği vurgulanmaktadır. Önceki bir çalışmada eklenen reklam gecikmesinin maliyeti ölçülürken bu çalışma, gerçek dünyadaki performans iyileştirmesinin değerini gösteriyor:

0,5%

Yayıncılar için gelir artışı

%2

Erken reklam komut dosyası yüklemelerinde artış

Kaynak: Google'ın Kendi Verileri, Haziran-Temmuz 2019.

Arka plan

Google Yayıncı Etiketi (GPT), web'de görüntülü reklamları isteyen ve oluşturulan Google Ad Manager'a yönelik reklam etiketleme komut dosyasıdır. GPT ekibi, GPT için bir stale-while-revalidate HTTP üstbilgisi uygulayarak yayıncı iş ortakları için Google görüntülü reklamlarının hızını ve performansını artırmayı başardı. Aynı teknik, komut dosyalarının mümkün olduğunca hızlı yüklenmesinin en yeni kodun yüklenmesinden daha önemli olduğu diğer tüm senaryolarda da uygulanabilir.

Sorun

GPT, 15 dakikalık kısa bir geçerlilik süresi (TTL) verilen bir başlatma komut dosyası gpt.js olarak dağıtılır. Bu kısa TTL, komut dosyasının hızlı bir şekilde güncellenmesine veya geri alınmasına olanak tanır. Yüklendikten sonra gpt.js, daha uzun bir TTL'ye sahip ek uygulama komut dosyalarını ister ve yükler.

15 dakikalık TTL süresi dolduğunda, önbellekteki gpt.js sürümü eski hale gelir ve yeniden doğrulanması gerekir. Daha önce bu yeniden doğrulama işlemi, komut dosyasının yeni bir kopyasını getirmek için senkron bir ağ isteğinde bulunmayı içeriyordu ve bu da ilk reklam isteğine gecikme ekliyordu.

Çözüm

stale-while-revalidate özelliği, Cache-Control üstbilgisi tarafından kullanılır ve öğe eşzamansız olarak yeniden doğrulanırken önbelleğin eski bir öğeyi kullanabileceği ek bir zaman aralığı tanımlar. Bu, geliştiricilerin önbelleğe alınmış içeriği hemen yükleme (anında erişim) ve önbelleğe alınmış içerikteki güncellemelerin gelecekte kullanılmasını sağlama (güncellik) arasında denge kurmasına yardımcı olur.

Google görüntülü reklamları örnek olay çalışması

GPT ekibi, tarayıcıların stale-while-revalidate özelliğini uygulaması beklentisiyle 2016'da gpt.js HTTP yanıtına bu Cache-Control başlığını ekledi:

cache-control: private, max-age=900, stale-while-revalidate=3600

Bu ayar, önceki önbelleğe alınmış değerden 15-60 dakika sonra gpt.js istenirse eski olmasına rağmen isteği karşılamak için önbelleğe alınmış değerin kullanılacağı anlamına gelir. Aynı zamanda, gelecekte kullanılmak üzere önbelleğe yeni bir değer doldurmak için arka planda yeniden doğrulama isteği gönderilir.

Chrome, stale-while-revalidate özelliğini tüm trafiğin% 99'u için 75-99 sürümlerinde kullanıma sundu. Etkisini ölçmek için trafiğin% 1'inde bu özellik geçici olarak devre dışı bırakıldı. GPT ekibi, reklam komut dosyaları için stale-while-revalidate özelliğinin etkinliğini test etmek amacıyla bu %1'lik (deneme amaçlı grup) bölümden ve özellik etkin durumdayken trafiğin% 1'lik örneğinden (kontrol grubu) metrikleri kaydetti. 5, 2 milyar Google görüntülü reklam gösteriminden oluşan bir örnek boyutuyla kaydedilen 2 haftalık metrikler boyunca kontrol grubu şunları gözlemledi:

  • Reklam gösterimlerinde% 0,3 artış.
  • Gelirde% 0,5 artış
  • Erken reklam komut dosyası yüklemelerinde (% sayfa yükleme başlangıcından itibaren <500 ms) %2 artış.
  • Genel olarak başarılı reklam komut dosyası yüklemelerinde% 1,1 artış.
Reklam komut dosyası yükleme sayısındaki yüzde puanı değişimi ve sayfa yükleme başlangıcından reklam komut dosyası yüklemeye kadar geçen süre (ms)
Kaynak: Google'ın kendi verileri, Haziran-Temmuz 2019.

Grafikte gösterildiği gibi, bu denemenin sonuçları başarılı reklam komut dosyası yüklemelerindeki artışa bağlanabilir. Bu yüklemelerin çoğu sayfa yükleme sürecinin başlarında gerçekleşir.

Sitenizde stale-while-revalidate özelliğini uygulayın

GPT ekibi, stale-while-revalidate ile HTTP üstbilgilerinde nispeten küçük bir değişiklik yapmanın hızı artırabileceğini ve işletme metriklerini yükseltebileceğini gördü. Kendi sitenizde stale-while-revalidate özelliğini uygulama hakkında daha fazla bilgi için Keeping things fresh with stale-while-revalidate (Bayatken yeniden doğrulama ile her şeyi yeni tutma) başlıklı makaleyi inceleyin.