Google Analytics en 2 letter domeinen in IE

In de afgelopen periode leer ik steeds meer en meer over Google Analytics en de daarbij behorende tekortkomingen, mogelijkheden, enz. Ik kan mij inmiddels een redelijk gevorderde gebruiker en beheerder noemen, en vanuit dat perspectief kan ik ook zeggen dat ik goed tevreden ben over dit pakket.

Maar wat ik vandaag heb uitgevonden slaat naar mijn mening alles. Ik heb een website die uit 2 letters bestaat, we nemen hier als voorbeeld maar het bekende nu.nl. En Google Analytics (GA) doet het daar niet door Internet Explorer. Om de geschiedenis even langs te lopen zal ik alle genomen stappen toelichten en uitwerken.

Op een mooie nawinterdag besloten we om GA in te gaan zetten om een beter beeld te krijgen van het bezoek op de website. Het bestaande pakket kon ons niet de gegevens leveren die we graag zouden willen zien. De implementatie was snel geregeld en het verzamelen van data kon beginnen.

De dag er na zagen we ongeveer 10% van de hits die het zouden moeten zijn. We hadden het vermoeden dat het script niet helemaal goed in de pagina's stond, die hebben we dus volgens de richtlijnen onderaan de pagina vlak voor de </body> geplaatst.

Een dag later weer hetzelfde: 10%. Dan zou het misschien kunnen liggen aan het <base href> element dat in de site gebruikt word. Dus de GA code helemaal bovenaan vlak na de <head> geplaatst.

Een dag later nog steeds geen goede resultaten. Dus toen als laatste redmiddel maar een testpagina aangemaakt zonder extra ballast, geen scripts en geen stylesheets. Het enige wat in die pagina stond was het script. Vanaf een aantal pc's wat hits gecreëerd zodat we gegevens zouden hebben.

Weer een dag later nog steeds niets. Toen ben ik wat dieper in de getallen gedoken die opgeleverd werden. Ik zag dat in de "content drilldown" alle pagina's keurig bezocht werden en dat de populairste delen ook bovenaan stonden. Dit heeft een paar dagen geduurd alvorens ik weer terug kwam in GA. Toen ben ik alle schermen langs gelopen om te eindigden in het "browser" scherm. Het bleek dat al het bezoek uit Opera, Firefox, Safari en nog wat kleine browsers kwam, maar niet uit Internet Explorer.

Toen ben ik met een HTTP Header checker in Firefox en IE gaan kijken wat er dan zo verschillend was tussen beide browsers. Hieruit bleek dat in beide gevallen keurig de _utm.gif met bijbehorende parameters van de Google server gedownload werd. Na nog een aantal controles op diverse websites en met diverse browsers kwam opeens het volgende verschil naar boven:
GET /__utm.gif ?utmwv=1 &utmn=0000000000 &utmcs=utf-8 &utmsr=1280x1024 &utmsc=32-bit &utmul=nl &utmje=1 &utmfl=9.0 &utmdt=titel &utmhn=voobeeld.nl &utmr=- &utmp=/ &utmac=UA-00000-2 &utmcc=__utma %3D29302124.1118311931.1171291058.1171291058.1171291058.1 %3B %2B __utmb%3D29302124%3B%2B __utmc%3D29302124%3B%2B __utmz%3D29302124.1171291058.1.1.utmccn%3D(direct)%7C utmcsr%3D(direct)%7C utmcmd%3D(none)%3B%2B HTTP/1.1
GET /__utm.gif ?utmwv=1 &utmn=0000000000 &utmcs=windows-1252 &utmsr=1280x1024 &utmsc=32-bit &utmul=nl &utmje=1 &utmfl=9.0 &utmcn=1 &utmdt=titel &utmhn=voorbeeld.nl &utmr=- &utmp=/ &utmac=UA-0000000-1 &utmcc= HTTP/1.1
In de aanroep van het GA plaatje mistte het gedeelte achter utmcc= (zie rode gedeelte), en na wat zoeken kwam ik er achter dat dat het cookie gedeelte van de GA code is. Dus het probleem was bijna gelokaliseerd, de cookies in IE werken niet helemaal prima.

Na talloze verwoede pogingen om de privacy- en beveiligingsinstellingen omlaag te schroeven werden de cookies nog steeds niet geaccepteerd. Toen maar een zoektocht gedaan naar wat de oorzaken daarvan zouden kunnen zijn, en toen stuitte ik op het volgende artikel:

En daar houdt het op, mijn kruid is verschoten. Het blijkt dat voor 7 top level domeinen deze restrictie niet geld en voor de rest wel. Met een nu.nl als URL kun je cookies dus wel vergeten. Ik heb inmiddels op het Tweakers.net forum om hulp gevraagd, maar zoals ik al vermoedde is er geen work-around voor. En nu? Microsoft?

Oplossing

De gebruiker crisp kwam in het topic op Tweakers.net met de suggestie dat een cookie op een 2 letter domein wel zou moeten werken voor een subdomein. En technisch gesproken is www een subdomein. Ik heb het getest en wat blijkt: standaard pakt GA nu.nl als domein, maar als je dat handmatig op www.nu.nl zet werkt het. Hoe doe je dat dan? Door het toevoegen van 1 extra regel:

<script src="http://www.google-analytics.com/urchin.js" type="text/JavaScript"></script>
<script type="text/JavaScript">
_uacct = "UA-xxxxxx-xx";
_udn = "www.nu.nl";
urchinTracker();
</script>

IE accepteert de cookies nu wel, crisp, hulde :)

Inmiddels heeft hij er zelf ook een post over gemaakt: IE and 2-letter domain-names

Click to activate social bookmarks