Cara Google meningkatkan performa iklan dengan validasi yang tidak berlaku saat validasi ulang

Cari tahu bagaimana pemuatan resource pihak ketiga lebih cepat dapat meningkatkan pendapatan.

Jonathon Imperiosi
Jonathon Imperiosi

Studi kasus ini menyoroti bagaimana peningkatan performa sumber daya pihak ketiga dapat meningkatkan metrik bisnis. Meskipun studi sebelumnya mengukur biaya latensi iklan tambahan, studi ini menunjukkan manfaat peningkatan performa yang sebenarnya:

0,5%

Peningkatan pendapatan bagi penayang

2%

Peningkatan pemuatan skrip iklan awal

Sumber: Data Internal Google, Juni hingga Juli 2019.

Latar belakang

Tag Google Publisher (GPT) adalah skrip pemberian tag iklan untuk Google Ad Manager yang meminta dan merender iklan Display di web. Dengan menerapkan header HTTP stale-while-revalidate yang sederhana untuk GPT, tim GPT dapat meningkatkan kecepatan dan performa iklan Display Google untuk partner penayangnya. Teknik yang sama dapat diterapkan ke skenario lain saat memuat skrip secepat mungkin lebih penting daripada memuat kode terbaru.

Permasalahan

GPT di-deploy sebagai skrip bootstrap, gpt.js, yang diberi waktu aktif (TTL) singkat, yaitu 15 menit. Dengan TTL singkat ini, skrip dapat diperbarui atau di-roll back dengan cepat. Setelah dimuat, gpt.js akan meminta dan memuat skrip penerapan tambahan, yang memiliki TTL lebih lama.

Setelah TTL 15 menit berakhir, versi gpt.js dalam cache akan menjadi tidak berlaku dan harus divalidasi ulang. Sebelumnya, proses validasi ulang ini melibatkan pembuatan permintaan jaringan sinkron untuk mengambil salinan skrip yang baru, yang menambahkan latensi ke permintaan iklan pertama.

Solusi

Atribut stale-while-revalidate digunakan oleh header Cache-Control dan menentukan jangka waktu tambahan selama cache dapat menggunakan aset yang tidak berlaku sementara aset divalidasi ulang secara asinkron. Hal ini membantu developer menyeimbangkan antara segera—langsung memuat konten yang di-cache—dan keaktualan—memastikan update pada konten yang disimpan dalam cache digunakan di masa mendatang.

Studi kasus iklan Display Google

Tim GPT menambahkan header Cache-Control ini dalam respons HTTP gpt.js pada tahun 2016, untuk mengantisipasi browser yang menerapkan stale-while-revalidate:

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

Setelan ini berarti bahwa jika gpt.js diminta antara 15 dan 60 menit setelah nilai yang di-cache sebelumnya, nilai yang di-cache akan digunakan untuk memenuhi permintaan meskipun sudah tidak berlaku. Pada saat yang sama, permintaan validasi ulang akan dibuat di latar belakang untuk mengisi cache dengan nilai baru untuk penggunaan di masa mendatang.

Chrome meluncurkan stale-while-revalidate dalam versi 75 untuk 99% dari semua traffic, menyisakan 1% traffic dengan fitur ini dinonaktifkan sementara untuk mengukur dampaknya. Tim GPT mencatat metrik dari 1% (grup eksperimental) ini serta 1% sampel traffic yang mengaktifkan fitur (grup kontrol), guna menguji efektivitas stale-while-revalidate untuk skrip iklan. Selama 2 minggu metrik yang dicatat dari ukuran sampel 5,2 miliar tayangan iklan Display Google, grup kontrol mengamati:

  • Peningkatan tayangan iklan sebesar 0,3%.
  • Peningkatan pendapatan sebesar 0,5%.
  • 2% peningkatan pemuatan skrip iklan awal (<500 md sejak awal pemuatan halaman).
  • Peningkatan keseluruhan skrip iklan yang berhasil sebesar 1,1%.
Perubahan poin persentase dalam jumlah pemuatan skrip iklan vs. Waktu dari awal pemuatan halaman hingga pemuatan skrip iklan (md)
Sumber: Data Internal Google, Juni hingga Juli 2019.

Seperti yang ditunjukkan pada diagram di atas, hasil eksperimen ini dapat dikaitkan dengan peningkatan pemuatan skrip iklan yang berhasil, dengan sebagian besar terjadi di awal proses pemuatan halaman.

Menerapkan kebijakan tidak berlaku saat validasi ulang di situs

Tim GPT telah melihat bahwa melakukan perubahan yang relatif sederhana pada header HTTP dengan stale-while-revalidate dapat meningkatkan kecepatan dan meningkatkan metrik bisnis. Lihat postingan Menjaga segala sesuatunya tetap segar dengan data yang sudah tidak berlaku saat validasi ulang untuk mengetahui informasi selengkapnya tentang cara menerapkan stale-while-revalidate di situs Anda sendiri.

Foto oleh Kahica di Unsplash