Ouverture de CrazyEgg (statistiques des clics sur une page)

Consultez la formation à Google Analytics de WebRankInfo / Ranking Metrics

capleton59
WRInaute impliqué
WRInaute impliqué
 
Messages: 302
Inscription: Dim Avr 24, 2005 14:45

Message le Mar Sep 19, 2006 12:59

tom_pascal a écrit:
(si ça intéresse quelqu'un, je peux envoyer le code que j'ai modifié)


moi ca m'interesse !

je viens d'installer le script et c'est pas mal du tout :wink:


tom_pascal
WRInaute impliqué
WRInaute impliqué
 
Messages: 278
Inscription: Lun Nov 17, 2003 13:58

Message le Mar Sep 19, 2006 12:59

3eme étape :
Editer le fichier addclick.php (qui enregistre dans la base les clics)

Sous la ligne :
Code: Tout sélectionner
$Date = quote_smart(date("Y-m-d H:i:s"));

Rajouter les lignes :
Code: Tout sélectionner
$X = quote_smart(trim(strip_tags(htmlentities(($_GET['x'])))));
$Y = quote_smart(trim(strip_tags(htmlentities(($_GET['y'])))));


Puis remplacer :
Code: Tout sélectionner
$SQL = "INSERT INTO `$TableName` (`URL`, `LinkID`, `Target`, `Label`, `Date`) VALUES ($TempURL, $TempLinkID, $TempTarget, $TempLabel, $Date);";

par :
Code: Tout sélectionner
$SQL = "INSERT INTO `$TableName` (`URL`, `LinkID`, `Target`, `Label`, `Date`, `X`, `Y`) VALUES ($TempURL, $TempLinkID, $TempTarget, $TempLabel, $Date, $X, $Y);";


tom_pascal
WRInaute impliqué
WRInaute impliqué
 
Messages: 278
Inscription: Lun Nov 17, 2003 13:58

Message le Mar Sep 19, 2006 13:00

4eme étape :
créer le fichier getclickspos.php qui est inspiré de (getclicks.php) en y écrivant le code suivant :

Code: Tout sélectionner
<?php
/*

This code is released under the GPL licence.
addon to view the locations of the clics
Website: http://ekstreme.com/phplabs/ajax-link-tracker.php

Author: Tom Pascal
Website: http://www.ilemaths.net

This code functions as a backend to the original AJAX Link Tracker
*/
require_once (dirname(__FILE__) . "/database.php");

$TempURL = quote_smart(trim(strip_tags(htmlentities(($_GET['url'])))));
$TempDays = (int) quote_smart(trim(strip_tags(htmlentities(($_GET['days'])))));

/*
<?xml version="1.0" encoding="utf-8" ?>
  <rsp stat="ok">
  <link x="15.4" y="2" label="glennjones.net">glennjonesnet</link>
  <startdate>02 May 2006</startdate>
  <enddate>03 May 2006</enddate>
  <days>1</days>
  </rsp>
 
  enddate is set as today.
  startdate is set as (today-$_GET['days'])
  days is $_GET['days']
*/

$SQL = "SELECT X,Y,Label, LinkID FROM `$TableName` WHERE url = $TempURL AND TO_DAYS(NOW()) - TO_DAYS(Date) <= $TempDays;";
//echo "$SQL";
$result = mysql_query($SQL);
if($result){
   $RowCount = mysql_num_rows($result);
   if($RowCount){
      
      $ResultsA = 0;
      $Labels = array();
      $tab_x = array();
      $tab_y = array();
      
      $i=0;
      while ($row = mysql_fetch_array($result, MYSQL_BOTH)){
         $Labels[$i] = $row['Label'];
         $tab_x[$i]=$row['X'];
         $tab_y[$i]=$row['Y'];
         $ResultsA++;
         $i++;
      }
   
      Header("Content-Type: text/xml; charset=utf-8\r\n");
      echo "<?xml version='1.0' encoding='UTF-8' standalone='yes'?>\n";
      echo "<rsp stat=\"ok\">";
      
      for ($ID=0 ; $ID < $ResultsA ; $ID++){
         if ($tab_x[$ID] && $tab_y[$ID]){
            echo "<link x=\"".$tab_x[$ID]."\" y=\"".$tab_y[$ID]."\" label=\"" . $Labels[$ID] ."\">$ID</link>";
         }
      }
       $startdate = mktime(0, 0, 0, date("m"), date("d")-$TempDays,  date("Y"));
       echo "<startdate>" . date("d M Y". $startdate) . "</startdate>\n";
       echo "<enddate>" . date("d M Y") . "</enddate>\n";
      echo "</rsp>";
      }
   else{
      //error
      Header("Content-Type: text/xml; charset=utf-8\r\n");
      echo "<?xml version='1.0' encoding='UTF-8' standalone='yes'?>\n";
      echo "<rsp stat=\"fail\">";
      echo "<err code=\"100\" msg=\"Request not complete\" />";
      echo "</rsp>";
      exit;
      }
   }
