Hier erfahren Sie, wie Sie durch schnelleres 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 %
Steigerung der frühen Ladevorgänge des Anzeigenskripts
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 Bootstrap-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 veraltetes 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.
Chrome führte stale-while-revalidate
in Version 75 für 99% aller Zugriffe ein, sodass die Funktion zur Messung der Auswirkungen bei 1% der Zugriffe vorübergehend deaktiviert war. Das GPT-Team protokollierte Messwerte von 1% (Testgruppe) sowie 1% des Traffics mit aktivierter Funktion (Kontrollgruppe), um die Effektivität von stale-while-revalidate
für Anzeigenskripts zu testen. Über einen Zeitraum von zwei Wochen mit erfassten Messwerten aus einer Stichprobe von 5, 2 Milliarden Impressionen für Google-Displayanzeigen stellte die Kontrollgruppe Folgendes fest:
- 0,3 % mehr Anzeigenimpressionen.
- 0,5 % mehr Umsatz.
- 2% Steigerung bei frühen Ladevorgängen von Anzeigenskripts (weniger als 500 ms ab 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 Beitrag Mit veraltete Überprüfungen auf dem neuesten Stand halten.