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

Scopri in che modo il caricamento più rapido delle risorse di terze parti può aumentare le entrate.

Jonathon Imperiosi
Jonathon Imperiosi

Questo case study mette in evidenza in che modo il miglioramento del rendimento delle risorse di terze parti può aumentare le metriche aziendali. Mentre un studio precedente ha misurato il costo della latenza degli annunci aggiunta, questo studio dimostra il valore di un miglioramento del rendimento reale:

0,5%

Aumento delle entrate per i publisher

2%

Aumento dei caricamenti iniziali degli script degli annunci

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

Sfondo

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

Il problema

GPT viene implementato come script di bootstrap, gpt.js, a cui viene assegnato un breve TTL (time to live) di 15 minuti. Questo TTL breve consente di aggiornare o eseguire il rollback dello script rapidamente. Una volta caricato, gpt.js richiede e carica script di implementazione aggiuntivi, che hanno un TTL più lungo.

Una volta scaduto il TTL di 15 minuti, la versione di gpt.js in cache diventa obsoleta e deve essere convalidata di nuovo. In precedenza, questa procedura di convalida comportava l'invio di una richiesta di rete sincrona per recuperare una copia aggiornata 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 non aggiornato mentre l'asset viene convalidato nuovamente in modo asincrono. In questo modo, gli sviluppatori possono trovare il giusto equilibrio tra immediatezza (caricamento immediato dei contenuti memorizzati nella cache) e tempestività (garanzia che gli aggiornamenti dei 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 gpt.js, in previsione dell'implementazione di stale-while-revalidate da parte dei browser:

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

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

Chrome ha implementato stale-while-revalidate nella versione 75 per il 99% di tutto il traffico, lasciando l'1% di traffico con la funzionalità disattivata temporaneamente per misurarne l'impatto. Il team GPT ha registrato le metriche di questo 1% (il gruppo sperimentale) e di un campione dello 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 quanto segue:

  • Aumento dello 0,3% delle impressioni degli annunci.
  • 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 dell'1,1% dei caricamenti degli script degli annunci riusciti nel complesso.
Variazione percentuale del numero di caricamenti di script annuncio rispetto al tempo dall&#39;inizio del caricamento della pagina al caricamento dello script annuncio (ms)
Fonte: dati interni di Google, da giugno a luglio 2019.

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

Implementare la funzionalità stale-while-revalidate sul tuo sito

Il team GPT ha riscontrato che apportare una modifica relativamente semplice agli header HTTP con stale-while-revalidate può migliorare la velocità e aumentare le metriche aziendali. Consulta il post Mantenere aggiornati i contenuti con stale-while-revalidate per scoprire di più sull'implementazione di stale-while-revalidate sul tuo sito.

Foto di Kahica su Unsplash