else{
   //error
   Header("Content-Type: text/xml; charset=utf-8\r\n");
   echo "<?xml version='1.0' encoding='UTF-8' standalone='yes'?>\n";
   echo "<rsp stat=\"fail\">";
   echo "<err code=\"100\" msg=\"Request not complete\" />";
   echo "</rsp>";
   exit;
   }


?>
Dernière édition par tom_pascal le Mer Sep 20, 2006 6:53, édité 1 fois.


tom_pascal
WRInaute impliqué
WRInaute impliqué
 
Messages: 278
Inscription: Lun Nov 17, 2003 13:58

Message le Mar Sep 19, 2006 13:00

5eme étape :
Dans la feuille de style que vous utilisez, vous devez normalement avoir ajouté la définition de la classe "linklabel" :
Code: Tout sélectionner
.linklabel{
   position: absolute;
   z-index: 500;
   padding-left: 2px;
   padding-right: 2px;
   color: #FFF;
   border: solid 1px #000;
   background-color: #B5494A;
}

Vous devez également rajouter la définition de la classe poslabel :
Code: Tout sélectionner
.poslabel{
   position: absolute;
   z-index: 500;
   color: #B50000;
   font-weight : bold ;
}






A l'utilisation, CTRL+X continue d'afficher les fréquences de clics sur chaque lien déjà cliqué alors que CTRL+Z permet de visualiser chaque clic sur un lien enregistré grâce à une petite croix rouge.


Bon courage :)

Si ça intéresse beaucoup de monde, on pourrait éventuellement préparer un petit zip contenant déjà les fichiers archivés, et surtout réfléchir à une "belle" présentation des informations X,Y enregistrées sous forme de heatmap si c'est faisable...


tom_pascal
WRInaute impliqué
WRInaute impliqué
 
Messages: 278
Inscription: Lun Nov 17, 2003 13:58

Message le Mar Sep 19, 2006 14:08

Ben alors, aucun retour ?

Personne n'a eu le courage d'installer tout ça :lol: ?


xperienss
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 227
Inscription: Sam Jan 01, 2005 15:55

Message le Mar Sep 19, 2006 14:12

si si j'ai installé

mais j'ai le même code d'erreur javascript qu'avant...


