Err

€++ - François CAPON > Blog
  Retour aux Billets

Google Analytics et Recherche sur Site Oxatis

Les statistiques de «recherche sur site» ont pour but de connaitre (et analyser) le comportement des internautes qui utilisent le moteur de recherche interne d'un site web.

Après avoir montré l'intérêt de ces statistiques de «recherche sur site» et expliqué le fonctionnement de la collecte de ces données par Google Analytics, je montrerai comment rendre cette collecte opérationnelle sur un site Oxatis grâce à un «hack» JavaScript.

La recherche sur site de Google Analytics
Google Analytics inclut cette fonctionnalité, mais elle demande un paramétrage spécifique du profil afin de l'adapter aux URL du moteur de recherche interne des sites web. On va ensuite pouvoir répondre aux questions suivantes :
  • qui a effectué des recherches et quand ?
  • que recherchent les visiteurs ?
  • où les visiteurs ont-ils effectué leur recherche ?
 
- Intérêt des statistiques de recherche sur site :
 
Grâce à l'analyse de tous ces éléments, il va être possible de :
  • améliorer le catalogue (termes manquants dans fiches articles...)
  • améliorer l'ergonomie du site (menus, axes de visites...)
  • définir des profils de visiteurs («visiteur pressé», «visiteur perdu»...)
 
- Paramétrage de la collecte des données :

La collecte s'effectue à partir de paramètre(s) des URL dynamiques des pages du site web et (c'est surprenant) de manière indépendante du nom des scripts. On peut collecter le terme de recherche et la «catégorie» de recherche (optionnel) à chaque recherche sur le moteur interne du site web.
 
Pour ce faire, on définit dans le profil Google Analytics :
  • le nom de paramètres dont les valeurs correspondantes aux termes
  • le nom de paramètres dont les valeurs correspondantes aux catégories
 
Si les URL de recherche du site sont de la forme http://www.site-web.com/recherche.script?texte=terme&dans=catégorie on définit texte pour le paramètre des termes et dans pour le paramètre des catégories.

La procédure complète est expliquée dans l'aide de Google Analytics :
€++ Remarques :
  1. Pour «simplifier», je ne définis qu'un seul paramètre pour terme et catégorie (on peut en définir jusqu'à 5 différents).
  2. Pour l'exclusion des paramètres, je conseille de ne l'activer qu'après avoir vérifié la concordance entre URL collectées (complètes) et statistiques.
Les recherches sur un site Oxatis
- Fonctionnement :
 
  1. On appelle la page de recherche à l'aide de l'URL suivante http://www.site-oxatis.com/PBSearch.asp?CCode=n où n correspondant au code du composant (Component Code) dans lequel doit s'effectuer la recherche.
  2. On saisit ensuite le terme de recherche qui est envoyé avec une méthode POST à l'URL http://www.site-oxatis.com/PBSearch.asp dans laquelle ne figure aucun paramètre.
 
- Problème & Solution :

Le transfert de tous les paramètres s'effectuant à l'aide d'un POST, il est impossible de les collecter dans l'URL avec Google Analytics pour le suivi de recherche sur site.

Il faut ajouter un paramètre correspondant au terme de recherche (SearchText du POST) dans l'URL appelée lors de la demande de recherche interne Oxatis.
Le «hack» JavaScript  pour Oxatis
Sur un site Oxatis, il est impossible d'intervenir sur les pages au niveau serveur, mais je peux intervenir au niveau navigateur en JavaScript ; en voici la démonstration.
 
Je définis deux paramètres dans Google Analytics :
  • kiSearchText est le terme de recherche saisi par l'internaute
  • kiSearchComponent est le composant Oxatis (catégorie de recherche)

Ces deux paramètres doivent être ajoutés à l'URL de recherche Oxatis. Ce sont des paramètres «morts» car ils n'ont aucune incidence sur le résultat du script asp (le préfixe ki le garantit).

J'ai retenu la solution suivante : les changements du champ de saisi du texte cherché appellent une fonction qui modifie l'URL de validation du formulaire ; afin d'être le moins «intrusif» possible par rapport au JavaScript Oxatis.

Il suffit de rajouter le script suivant avant la balise </BODY> dans les propriétés par langue du site :
<SCRIPT TYPE="text/javascript">
// €++ François CAPON / Kyudo Informatique
// Si page de recherche : OxCompName='Component searchpage'
if (OxCompName.indexOf('searchpage')>0) {
  // Associe la fonction kiSetFormActionURL() à l'évènement onchange du champ SearchText
  input=document.getElementsByName('SearchText')[0];
  input.onchange=function(){kiSetFormActionURL(this.value)};
}
// Fonction modifiant l'URL appelée à la soumission du formulaire
function kiSetFormActionURL(kiSearchText) {
  // je normalise le texte (minuscule) et "l'échappe" pour être ajouté à une URL
  kiSearchText=escape(kiSearchText.toLowerCase());
  // je récupère le nom du composant : OxCompName='Component searchpage'
  kiComponent=OxCompName.split(' ')[0];
  // je modifie l'URL appelée : form.action
  form=document.getElementsByName('MForm')[0];
  form.action='PBSearch.asp?kiSearchText='+kiSearchText+'&kiSearchComponent='+kiComponent;
}
</SCRIPT> 
Les URL appelées lors des recherches interne Oxatis sont maintenant de la forme :http://www.site-oxatis.com/PBSearch.asp?kiSearchText=terme&kiSearchComponent=composant Google Analytics peut donc collecter les informations nécessaires à l'élaboration des statistiques de recherche sur site.

Vous pouvez tester le bon fonctionnement du script (sans avoir à l'implémenter vous même) en effectuant des recherches sur mon site Oxatis de démonstration.

Conclusion
Il est désormais possible d'avoir des statistiques sur les recherches internes des visiteurs de sites Oxatis. N'hésitez pas à laisser un commentaire et me contacter si vous souhaitez implémenter un hack plus complet sur votre site de e-commerce.
 
Rédigé le  22 Sep 2010 22:00  -  Lien permanent

Commentaire(s)

Aucun commentaire pour ce Billet.

Laisser un commentaire

Le nom et l'adresse email sont obligatoires. L'adresse email ne sera pas affichée avec le commentaire.
Votre commentaire
Votre nom *
Votre Email *
URL de votre site