In che modo Google ha migliorato il rendimento degli annunci con la riconvalida durante la fase di inattività

Scopri come caricare più velocemente le risorse di terze parti può aumentare le entrate.

Jonathon Imperiosi
Jonathon Imperiosi

Questo case study evidenzia come il miglioramento delle prestazioni delle risorse di terze parti può aumentare le metriche aziendali. Mentre un precedente studio misurava il costo della latenza aggiuntiva degli annunci, questo studio dimostra il valore di un miglioramento del rendimento reale:

0,5%

Incremento delle entrate per i publisher

Il 2%

Aumento dei caricamenti iniziali degli script degli annunci

Fonte: dati interni di Google, da giugno a luglio 2019.

Contesto

Il Tag publisher di Google (GPT) è lo script di tagging degli annunci di Google Ad Manager che richiede e visualizza gli annunci display sul web. Con l'implementazione di una semplice intestazione HTTP stale-while-revalidate per GPT, il team di GPT è stato in grado di migliorare la velocità e il rendimento degli annunci display di Google per i propri publisher partner. La stessa tecnica può essere applicata a qualsiasi altro scenario in cui caricare gli script il più rapidamente possibile è più importante del caricamento del codice più recente.

Il problema

GPT viene implementato come script di bootstrap, gpt.js, che ha una durata breve (TTL) di 15 minuti. Questo breve TTL consente di aggiornare o eseguire rapidamente il rollback dello script. Al termine del caricamento, gpt.js richiede e carica altri script di implementazione, che hanno un TTL più lungo.

Una volta scaduto il TTL di 15 minuti, la versione di gpt.js nella cache diventa obsoleta e deve essere riconvalida. In precedenza, questo processo di riconvalida comportava l'esecuzione di una richiesta di rete sincrona per recuperare una nuova copia dello script, aggiungendo latenza alla prima richiesta di annuncio.

Soluzione

L'attributo stale-while-revalidate viene utilizzato dall'intestazione Cache-Control e definisce un intervallo di tempo aggiuntivo durante il quale una cache può utilizzare un asset inattivo mentre l'asset viene riconvalidato in modo asincrono. In questo modo gli sviluppatori hanno un equilibrio tra immediatezza, caricamento immediato di contenuti memorizzati nella cache, e aggiornamento, garantisce che gli aggiornamenti ai contenuti memorizzati nella cache vengano utilizzati in futuro.

Case study sugli annunci display di Google

Nel 2016 il team GPT ha aggiunto questa intestazione Cache-Control nella risposta HTTP di gpt.js, in previsione dell'implementazione di stale-while-revalidate da parte dei browser:

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

Con questa impostazione, se il valore di gpt.js viene richiesto tra 15 e 60 minuti dopo il precedente valore memorizzato nella cache, verrà utilizzato per soddisfare la richiesta anche se non è aggiornato. Allo stesso tempo, verrà effettuata una richiesta di riconvalida in background per compilare la cache con un nuovo valore da usare in futuro.

Chrome ha implementato stale-while-revalidate nella versione 75 al 99% di tutto il traffico, lasciando temporaneamente disattivata la funzionalità nell'1% del traffico per misurarne l'impatto. Il team GPT ha registrato metriche di questo 1% (il gruppo sperimentale) e di un campione dell'1% di traffico con la funzionalità attivata (il gruppo di controllo), per testare l'efficacia di stale-while-revalidate per gli script degli annunci. Nel corso di due settimane di metriche registrate da un campione di 5,2 miliardi di impressioni degli annunci display di Google, il gruppo di controllo ha osservato:

  • aumento dello 0,3% delle impressioni dell'annuncio.
  • aumento delle entrate dello 0,5%.
  • Aumento del 2% dei caricamenti iniziali degli script degli annunci (< 500 ms dall'inizio del caricamento della pagina).
  • Aumento complessivo dell'1,1% dei caricamenti di script degli annunci riusciti.
Variazione del punto percentuale nel numero di caricamenti degli script dell&#39;annuncio rispetto al tempo dall&#39;inizio del caricamento della pagina al caricamento dello script dell&#39;annuncio (ms)
Fonte: dati interni di Google, da giugno a luglio 2019.

Come mostrato nel grafico qui sopra, i risultati di questo esperimento possono essere attribuiti a un aumento dei caricamenti riusciti degli script degli annunci, in gran parte all'inizio del processo di caricamento della pagina.

Implementazione di una riconvalida mentre il sito è inattivo sul tuo sito

Il team di GPT ha riscontrato che una modifica relativamente semplice alle intestazioni HTTP con stale-while-revalidate può migliorare la velocità e incrementare le metriche aziendali. Consulta il post Aggiornamenti costanti con stale-while-revalidate per saperne di più sull'implementazione di stale-while-revalidate sul tuo sito.

Foto di Kahica su Unsplash