Code: Tout sélectionner
Erreur : entité non définie
Fichier source : http://www.compta-online.com/tracker/getclicks.php?url=http%3A%2F%2Fwww.compta-online.com%2F&days=28&rand=0.5745012731974749
Ligne : 2, Colonne : 262
Code source :
<rsp stat="ok"><link percent="0.47" count="1" label="La convention collective des Experts-Comptables">link_190</link><link percent="0.47" count="1" label="0 message">link_3</link><link percent="1.41" count="3" label="Quel avenir pour le DUT GEA">link_110</link><link percent="1.41" count="3" label="DPECF &Atilde;&nbsp; l'ecole fran&Atilde;&sect;aise de comptabilit&Atilde;&copy; EFC">link_103</link><link percent="1.88" count="4" label="Mod&Atilde;&copy;ration messages">link_210</link><link percent="1.41" count="3" label="R&Atilde;&copy;mun&Atilde;&copy;ration du stagiaire expert comptable">link_159</link><link percent="0.94" count="2" label="DECF 2006 : vos impressions">link_96</link><link percent="1.41" count="3" label="remboursement note de frais">link_98</link><link percent="1.88" count="4" label="Le moteur de recherche interne">link_95</link><link percent="2.35" count="5" label="Choix entre deux certificats de sp&Atilde;&copy;cialisation Intec.">link_111</link><link percent="0.94" count="2" label="Comment choisir son &Atilde;&copy;tablissement pour pr&Atilde;&copy;parer son DECF?">link_104</link><link percent="1.41" count="3" label="Affectation du r&Atilde;&copy;sultat">link_112</link><link percent="1.41" count="3" label="question sur le decf">link_136</link><link percent="1.41" count="3" label="Cote et paraphe des livres comptables.">link_152</link><link percent="1.88" count="4" label="Astuces pour trouver un poste d'expert-comptable stagiaire">link_139</link><link percent="0.94" count="2" label="Choix entre deux certificats de sp&Atilde;&copy;cialisation Intec.">link_149</link><link percent="1.41" count="3" label="diff&Atilde;&copy;rence de salaire entre cabinet et entreprise">link_161</link><link percent="2.82" count="6" label="Enregistrement des cotisations sociales ?">link_97</link><link percent="1.88" count="4" label="Comment choisir son &Atilde;&copy;tablissement pour pr&Atilde;&copy;parer son DECF?">link_106</link><link percent="0.47" count="1" label="DPECF &Atilde;&nbsp; l'ecole fran&Atilde;&sect;aise de comptabilit&Atilde;&copy; EFC">link_101</link><link percent="0.47" count="1" label="150">link_145</link><link percent="1.88" count="4" label="Mise &Atilde;&nbsp; niveau sur les nouvelles r&Atilde;&uml;gles comptables et IFRS">link_135</link><link percent="4.69" count="10" label="DECF 2006 : vos impressions">link_91</link><link percent="0.47" count="1" label="+++">link_171</link><link percent="0.47" count="1" label="Choix entre deux certificats de sp&Atilde;&copy;cialisation Intec.">link_147</link><link percent="0.94" count="2" label="Les voies d'acc&Atilde;&uml;s">link_16</link><link percent="3.29" count="7" label="DECF 2006 : vos i-----------------------------------------------------------
-------------------------------------------------------------
---------------------------------------------------------------
---------------------------------------------------------------------
---------^


et

Code: Tout sélectionner
Erreur : linknode.getAttribute is not a function
Fichier source : http://www.compta-online.com/tracker/ajaxlinktracker.js
Ligne : 167



...


tom_pascal
WRInaute impliqué
WRInaute impliqué
 
Messages: 278
Inscription: Lun Nov 17, 2003 13:58

Message le Mar Sep 19, 2006 14:41

Ce sont les caractères accentués HTML qui posent problème dans le XML.

Essayes peut-être de repasser en UTF-8 comme initalement et de remplacer
Code: Tout sélectionner
          echo "<link percent=\"$PC\" count=\"$Count\" label=\"" . $Labels[$ID] ."\">$ID</link>";


par :
Code: Tout sélectionner
          echo "<link percent=\"$PC\" count=\"$Count\" label=\"" . html_entity_decode($Labels[$ID]) ."\">$ID</link>";

dans getclicks.php


Si c'est bon, tu dois également remplacer
Code: Tout sélectionner
            echo "<link x=\"".$tab_x[$ID]."\" y=\"".$tab_y[$ID]."\" label=\"" . $Labels[$ID] ."\">$ID</link>";

par :
Code: Tout sélectionner
            echo "<link x=\"".$tab_x[$ID]."\" y=\"".$tab_y[$ID]."\" label=\"" . html_entity_decode($Labels[$ID]) ."\">$ID</link>";

dans getclickspos.php


tom_pascal
WRInaute impliqué
WRInaute impliqué
 
Messages: 278
Inscription: Lun Nov 17, 2003 13:58

Message le Mar Sep 19, 2006 15:05

En fait, il y a effectivement des problèmes avec l'encodage des caractères spéciaux tels que les accents que j'ai pu régler... mais également les "&" qui posent problème si vous les utilisez dans un anchor-text.

Cela rend le XML invalide, et plus aucune information ne peut alors être exploitée par la suite...


Si j'ai le temps, et que cela intéresse du monde, j'essaierais de proposer une version complète, corrigée et documentée en FR de AjaxLinkTracker.
Ou même pourquoi pas ne proposer sous forme de service gratuit clé en main pour les webmasters ne souhaitant pas installer tout ça sur leurs serveurs une alternative à CrazyEgg (en moins joli, mais moins limité ;))


En verra ça...


patataur
WRInaute passionné
WRInaute passionné
 
Messages: 523
Inscription: Mar Fév 21, 2006 19:57

Message le Mar Sep 19, 2006 15:15

tom, tu mets le doigt dans l'engrenage, mais ce n'est pas forcément une mauvaise chose... ton truc est super, si tu le présentes bien (installation easy, joli à voir) alors attends toi à avoir une hausse énorme de visites sur le site où tu le proposes en download... avec ce qui va avec :D


