Proxying von Drittanbieter-JavaScript als First-Party-JavaScript (und die potenziellen Auswirkungen auf die Analyse)

Avatar of Chris Coyier
Chris Coyier am

DigitalOcean bietet Cloud-Produkte für jede Phase Ihrer Reise. Starten Sie mit 200 $ kostenlosem Guthaben!

Überprüfen Sie zuerst, wie unglaublich einfach es ist, einen Cloudflare Worker zu schreiben, um eine andere URL zu proxen

addEventListener("fetch", (event) => {
  event.respondWith(
     fetch("https://css-tricks.de")
  );
});

Es enthält keine Fehlerbehandlung oder Ähnliches, aber hey, es funktioniert

Stellen Sie sich nun vor, wie einige Websites Ihnen eine URL zu JavaScript geben, um *etwas zu tun*. CodePen macht das für unsere Embedded Pens-Funktion.

Diese URL lautet

https://cpwebassets.codepen.io/assets/embed/ei.js

Ich kann diese URL genauso einfach proxen

Nichts Besonderes, es liefert sogar den richtigen content-type Header und alles

Cloudflare Workers gibt Ihnen eine URL dafür, was ziemlich nett ist, aber Sie können Ihrem Worker auch sehr einfach *auf Ihrer eigenen Website* eine Route hinzufügen. Hier erstelle ich also eine URL auf CSS-Tricks, um diesen Worker zu bedienen. Schauen Sie mal, es tut genau das, was es tun soll

CSS-Tricks.com liefert eine JavaScript-Datei aus, die tatsächlich nur von CodePen proxied wird. Ich werde diese URL wahrscheinlich nicht live lassen, es ist nur eine Demo.

Also könnte ich jetzt tun….

<script src="/super-real-url/codepen-embeds.js"></script>

Direkt von css-tricks.com und es wird dieses JavaScript laden. Für den Browser sieht es wie First-Party-JavaScript aus, aber es ist eigentlich proxied Drittanbieter-JavaScript.

Warum? Nun, niemand wird Ihr First-Party-JavaScript blockieren. Wenn Sie ein bisschen gerissen wären, könnten Sie Ihre gesamten Skripte für Anzeigen auf diese Weise ausführen, um Adblocker zu umgehen. Da habe ich gemischte Gefühle. Ich denke, wenn Sie Anzeigen blockieren wollen, sollten Sie in der Lage sein, Anzeigen zu blockieren, ohne bestimmte Skripte auf bestimmten Websites verfolgen zu müssen, um das zu tun. Andererseits scheint das Proxieren einiger Drittanbieter-Ressourcen manchmal ganz in Ordnung zu sein? Wenn es Ihre eigene Website ist und Sie nur ein CORS-Problem umgehen wollen... das wäre in Ordnung.

Mehr in der Mitte ist etwas wie Analysen. Ich habe kürzlich „Vergleich von Google Analytics und Plausible Numbers“ veröffentlicht, in dem ich Plausible diskutierte, einen Drittanbieter-Analysedienst, der „für datenschutzbewusste Websitebesitzer entwickelt wurde“. Also, theoretisch vertrauenswürdig und kein Drittanbieter-JavaScript, das besonders besorgniserregend ist. Aber dennoch tut es nichts, um den Website-Besuchern wirklich zu helfen, und fällt in die breite Kategorie der Analysen, daher könnte ich mir vorstellen, dass es auf Blocklisten landet, wodurch Sie im Laufe der Zeit weniger genaue Informationen erhalten, da immer mehr Leute es blockieren.

Die Standardverwendung für Plausible ist Drittanbieter-JavaScript

Aber wie wir besprochen haben, werden die wenigsten Leute First-Party-JavaScript blockieren, daher würde das Proxieren theoretisch genauere Informationen liefern. Tatsächlich haben sie Dokumente für das Proxieren. Es ist etwas aufwendiger, und es ist mir zu hoch, warum genau, aber hey, es funktioniert.

Ich habe dieses Proxieren als Test durchgeführt. Jetzt habe ich Daten aus der reinen Verwendung des Drittanbieter-JavaScript direkt (aus dem letzten Artikel)

MetrikPlausibel (Kein Proxy)Google Analytics
Einzelne Besucher973.000841.000
Seitenaufrufe1,4 Mio.1,5 Mio.
Absprungrate82%82%
Besuchsdauer1m 31s1m 24s
Daten aus einer Woche nicht-proxied Drittanbieter-JavaScript-Integration

Und kann es mit einem zeitlich identischen Zeitraum mit dem Proxy vergleichen

MetrikPlausibel (Proxy)Google Analytics
Einzelne Besucher1,32 Mio.895.000
Seitenaufrufe2,03 Mio.1,7 Mio.
Absprungrate81%82%
Besuchsdauer1m 35s1m 24s
Daten aus einer Woche von proxied Drittanbieter-JavaScript-Integration

Der Proxy deutet also stark darauf hin, dass die Vorgehensweise auf diese Weise weitaus weniger „blockiert“ wird als selbst das Out-of-the-Box-Plausible. Die getestete Woche war laut dem unveränderten Google Analytics 6 %¹ geschäftiger. Ich hätte mit 15,7 % mehr Einzelbesuchern in dieser Woche gerechnet, basierend auf dem, was bei der nicht-proxieden Einrichtung passiert ist (also 1,16 Mio.), aber stattdessen sah ich 1,32 Mio., sodass der Proxy eine solide Steigerung von 13,8 % bei den einzelnen Besuchern im Vergleich zu einer Nicht-Proxy-Einrichtung zeigt. Und ein direkter Vergleich des proxied Plausible-Setups mit Google Analytics zeigt erstaunliche 32 % mehr Einzelbesucher.

Mit der nicht-proxieden Einrichtung sah ich bei Plausible tatsächlich einen Rückgang der Seitenaufrufe (-6,6 %) im Vergleich zu Google Analytics, aber mit der proxieden Einrichtung sehe ich 19,4 % mehr Seitenaufrufe. Die Zahlen sind also ziemlich schwammig, aber sie deuten *für diese Website* auf eine Größenordnung von 20-30 % der Nutzer hin, die Google Analytics blockieren.

  1. Ich finde es immer so verwirrend, die prozentuale Steigerung zwischen zwei Zahlen zu ermitteln. Der Trick, der für mein Gehirn am besten funktioniert, ist (final - initial) / final * 100.