JQuery event tracker pour Google Analytics

Google Analytics est l’outil statistique par excellence pour comptabiliser les hits sur votre site. Il vous donne des statistiques à propos de vos visiteurs, à propos des sources de trafic vers votre site et à propos des pages vues.

Ces outils sont assez utiles si vous désirez des informations sur qui vient visiter votre site et quelles pages sont les plus visitées.

Un autre outil est le suivi des événements (event tracker) qui est accessible par le menu Contenu / Suivi des événements.

Code de suivi asynchrone

Pour finaliser votre compte Google Analytics, vous devez copier-coller un bout de code de suivi donné par GA (à coller juste avant la balise </body> de vos pages).

Google Analytics suggère que vous ne copiez pas ce code de suivi à placer à la fin de vos pages, mais de le remplacer par un code de suivi asynchrone à coller dans la <head> de votre document :

<script type=”text/javascript”>
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-XXXXX-X']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement(‘script’); ga.type = ‘text/javascript’; ga.async = true;
ga.src = (‘https:’ == document.location.protocol ? ‘https://ssl’ : ‘http://www’) + ‘.google-analytics.com/ga.js’;
var s = document.getElementsByTagName(‘script’)[0]; s.parentNode.insertBefore(ga, s);
})();
</script>

Il vous faudra bien entendu remplacer le account ID (UA-XXXXX-X) par le vôtre.

Ce bout de code fonctionnera aussi bien que l’ancien code de suivi et n’attendra pas que la fin de la page soit chargée pour s’exécuter puisqu’il se trouve dans la <head> de votre document.

Pour suivre les événements sur votre page, disons des clics sur des liens, j’ai ajouté une fonction à ce script :

 

<script type=”text/javascript”>
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-XXXXX-X']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement(‘script’); ga.type = ‘text/javascript’; ga.async = true;
ga.src = (‘https:’ == document.location.protocol ? ‘https://ssl’ : ‘http://www’) + ‘.google-analytics.com/ga.js’;
var s = document.getElementsByTagName(‘script’)[0]; s.parentNode.insertBefore(ga, s);
})();

 

function trackClick(text,link,title) {
_gaq.push(['_trackEvent',text,link,title]);
};
</script>

Cette fonction trackClick enverra des informations à l’outil de suivi des événements de Google Analytics. Les attributs passés à cette fontion sont :

  • une categorie : le texte du lien
  • une action : l’adresse du lien
  • un libellé : l’attribut titre du lien

Donc, si ma page contient un lien comme celui-ci :

<a href=”./produits.php” title=”Choisissez un de nos produits”>Nos produits</a>

le script enverra les informations suivantes à GA si le lien est cliqué :

  • une categorie : Nos produits
  • une action : ./produits.php
  • un libellé : Choisissez un de nos produits

Pour que ces données soient envoyées à GA, j’utiliserai JQuery. Donc je devrai tout d’abord télécharger jquery.js, l’uploader sur mon serveur Web et ajouter la ligne suivante à la <head> de mon document :

<script type=”text/javascript” src=”jquery.js”></script>

Puis j’ajouterai un autre script qui lancera ma fonction trackClick quand un lien est cliqué :
<script type=”text/javascript”>
$(document).ready(function(){
$(‘a’).click(function(){
var eventCategory = $(this).attr(‘title’);
var trackURL = $(this).attr(‘href’);
var text = $(this).text();
trackClick(text,trackURL,eventCategory);
});
});
</script>

Vous devrez attendre un moment avant que Google Analytics n’affiche des événements, mais une fois fait, vous pourriez voir les résultats suivants :

Event tracking Google Analytics

Vous pouvez parcourir vos données par catégorie, par action et par libellé.

Webliography

Google’s Event Tracking Guide

Asynchronous Tracking

JQuery event tracker for Google Analytics

Google Analytics is the ultimate tool if you want to get some trustworthy statistics about the hits on your website. It will easily give you statistics about your visitors, about the sources of traffic to your site and about pageviews.

