Scriptfouten in Google Analytics doormeten


 door 

Weten jullie hoeveel javascript foutmeldingen je bezoekers op je site krijgen? Nee? Dan wordt het nu tijd om dat in kaart te gaan brengen. Eduardo Cereto heeft met een simpele techniek deze javascript fouten in een Google Analytics meting geplaatst.

De code

Dit is de code die hij hiervoor geschreven heeft:

<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(
['_setAccount','UA-XXXXX-X'],
['_trackPageview']
);
function track_error_event (exception) {
_gaq.push(['_trackEvent',
'Exception ' + (exception.name || 'Error'),
exception.message || exception,
document.location.href
]);
}
</script>

<script type="text/javascript">
try{
//Javascript Code goes here
//Raises Division by zero exception
var i = 1/0;
}
catch(e){
track_error_event(e);
}
</script>

Met de try-catch constructie kun je de fouten in het try blok afvangen en doormeten. Zo zou je dit rondom de Google Analytics ecommerce code kunnen plaatsen.

Wanneer je alle javascript foutmeldingen wil meten kun je de code eenvoudiger maken op deze manier:

<script type="text/javascript">
window.onerror = function (msg, url, line)
{
_gaq = _gaq || [];
_gaq.push(['_trackEvent', 'Error Log', msg, url, line]);
};
</script>

Door deze code in een los <script> blok te plaatsen worden alle javascript foutmeldingen doorgegeven aan Google Analytics. Het aparte script blok is nodig zodat kapotte code dit script niet kan blokkeren.

De rapportage

Als het goed is (of juist niet) krijg je in het gebeurtenissen rapport bijvoorbeeld de volgende meldingen:

Als je doorklikt op de meldingen kun je ook de pagina’s zien waar deze meldingen opgetreden zijn.

Persoonlijk vind ik het handig om zo het Google Analytics e-commerce script door te meten. Met de nieuwe asynchrone code treden hier wat vaker fouten in op. Dat komt door het simpele feit dat Google in het nieuwe script gebruik maakt van de quote (‘) en niet meer de aanhalingstekens (“), en dat terwijl het niet uitmaakt welke je gebruikt (omzetten kan dus ook). Wanneer je dan producten verkoopt met een quote er in breekt het meetscript:

<script type="text/javascript">
_gaq.push(['_addItem', '1234', 'ABCD', 'Villa d'Oro', 'Cool', '11.99', '1']);
</script>

De quote in de productnaam zorgt voor een javascript foutmelding en de hele transactie wordt niet meer gemeten. Of de quotes rondom de argumenten in de functieaanroep moeten vervangen worden door aanhalingstekens. Of de quote in de productnaam moet vervangen worden door bijvoorbeeld een streepje (-).

Vind meer artikelen over:

8 reacties


Je bent me voor met je artikel. Het is echt een goed script voor het vinden van fouten. Je aanvullingen op het script maakt het compleet.

Lekker de bezoekers op de website het werk laten doen.
Dit scheelt enorm veel handwerk op een website met veel javascript.

Het is ook erg sterk in combinatie met de meldingen. Wanneer er ineens veel errors zijn kun je jezelf een mail sturen.


Nou, “lekker de bezoekers het werk laten doen” is niet hoe ik het aan zou pakken. Altijd alles zelf controleren en langslopen. Juist die fouten die je dan niet zelf kunt reproduceren of ontdekken kun je hier dan mee vangen.


Dat spreekt natuurlijk voor zich. Zelf weet je tijdens het programmeren al op welke plekken het eventueel fout zou kunnen gaan. Altijd even testen of je code goed werkt.

Als je het echt niet meer weet en de website live gaat dan is dit een goede manier om de code in het wild te testen en de laatste onvolkomenheden eruit te halen.


Fijne tip Andre, dank daarvoor. Heb jij al ervaringscijfers bij hoeveel % van de bezoekers dit gemiddeld bij een website voorkomt en of de problemen op basis van deze informatie inderdaad snel te verhelpen zijn?


Helaas, heb het nu op een aantal sites draaien, maar daar nog geen enkele melding tot op heden. Wel heb ik nog een interessant vraagstuk voor enkele ecommerce metingen, daar hoop ik binnenkort wel meer uit te halen.


Goed gevonden! Bedankt voor het delen.


Inmiddels heb ik een flink aantal errors mogen ontvangen. In 0,05% van alle pageviews is een error opgetreden. En de meeste hebben als titel “Error loading script”. Wanneer ik daar op doorklik zie ik dat het in een aantal scripts gebeurd, maar voornamelijk in de outbound-link meting van Clicky.


Haha, geweldige foutmelding. Nu nog uitvinden waarom dat is :-) Zal het zijn vanwege iemand die al klikt terwijl het script nog niet binnen is, of is de uptime van Clicky gewoon niet goed?

Plaats een reactie | Houd u op de hoogte van reacties via e-mail

* Verplicht in te vullen

Houd mij op de hoogte van nieuwe reacties. Of abonneer jezelf op deze discussie zonder te reageren.

Door:

In het dagelijks leven freelance Google Analytics, SEO en Site Speed consultant. Ook nog Web Analytics Consultant bij Traffic4u, blogger op andrescholten.net en Marketingfacts, voormalig moderator op Tweakers.net.

  • Aantal woorden: 330

  • Aantal tweets: 10

  • Aantal reacties: 8

  • Aantal likes: 3

Nieuwsbrief

Voortdurend op de hoogte van het laatste analytics en optimalisaties nieuws met onze nieuwsbrief!

Gebruik je al Hitslink?

Lees meer over HitslinkAangeboden door AboutAnalytics