nickargall
WRInaute accro
WRInaute accro
 
Messages: 5325
Inscription: Lun Juin 13, 2005 14:13

Message le Mar Sep 19, 2006 15:26

Wow ! moi j'ai des stats de 120% de clics avec Link Tracker :) :)
20.00% Accueil
40.00% Ligue 1
20.00% Accueil
40.00% Ligue 1

allez je vire tout, verrai ça plus tard ... on va continuer avec Crazy Egg
Pour ce dernier, il n'affiche pas en temps réel tous les liens :

109 visits in 1 day resulted in 36 clicks ( 11 currently shown )

Quelqu'un sait pourquoi ?


xperienss
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 227
Inscription: Sam Jan 01, 2005 15:55

Message le Mar Sep 19, 2006 16:29

Juste pour info tu as une erreur dans ton script :

Code: Tout sélectionner
ALTER TABLE `Tracker` ADD `XP` VARCHAR( 10 ) NOT NULL ,
ADD `YP` VARCHAR( 10 ) NOT NULL ;


Puis après les requètes tu les fais sur les champs X et Y et non XP et YP...

getclickpos.php
Code: Tout sélectionner
$SQL = "SELECT X,Y,Label, LinkID FROM `$TableName` WHERE url = $TempURL AND TO_DAYS(NOW()) - TO_DAYS(Date) <= $TempDays;";


addclick.php
Code: Tout sélectionner
$SQL = "INSERT INTO `$TableName` (`URL`, `LinkID`, `Target`, `Label`, `Date`, `X`, `Y`) VALUES ($TempURL, $TempLinkID, $TempTarget, $TempLabel, $Date, $X, $Y);";


getclicks.php
Code: Tout sélectionner
$SQL = "SELECT X,Y,Label, LinkID FROM `$TableName` WHERE url = $TempURL AND TO_DAYS(NOW()) - TO_DAYS(Date) <= $TempDays;";



Remplacer X et Y par XP et YP...


tom_pascal
WRInaute impliqué
WRInaute impliqué
 
Messages: 278
Inscription: Lun Nov 17, 2003 13:58

Message le Mar Sep 19, 2006 17:17

Oui, oui merci : je voulais mettre X et Y dans la commande SQL pour la commande d'ajout de ces deux champs.

J'ai édité mon message "étape 1".


tom_pascal
WRInaute impliqué
WRInaute impliqué
 
Messages: 278
Inscription: Lun Nov 17, 2003 13:58

Message le Mar Sep 19, 2006 18:15

tom, tu mets le doigt dans l'engrenage, mais ce n'est pas forcément une mauvaise chose... ton truc est super, si tu le présentes bien ...


patataur, oui je crois que ca va me donner du boulot :P je viens de réserver un nom de domaine et je vais essayer de faire quelquechose de "présentable" (sans grande prétention), avec la possibilité soit de télécharger le script modifié pour installé sur son propre serveur, soit la possibilité de s'inscrire pour profité d'une version externalisée...
Je cherche aussi à améliorer tout ça pour faciliter les évolutions par la suite (corrections des bugs des caractères spéciaux, ajout de heat-map... ?).

nickargall
Pour ce dernier, il n'affiche pas en temps réel tous les liens :
109 visits in 1 day resulted in 36 clicks ( 11 currently shown )
Quelqu'un sait pourquoi ?

Pour la version gratuite, j'ai vu dans le tableau récapitulatif des offres que ce n'est pas en temps réel.

capleton59
WRInaute impliqué
WRInaute impliqué
 
Messages: 302
Inscription: Dim Avr 24, 2005 14:45

Message le Mar Sep 19, 2006 19:49

merci pour les scripts additionnels, j'essayerais ca tranquillement ce week end :wink:

tlemay
Nouveau WRInaute
 
Messages: 8
Inscription: Lun Juin 05, 2006 23:14

Merci

Message le Mer Sep 20, 2006 8:48

Merci pour l'info c'est génial !


A bientôt

thibaut

Ouverture de CrazyEgg (statistiques des clics sur une page) Ouverture de CrazyEgg (statistiques des clics sur une page)

Formation recommandée sur ce thème :

Formation Google Analytics : en 2 jours, apprenez comment exploiter l'essentiel des possibilités de l'outil de mesure d'audience de Google. Formation animée par Julien Coquet, expert certifié officiellement par Google Analytics.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités