Hier erfahren Sie, wie Sie mit einem schnelleren Laden von Drittanbieterressourcen Ihren Umsatz steigern können.
In dieser Fallstudie wird gezeigt, wie sich die Geschäftsmesswerte durch die Verbesserung der Leistung von Drittanbieterressourcen steigern lassen. In einer vorherigen Studie wurden die Kosten der zusätzlichen Anzeigenlatenz gemessen. Diese Studie zeigt den Wert einer realen Leistungsverbesserung:
0,5 %
Umsatzsteigerung für Publisher
2 %
Mehr frühes Laden von Anzeigenscripts
Quelle: Interne Daten von Google, Juni bis Juli 2019.
Hintergrund
Das Google Publisher-Tag (GPT) ist das Anzeigen-Tagging-Script für Google Ad Manager, mit dem Displayanzeigen im Web angefordert und gerendert werden. Durch die Implementierung eines einfachen stale-while-revalidate
-HTTP-Headers für das GPT konnte das GPT-Team die Geschwindigkeit und Leistung von Google-Displayanzeigen für seine Publisher-Partner verbessern. Diese Technik kann auf jedes andere Szenario angewendet werden, in dem das Laden von Scripts so schnell wie möglich wichtiger ist als das Laden des neuesten Codes.
Das Problem
GPT wird als Bootstrapping-Script (gpt.js
) bereitgestellt, das eine kurze Gültigkeitsdauer (TTL) von 15 Minuten hat. Durch diese kurze TTL kann das Script schnell aktualisiert oder rückgängig gemacht werden. Nach dem Laden fordert gpt.js
zusätzliche Implementierungsscripts an und lädt sie. Diese haben eine längere TTL.
Nach Ablauf der 15-minütigen TTL ist die Version von gpt.js
im Cache veraltet und muss noch einmal validiert werden. Bisher war für diesen Vorgang eine synchrone Netzwerkanfrage erforderlich, um eine neue Kopie des Scripts abzurufen. Dadurch wurde die Latenz der ersten Anzeigenanfrage erhöht.
Die Lösung
Das stale-while-revalidate
-Attribut wird vom Cache-Control
-Header verwendet und definiert ein zusätzliches Zeitfenster, in dem ein Cache ein veraltete Asset verwenden kann, während das Asset asynchron noch einmal validiert wird. So können Entwickler einen Ausgleich zwischen Aktualität (sofortiges Laden von im Cache gespeicherten Inhalten) und Aktualität (Sorgen dafür, dass Aktualisierungen der im Cache gespeicherten Inhalte in Zukunft verwendet werden) schaffen.
Fallstudie zu Google-Displayanzeigen
Das GPT-Team hat diesen Cache-Control
-Header 2016 in die gpt.js
-HTTP-Antwort eingefügt, in Erwartung der Implementierung von stale-while-revalidate
in Browsern:
cache-control: private, max-age=900, stale-while-revalidate=3600
Wenn gpt.js
zwischen 15 und 60 Minuten nach dem vorherigen im Cache gespeicherten Wert angefordert wird, wird der im Cache gespeicherte Wert verwendet, um die Anfrage zu erfüllen, auch wenn er veraltet ist. Gleichzeitig wird im Hintergrund eine Anfrage zur erneuten Validierung gesendet, um den Cache mit einem neuen Wert für die zukünftige Verwendung zu füllen.
In Chrome-Version 75 wurde stale-while-revalidate
für 99% des gesamten Traffics eingeführt. Bei 1% des Traffics war die Funktion vorübergehend deaktiviert, um ihre Auswirkungen zu messen. Das GPT-Team hat Messwerte für diese 1% (Testgruppe) sowie für eine 1 %-Stichprobe der Zugriffe mit aktivierter Funktion (Kontrollgruppe) erfasst, um die Effektivität von stale-while-revalidate
für Anzeigenscripts zu testen. Im Laufe von zwei Wochen wurden Messwerte aus einer Stichprobe von 5, 2 Milliarden Google-Displayanzeigenimpressionen erfasst.In der Kontrollgruppe wurden folgende Ergebnisse erzielt:
- 0,3% mehr Anzeigenimpressionen.
- 0,5% mehr Umsatz.
- 2% schnelleres Laden von Anzeigenscripts zu Beginn des Seitenaufbaus (< 500 ms nach Beginn des Seitenaufbaus)
- 1,1% mehr erfolgreiche Anzeigenscript-Ladevorgänge insgesamt.
Wie das Diagramm oben zeigt, lässt sich der Erfolg dieses Tests auf eine Steigerung der erfolgreichen Anzeigenskript-Ladevorgänge zurückführen, die vor allem zu Beginn des Seitenladevorgangs erfolgen.
„Stale-while-revalidate“ auf Ihrer Website implementieren
Das GPT-Team hat festgestellt, dass eine relativ einfache Änderung an HTTP-Headern mit stale-while-revalidate
die Geschwindigkeit verbessern und die Geschäftsmesswerte steigern kann. Weitere Informationen zur Implementierung von stale-while-revalidate
auf Ihrer eigenen Website finden Sie im Artikel Mit „stale-while-revalidate“ für aktuelle Inhalte sorgen.