Ingenting er sikkert i denne verden, bortsett fra død og skatt, sa Benjamin Franklin. Joda, en ting til er sikkert i vår digitale verden: dårlige sporingsskript. Din aktivitet på nettet skal spores, men det skal i tillegg skje på din bekostning!
– Kan dere legge inn dette tracking-scriptet, får man titt og ofte forespørsel om fra kunder, en vanlig del av å drive netthandelsvirksomhet der lønnsomhet og Return On Investment skal måles ned til hvert klikk. Lite vet kunder at det søte, tilsynelatende harmløse lille skriptet de har levert til implementering kan føre til timer, dager, uker – ja kanskje år – i sammenlagt bortkastet tid for deres (potensielle) kunder.
Det finnes gode og mindre gode måter å legge inn sporingskode på en nettside. Dessverre ser det ut til at de fleste selskapene som driver med dette tviholder på gammeldags kode som er en av verstingene når det gjelder å gjøre at en side oppleves seig i fremvisningen. Når de skal spore deg kunne de i det minste gjøre det på den beste måten!
Metoden “document.write” er helt klart metoden som brukes mest av disse annonsenettverkene. Den eneste grunnen til at man bruker denne metoden er: Å skjule seg fra såkalte adblockere eller trackingblockere, nettleserinnstikk som luker vekk annonser og sporingsskript.
Dette hjelper dem å gjøre jobben sin – spore aktivitet på nett – men det kan hende det jager vekk en potensiell kunde.
Ved å benytte document.write til å skrive inn et eksternt skript eller bilde i siden, må nettleseren først skrive koden inn i dokumentet (DOM), for så å laste ned det eksterne elementet. Dette er hakket verre enn å bare henvise direkte til skriptet i koden (som er enklere for sporingsblokkere å tyde). Så lenge denne driver og laster ned – fra utlandet kanskje – vil ikke DOMContentLoaded slå til, altså at nettleseren sier seg fornøyd med at siden er klar til å tegnes ferdig.
Illustrert med en fin liten tidslinje, ser man document.write-metoden øverst, der den blå linjen er DOMContentLoaded (“siden er klar til å tegnes!”) og den røde linjen er når absolutt alt på siden er ferdig med å laste.
![]()
Her har man forsøkt å laste inn et sporingsskript fra adtech.de via document.write-metoden, f.eks.:
document.write('<scr' + 'ipt src="https://adserver.adtech.de/bind?ckey1=wt_no4355;cvalue1=1;expiresDays=1000;adct=text/html;misc=123"></scr' + 'ipt>');.
Den nederste tidslinjen viser en helt annen metode: asynkron lasting av akkurat samme skriptet, f.eks.:
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];g.async=1;g.src=('https://adserver.adtech.de/bind?ckey1=wt_no4355;cvalue1=1;expiresDays=1000;adct=text/html;misc=123';s.parentNode.insertBefore(g,s)}(document,'script'));
Forskjellen ser man på plasseringen av den blå linjen: skriptet har blitt lastet inn etter DOMContentLoaded har fyrt av. Forskjellen for brukeren er merkbar, opplevelsen av nettsiden blir vesentlig forandret.
Så hvorfor drive på sånn? For å garantere at man får sporet besøket, til tross for at det kan ødelegge for at besøket blir gjennomført? Hvem er det som vinner på dét, egentlig?
Ingen, vil jeg påstå.
Google og andre aktører som er opptatt av ytelse og brukeropplevelse har for lengst byttet ut de gamle document.write-skriptene med asynkrone eller lignende løsninger. Hvis man ikke får sporet 100% av besøkene, ja vel – 99 % holder vel? Eller er sporingen verdt mer enn selve handelen?
Hvis du ikke vil miste en potensiell kunde pga. en treig sporingstjener i utlandet, og vil heller få en ekte konvertering enn en på “papir”, bør du enten kreve at sporingsleverandøren ordner opp i koden sin, eller så kan vi som implementerer det for deg bistå med å gjøre opplevelsen bedre for brukeren.