This is fairly useful if you want general information about who comes to your site and what pages are viewed most.

Another useful tool is the event tracker which is accessible under Menu Content / Event Tracker.

Asynchronous Tracking

In order to finalize your Google Analytics Account, you need to copy-paste Google tracking code snippet to the bottom of your pages (just before the </body> tag).

Google Analytics suggests you erase that code at the end of your page and replace it by an asynchronous tracking code to be pasted in the <head> of your document :

<script type=”text/javascript”>
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-XXXXX-X']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement(‘script’); ga.type = ‘text/javascript’; ga.async = true;
ga.src = (‘https:’ == document.location.protocol ? ‘https://ssl’ : ‘http://www’) + ‘.google-analytics.com/ga.js’;
var s = document.getElementsByTagName(‘script’)[0]; s.parentNode.insertBefore(ga, s);
})();
</script>

You’ll have to replace the account ID (UA-XXXXX-X) by your own.

This code snippet will work as well as the old one and will not wait for the end of the script to be loaded since it’s in the <head> of the document.

In order to track events on your page, let’s say clicks on links, I’ll add a function to this script :

 

<script type=”text/javascript”>
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-XXXXX-X']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement(‘script’); ga.type = ‘text/javascript’; ga.async = true;
ga.src = (‘https:’ == document.location.protocol ? ‘https://ssl’ : ‘http://www’) + ‘.google-analytics.com/ga.js’;
var s = document.getElementsByTagName(‘script’)[0]; s.parentNode.insertBefore(ga, s);
})();

 

function trackClick(text,link,title) {
_gaq.push(['_trackEvent',text,link,title]);
};
</script>

That trackClick function will send information to Google Analytics’s event tracker. The attributes that I pass are :

  • a category : the text of the link
  • an action : the link address
  • label : the title attribute of the link

So, if my page contains a link like :

<a href=”./products.php” title=”Choose one of our products”>Our products</a>

the script will send the following pieces of information if the link is clicked :

  • a category : Our products
  • an action : ./products.php
  • label : Choose one of our products

In order to do so, I’ll invoke JQuery. So first, I’ll have to download jquery.js, upload it to my web server and add the following to the <head> of my document to have JQuery work :

<script type=”text/javascript” src=”jquery.js”></script>

Then I’ll add another script that will trigger my trackClick function when a link is clicked :
<script type=”text/javascript”>
$(document).ready(function(){
$(‘a’).click(function(){
var eventCategory = $(this).attr(‘title’);
var trackURL = $(this).attr(‘href’);
var text = $(this).text();
trackClick(text,trackURL,eventCategory);
});
});
</script>

You’ll have to wait a while for Google Analytics to display your events but once it’s done, it can give you the following results :

Event tracking Google Analytics

You can browse the data per categories, per actions or per labels.

Webliography

Google’s Event Tracking Guide

Asynchronous Tracking

Iron, Piwik alternatives à Google

Marre de faire confiance à Google en toute occasion? J’apprécie particulièrement les alternatives aux outils de Google :

Chrome browser vs. Iron Browser

  • Iron BrowserGoogle Chrome est un navigateur Open Source qui a été critiqué pour des raisons de protection de la vie privée et autres. Ce navigateur envoie vos requêtes Web à Google qui les enregistre et les associe à l’ID unique qu’il vous a attribué dans le but de faire des suggestions automatiques de liens.
  • Iron Browser (Open Source) est basé sur le code source de Chromium mais a été réécrit pour le débarrasser des éléments Big-Brother-esques imposés sous Chrome.

Le démarrage d’Iron Browser suprendra certainement les développeurs qui avaient fait le choix d’un vrai navigateur (Mozilla Firefox pour ne pas le citer) et qui étaient frustrés par son démarrage trop lent (que ce soit sous Windows ou Linux, d’ailleurs).

Notez que les Chromium builds du navigateur de Google diffèrent de Chrome puisqu’ils peuvent être utilisés par les développeurs pour créer leur propre navigateur.

