Cari tahu bagaimana pemuatan resource pihak ketiga lebih cepat dapat meningkatkan pendapatan.
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%.
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.