Op een gemiddelde Nederlandse bedrijfssite staan vier tot acht scripts van derden: statistieken, een advertentiepixel, een chatvenster, een cookiebanner, een beoordelingswidget en soms een warmtekaart. Wat trackingscripts snelheid kosten, staat zelden op de rekening, en toch zijn ze op veel sites de zwaarste post van allemaal, zwaarder dan het thema en de afbeeldingen samen.

In dit artikel leest u hoe u die rekening zichtbaar maakt, welke kosten redelijk zijn, en wat u kunt weglaten zonder dat uw marketing blind wordt.

Trackingscripts, snelheid en het gewicht van code van derden

Een afbeelding van driehonderd kilobyte moet worden gedownload en getoond. Klaar. Een script van driehonderd kilobyte moet worden gedownload, ontleed, gecompileerd en uitgevoerd, en dat gebeurt op de processor van de telefoon van uw bezoeker. Bij gelijk gewicht kost een script daardoor drie tot vijf keer zoveel tijd als een plaatje.

Daar komt bij dat het bestand van een andere server komt. Elke nieuwe partij betekent een naamopzoeking, een verbinding en een beveiligde handdruk, samen honderd tot driehonderd milliseconden voordat er ook maar één byte binnenkomt. Acht partijen op één pagina zijn dus acht keer die aanloop.

En sommige scripts laden weer andere scripts. Een tagbeheerder is één klein bestand dat vervolgens zes andere bestanden ophaalt. In het netwerktabblad ziet u dan een boomstructuur die pas na twee seconden tot rust komt.

Wat het in de praktijk kost

Grove ordes van grootte die wij bij metingen tegenkomen, gemeten als extra verwerkingstijd op een gesimuleerde middenklassetelefoon:

  • Een statistiekenscript: vijftig tot honderd kilobyte, meestal een tiende seconde. Bescheiden.
  • Een tagbeheerder met vier tags erin: al gauw twee tot drie tienden, afhankelijk van wat erin zit.
  • Een advertentiepixel: per stuk een tiende, maar ze komen zelden alleen.
  • Een chatvenster: de zwaarste van het stel, vaak drie- tot achthonderd kilobyte en een halve seconde of meer.
  • Een cookiebanner: licht in gewicht, maar hij tekent over de pagina heen en veroorzaakt daardoor verspringende inhoud.
  • Een warmtekaart of sessieopname: zwaar, en hij blijft de hele sessie meekijken.

Bij een klant met een chatwidget zagen we ooit een verschil van bijna een hele seconde; dat verhaal staat uitgewerkt in de praktijkcase over een chatvenster.

Er speelt nog een risico dat losstaat van laadtijd: u haalt code binnen van een partij waar u geen zeggenschap over heeft. Wordt die dienst traag of onbereikbaar, dan kan uw pagina daarop blijven wachten. Wij hebben sites gezien die minutenlang half laadden omdat één externe server niet reageerde. Scripts die u uitgesteld laadt, hebben dat probleem veel minder, wat een extra argument is om ze niet mee te laten doen aan de eerste weergave.

Zelf meten in tien minuten

  1. Open het netwerktabblad en sorteer op domein. Alles wat niet van uw eigen domein komt, is een externe partij.
  2. Noteer per partij het gewicht en tel het op. Dat getal is uw uitgangspunt.
  3. Bekijk het tabblad Prestaties en zoek naar de langste blokken JavaScript-verwerking. Chrome noemt daarbij de herkomst.
  4. Blokkeer een script tijdelijk via het verzoekblokkeerpaneel in de ontwikkelaarshulpmiddelen en meet opnieuw. Zo weet u wat één script kost zonder iets aan te passen.
  5. Vergelijk met een privévenster, want in uw eigen browser zit al veel bewaard.

Deze meting is een goed gespreksmiddel richting uw marketingbureau. Niet als verwijt, wel als afweging: dit script kost 0,4 seconde, wat levert het op?

Opruimen: vier vragen per script

Loop de lijst langs en stel per regel deze vragen.

Wanneer heeft iemand hier voor het laatst naar gekeken? Op veel sites staat nog een pixel van een campagne uit 2022. Dat is dode last.

Kan het naar de server in plaats van naar de browser? Statistieken kunnen tegenwoordig ook aan de serverkant worden verzameld, of via een lichte, privacyvriendelijke variant die een paar kilobyte weegt.

Moet het op elke pagina staan? Een chatvenster op de contactpagina is logisch, op elk blogartikel niet. Veel scripts zijn per pagina in of uit te schakelen.

Kan het later laden? De meeste scripts hoeven niet mee te doen aan de eerste weergave. Uitstellen tot na het laden, of tot de bezoeker beweegt of scrollt, is bij chatvensters en beoordelingswidgets bijna altijd mogelijk en levert direct winst op.

Dat laatste is een bekende techniek die verder wordt uitgelegd in het artikel over uitgesteld laden van JavaScript. Test wel of alles blijft werken: een formulier dat op een script leunt, moet nog steeds versturen.

Denk bij het opruimen ook aan de toestemming van uw bezoekers. Scripts die pas mogen laden nadat iemand op akkoord heeft geklikt, hoeven per definitie niet mee te doen aan de eerste weergave. Is uw cookieoplossing goed ingericht, dan wint u daar snelheid mee zonder dat u iets hoeft uit te zetten. Wij zijn geen juristen, dus laat de vraag welke scripts toestemming vereisen bij iemand die dat wel is; technisch gezien scheelt de juiste inrichting hoe dan ook tijd.

Er is ook een andere kant

Alles weghalen is geen oplossing. Zonder statistieken weet u niet welke pagina’s werken en gokt u bij elke beslissing. Zonder een conversiepixel kunt u uw advertenties niet sturen en betaalt u meer per klant. De vraag is niet of u meet, maar of u acht keer hetzelfde meet.

In de praktijk is de meest voorkomende winst het schrappen van dubbelingen: statistieken die zowel los als via de tagbeheerder binnenkomen, twee cookieoplossingen naast elkaar, of een beoordelingswidget die dezelfde gegevens toont als een blok dat u al zelf plaatst.

Wij nemen deze inventarisatie bij WebMaintor mee als vast onderdeel van een ronde waarin per bestand wordt bekeken of het er nog hoort te staan, juist omdat dit het enige deel is waar u geen technicus voor nodig heeft om een besluit te nemen. U weet zelf het beste welke campagne allang is afgelopen.

Concrete volgende stap: sorteer uw netwerkverkeer op domein en tel hoeveel verschillende externe partijen er meedoen op uw startpagina. Boven de vijf is er bijna zeker iets bij dat niemand mist.