Google Analytics vs. Piwik – Web Analytics

Piwik Web Analytics
Piwik Web Analytics

Les développeurs qui veulent offrir un outil efficace de statistiques de visites de leur site peuvent avoir eu le réflexe conditionné de choisir Google Analytics. Je ne les critiquerai pas ici puisqu’il s’agit de la solution la plus puissante qui offre la gestion d’objectifs, la gestion des campagnes Adwords,…

Si vous voulez offrir à vos client un outil statistique simple, vous pourriez choisir Piwik Web Analytics. Piwik est un logiciel Open Source téléchargeable de statistiques de visites de sites Web. Il utilise PHP et MySql. Il n’est bien entendu pas aussi puissant que GG Analytics mais est une alternative stable qui me permet d’héberger toutes les données statistiques de tous mes sites sur mon propre serveur Mysql.

Piwik permet de créer un projet de suivi de visites pour autant se sites Web que nécessaire. Il est également possible d’accorder un accès administrateur ou utilisateur aux clients qui désirent avoir un accès aux statistiques de leur site.

Il vous fournit des données en temps réel, des graphiques, une analyse par mot-clef,…

Piwik peut se révéler moins riche en fonctionnalités que Google Analytics en termes de gestion de campagne AdWords, par exemple. Cependant, il offre une réelle alternative stable qui permet aux développeurs de stocker toutes leurs données statistiques dans leur propre base de données et ce, (presque) sans que les bureaux de Google au Q.G. de Mountain View en soient avertis…

Petit iota cependant : comme tout projet collaboratif, il évolue régulièrement tant dans les scripts proposés en ligne que dans la base de données. Il est donc conseillé :

  • d’upgrader régulièrement Piwik
  • de n’upgrader Piwik qu’après sauvegarde et des fichiers du programme et de la base de données.

Webliography

Google Chrome Browser

Google Chromium Browser (developer’s builds)

Iron Browser

Google Analytics

Piwik – Web Analytics

Iron, Piwik, Google alternatives

Fed up with trusting Google for everything? I was glad to discover Google functionalities alternatives:

Chrome browser vs. Iron Browser

Iron Browser

  • Google Chrome browser (Open Source) has been criticized for privacy (and some other) reasons. This browser submits queries to Google which records them and relates them to the user unique ID for auto-suggestion.
  • Iron Browser (Open Source) is based on the Chromium source code but was re-written to get rid of the naughty features Chrome provided.

Starting Iron Browser will definitely surprise the developers who had chosen Mozilla Firefox and were frustrated by its slow launching.

Note that Chromium builds of Google’s browser differ from Chrome since it can be used by developers to create their own browsers.

Google Analytics vs. Piwik – Web Analytics

Piwik Web Analytics

The developers who want to offer their customers an efficient web analytics tools may have the conditioned reflex to choose Google Analytics. I will not blame them since it is the most powerful tool that provides goal management, Adwords campaign feedback and much more.

If you want to provide your customers with a simple statistics tool, you may choose Piwik – Web Analytics instead. It is of course much less powerful than GG Analytics but stays a suitable solution for some less demanding situations.

Piwik is an Open Source Web Analytics downloadable software that uses PHP and MySql. It is a stable alternative that allows you to keep all analytics data on your server. But keep in mind it offers less functionalities than GG Analytics.

Piwik lets you create web analytics projects for as many websites as necessary. You can also easily grant administrator or simple user access to people who should have access to their analytics data.

It provides you with realtime data, graphs, keywords analytics.

Though Piwik may not be as rich as Google Analytics in terms of adwords campaign goals management, for example, yet, it provides a stable alternative that lets you keep all data in your own database, (almost) without letting know Mountain View Google office headquarters.

As all Web collaborative projects, Piwik is regularly updated. You should regularly upgrade your version of Piwik and make sure you have saved your Piwik files and database before upgrading.

Webliography

Google Chrome Browser

Google Chromium Browser (developer’s builds)

Iron Browser

Google Analytics

Piwik – Web Analytics