Google Analytics med førjulsoverraskelse
- 16.12.2007
- Av Eivind Savio
Google annonserte for noen dager siden endringer og oppgraderinger for Google Analytics, en Google Analytics oppgradering jeg har annonsert tidligere. Noen av oppgraderingene var ventet, mens andre kom mer eller mindre ut av det blå. En av oppgraderingene kan føre til feilmeldinger på nettstedet ditt hvis du benytter ASP eller ASP.NET, og dette finner du også informasjon om, og en løsning på, i denne artikkelen.

Denne oppgraderingen av Google Analytics gir oss bl.a. muligheten til å sammenligne data på en enkel måte.
En annen ting du bør tenke på er hvordan du bør håndtere overgangen til det å ta i bruk de nye Google Analytics kodene. En svakhet med Google Analytics er nemlig at gjør du en feil, og dette medfører tap av data, er dataene tapt for alltid. Kast deg derfor ikke hodestups ut i migreringen, men sørg for å teste ut de nye kodene gjennom en testprofil slik at du får kontrollert at ting fungerer som det skal.
For eksempel er urchinTracker() borte fra den nye versjonen, en kode som jeg har benyttet svært aktivt. Denne har blitt erstattet av pageTracker._trackPageview(), noe som innebærer at jeg har en del koding som må endres, og noe som igjen medfører testing.
Jeg har ikke kommet så langt i utprøvingen som jeg skulle ønske på grunn av alt det andre som skjer før jul, men det første jeg fant ut ved uttesting av den nye koden var at alt kan ikke være 100 % uttestet. Sporingskoden under er den jeg i følge Google nå skal lime inn på mitt nettsted:
- <script type="text/javascript">
- var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." :"http://www.");
- document.write("\<script src='" + gaJsHost + "google-analytics.com/ga.js'
- type='text/javascript'>\<\/script>" );
- </script>
- <script type="text/javascript">
- var pageTracker = _gat._getTracker("UA-XXXXX-X");
- pageTracker._initData();
- pageTracker._trackPageview();
- </script>
Jeg får da følgende feilmelding i retur som førjulsgave (en feilmelding som jeg ikke er alene om å ha fått):
En skriptblokk kan ikke plasseres inne i en annen skriptblokk.
Problemet ligger i linjene 2 til 4 i scriptet og forekommer på nettsteder som benytter ASP og ASP.NET. I forrige versjon av Google Analytics kunne det komme sikkerhetsadvarsler på nettsider som var krypterte fordi Google Analytics koden ble hentet fra et ukryptert nettsted. For å løse dette sjekker nå Google Analytics om koden er implementert på en kryptert nettside, men måten dette er løst på gir meg altså feilmeldingen over.
Problemet kan løses på flere måter (når dette skrives har ikke jeg hatt god nok tid til å teste dette ordentlig, slik at jeg vil anbefale at du ikke svelger mine forslag rått).
Løsning 1
Legg koden i en egen javascript-fil på nettstedet ditt, og fjern <script type="text/javascript"> fra koden slik eksemplet under viser.
- var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." :"http://www.");
- document.write("\<script src='" + gaJsHost + "google-analytics.com/ga.js'
- type='text/javascript'>\<\/script>" );
- var pageTracker = _gat._getTracker("UA-XXXXX-X");
- pageTracker._initData();
- pageTracker._trackPageview();
Når dette skrives har jeg ikke testet denne løsningen i forhold til om ting spores riktig, men denne metoden fjerner feilmeldingen. Det er også verdt å merke seg at du får ikke bekreftet nettstedet ditt i Google Analytics hvis du velger denne løsningen.
Løsning 2
Denne løsningen medfører en litt annen kode for å sjekke om nettsiden din er kryptert eller ikke. Når dette skrives har jeg bare testet koden sånn halvveis i et døgn, slik at eventuelle tilbakemeldinger er fint å få. Forskjellene finner du i linjene 2 til 4 sammenlignet med Google Analytics sin originale kode.
- <script type="text/javascript">
- document.write( '<scr'+'ipt type="text/javascript" src="' );
- if( document.location.toString().indexOf( 'https://' ) != -1 ) { document.write( 'https://ssl' ); }
- else { document.write( 'http://www' ); } document.write( '.google-analytics.com/ga.js"><\/scr'+'ipt>' );
- </script>
- <script type="text/javascript">
- var pageTracker = _gat._getTracker("UA-XXXXX-X");
- pageTracker._initData();
- pageTracker._trackPageview();
- </script>
Løsning 3: En oppdatering
- <script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl ." : "http://www.");document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js'type='text/javascript'%3E%3C/script%3E"));- </script>
- <script type="text/javascript">
- var pageTracker = _gat._getTracker("UA-XXXXX-X");
- pageTracker._initData();
- pageTracker._trackPageview();
- </script>
Forslaget til løsning 3 ble presentert av Analytics Talk 18.12 (dagen etter at jeg skrev denne artikkelen).
Andre ting det er verdt å merke seg ved nye Google Analytics
Sammen med utrullingen av de nye kodene til Google Analytics har Google skrevet en migreringsguide, og etablert et eget ressursnettsted som det kan være verdt å sjekke ut.
Siden jeg i denne artikkelen har nevnt testing et par ganger, kan det være verdt å merke seg at det har blitt sagt at man ikke skal benytte ny og gammel Google Analytics kode på samme nettside da dette kan føre til feil bruker- og sidevisningsdata.
Har du tatt i bruk den nye versjonen og har gjort deg noen erfaringer, legg gjerne igjen en kommentar.
Oppdatering 19.12: Og da var den koden du ser for løsning 3 på plass hos Google Analytics, slik at det problemet med ASP og ASP.NET som jeg beskriver i denne posten skal ikke lengre være tilstede.
Likevel, litt moro å kunne publisere Google sin kode før de gjør det. Er ingen stor tilhenger av smilefjes i tide og utide, men nå skal jeg koste på meg ett. 
Du kan følge kommentarer til denne posten med RSS. Du må ha javascript aktivert for å kunne kommentere. Tilbaketråkk er deaktivert.
- Comments are closed
- Eivind Savio
- 19.12.2007 06:41:54
Løsning 3 er den som Google visstnok snart vil starte å bruke. I tillegg til at den løser problemet, skal den være bedre i overensstemmelse med XHTML.
- Savio.no » Ho-ho-ho, er det noen snille surfere her?
- 19.12.2007 23:48:55
XKlikk her for å flytte kommentarfeltet