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 (-).
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.
Lees verder »Nieuwsbrief
Voortdurend op de hoogte van het laatste analytics en optimalisaties nieuws met onze nieuwsbrief!
Gebruik je al Hitslink?
Deze Web Analytics software wordt in Nederland onder andere gebruikt door
Lees meer over HitslinkAangeboden door AboutAnalyticsNieuwste reacties
- Erwin: Je hebt dan inderdaad gelijk. Het verschil tussen Modified Broad match en exacte zoekwoorden ligt dan in het feit dat...
- Geert Stolk: Er staat op de supportpagina van adwords het volgende: " Naast spelfouten hebben andere sterk gelijkende variant...
- Alouette Edens: Bij de instellingen van AdWords staat: Bevat meervoudsvormen, spelfouten en andere sterk lijkende varianten Maar ik...
- Alouette Edens: Ik heb nog geen resultaten jammer genoeg. Medio mei zou deze aanpassing doorgevoerd worden. Ik heb net nog gekeken maar...

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?