Page 1 sur 1

Tracking des Résultats

MessagePosté: Lun Mar 22, 2010 3:46 pm
par Lionel Palazzi
Améliorer votre communication nécessite de suivre la réaction des personnes inscrites à vos listes pour comprendre ce qui fonctionne et ce qui ne fonctionne pas.

C'est un sujet complexe, car il n'existe pas de méthode unique et globale qui vous permette d'illustrer, sans y penser, les forces et les faiblesses de votre communication. Il existe cependant une série de petits mécanismes, qui, lorsqu'ils sont bien utilisés et bien compris vous permettent de savoir ce qui fonctionne et ce qui ne fonctionne pas.

1. Déterminer les taux d'ouverture

Les taux d'ouverture des messages déterminent l'efficacité du sujet de votre message.

Mais déterminer le taux d'ouverture absolu d'un message email est une tâche techniquement impossible.

Par définition, un taux d'ouverture est : le nombre de messages ouverts / nombre de messages reçus

Or, la seule manière de mesurer l'ouverture d'un email consiste à envoyer celui-ci au format HTML et à insérer dans le code HTML l'affichage d'une image invisible hébergée sur le serveur. A chaque fois que le serveur devra envoyer l'image en question, il saura qu'un message a été ouvert.

Le problème, c'est que la plupart des webmails des FAI désactivent l'affichage des images par défaut. Par conséquent bon nombre des emails sont lus sans que le serveur n'en soit averti...

D'autre part, si le nombre de messages envoyés est connu, le nombre exact de messages reçus est inconnu, voir le sujet sur la délivrabilité

- Comparer ce qui est comparable

Si le taux ne peut être obtenu, le nombre de signaux d'ouverture de messages peut néanmoins être considéré comme un indicateur de lectorat permettant de faire des comparaisons relatives entre messages, à condition que :

A- Les chiffres soient suffisamment grands pour pouvoir considérer que les erreurs de mesures sont également réparties

Si vous envoyez 2 messages à 10 abonnés et que vous mesurez 2 ouvertures pour le premier et 3 pour le deuxième, vous croyez au premier abord que le deuxième message est meilleur, mais cela peut être totalement faux. Sur de si petits chiffres, il est tout à fait possible que le premier message ait en réalité été ouvert par 4 personnes, dont seulement 2 ont activé l'affichage des images permettant la mesure tandis que le deuxième n'a uniquement été ouvert que par 3 personnes permettant l'affichage.

Plus vos chiffres augmentent, plus l'influence de ce genre "d'aberrations" diminue.

B- Les différences entre les messages ne soient pas responsables d'une différence de délivrabilité.

Si l'un de vos messages contient des mots ou des urls susceptibles d'activer un filtre antispam, les différences d'ouvertures observées sont peut-être plus dues à une différence de délivrabilité qu'à une différence de performance du sujet.

C- La méthode de mesure soit la même

Cette remarque est importante si vous comparez les chiffres donnés par CyberMailing et un autre système.
Il faut savoir que la plupart des systèmes de mesure se contentent d'associer une image à un message et de comptabiliser le nombre de fois que cette
image est appelée. Dans ce cas de figure, la même personne qui ouvre à 2 reprises, sera comptabilisée 2 fois, et celles qui reviendront 10 fois sur le message, 10 fois ! C'est une technique très répandue car elle permet de présenter des nombres d'ouvertures (et donc des taux d'ouvertures) qui sont très très bons et justifier ainsi d'une excellente délivrabilité... jusqu'au jour où un excellent message, ou un message qui fait référence qui est fréquemment réouvert, vous donnera des taux d'ouvertures supérieurs à 100 % ! Cherchez l'erreur..

CyberMailing, lui, associe l'image au message et à l'abonné. Ce qui signifie que si la même personne ouvre plusieurs fois le même message, elle n'est comptabilisée qu'une seule fois. Si les chiffres obtenus sont moins "sexys", ils permettent une meilleure comparaison relative puisque des ouvertures successives ne viennent pas polluer les résultats.

2. Déterminer les taux de clic

Voilà qui est nettement plus facile et nettement plus intéréssant.
Les taux de clics sont le résultat de la délivrabilité, de l'ouverture, et enfin de la performance du message, c'est un résultat global qui ne souffre pas de problème de mesure. Toute personne cliquant sur un message peut être repérée et donc comptabilisée.

CyberMailing vous permet de comptabiliser les clics des liens de vos messages en plaçant vos liens entre %.........%

Exemple : %http: //www.votresite.com/mapage.php%

Cela transforme le lien recu en un url qui pointe vers Cybermailing qui contient un code unique correspondant à l'identifiant du message et de l'abonné :

exemple : http: //www.cybermailing.com/mailing/link/?qsdoiu46sdof4654598701

En cliquant dessus, le clic est enregistré dans notre base de données et la personne est redirigée vers le lien que vous avez indiqué.

En version PRO : vous pouvez dispenser de la présence de Cybermailing dans le lien, et votre lien de tracking ressemblera à ceci
http: //www.votresite.com/mapage.php?u=qsdoiu46sdof4654598701

Voir le forum PRO pour plus de détails.

3. Relier message et rentabilité

Dans une configuration toute simple : liste abonné + liste client, le taux de transformation d'abonné à client global s'obtient évidemment en divisant le nombre d'inscrits à la liste client et le nombre d'abonnés valides.

C'est une valeur qui indique la performance de l'ensemble de votre communication mais ne vous renseigne pas sur quel message provoque le plus de chiffre d'affaires.

Pour obtenir cette information, la meilleure solution est d'utiliser une base de données et de programmer l'enregistrement de données en provenance de vos messages. C'est un travail qui par nature doit forcément se faire de votre côté. Une autre solution plus simple consisterait à se dispenser de la base de données en enregistrant un identifiant du message dans la session de visite et, à faire passer celui-ci dans la référence ou un champ spécial de la commande. Si votre système de comptabilité ou de paiement sécurisé vous permet de rechercher les commandes contenant cet identifiant, vous pourrez en tirer des statistiques.

La méthode avec base de données est meilleure car la mémoire du dernier message cliqué perdurera, alors que les sessions expirent en général au bout de 30 minutes. De plus, avoir la capacité de réaliser vos propres enregistrements dans votre base de données vous permettra de faire des analyses statistiques plus fines, et vous ouvrira la porte de la création d'une communication totalement personnalisée et automatisée.

Tracking des Résultats - message & rentabilité

MessagePosté: Ven Mar 26, 2010 10:51 am
par Lionel Palazzi
Solution de Tracking Simple par utilisation de session

A votre lien http:// http://www.votresite.com/mapage.php vous devrez ajouter un marqueur, quelque chose du style :

http:// http://www.votresite.com/mapage.php?m=8

Cela n'influence pas l'affichage de votre page mais permet au serveur de récupérer l'information m=8 qui pourra vous indiquer qu'il s'agit d'un lien situé dans votre 8e message.

Votre page mapage.php, ainsi que toutes les pages susceptibles d'être visitées par votre abonné, devront commencer avant tout autre chose par :

Code: Tout sélectionner
<?
session_start();
if($_SESSION['m'] == '') $_SESSION['m'] = $_GET['m'];
?>


les <? et ?> indiquent au seveur que cette zone est du PHP
session_start() indique à PHP de démarrer le moteur de session (cette instruction doit toujours être indiquée en premier.).
if($_SESSION['m'] == '') $_SESSION['m'] = $_GET['m']; signifie que si la variable de session "m" est vide, alors elle vaut la valeur de "m" passée dans l'url.

Par conséquent, lors du clic sur le lien, la valeur de m dans l'url est de 8 et la valeur de m de session est vide, par conséquent la valeur de session du visiteur devient 8. Sur les pages suivantes, la valeur de session m du visteur est 8 donc non vide, et elle est conservée.

Ensuite, lorsque vous envoyez les informations au système de paiement sécurisé, vous pouvez utiliser un champ custom ou coder votre numéro de commande pour qu'il reflète cette valeur m=8.

Sur un bouton Paypal par exemple, il vous suffira d'ajouter

Code: Tout sélectionner
<input type = hidden name = custom value=m<? echo $_SESSION['m']; ?>>


pour que la commande soit associée au champ custom = m8

Attention, si votre site est dynamique et que l'affichage de vos pages est tributaire de m=quelque chose, utilisez autre chose que "m=" pour marquer vos liens.

Tracking des Résultats - Méthode MYSQL

MessagePosté: Ven Mar 26, 2010 3:06 pm
par Lionel Palazzi
ATTENTION : cette méthode requiert certaines compétences en PHP et MYSQL.
Les grandes lignes sont évoquées mais les questions relatives à l'utilisation de pure de MYSQL avec PHP ne sont pas évoquées.

EN revanche, les exemples ci-dessous sont directement fonctionnels, si vous avez utilisé le script de sauvegarde des données avec MYSQL activée.

Ceux qui ont des connaissances en PHP et MYSQL devraient pouvoir facilement les modifier pour les adapter à leur situation particulière


Si vous gérez votre propre liste de membres sur votre base de données ou si vous utilisez le script de sauvegarde des données proposées dans ce forum, vous disposez dans votre base d'une liste d'adresses email auxquelles vous avez associé un identifiant local ( dans le script fournit, cette table s'appelle CYBERMAILING_membres)

Si vous utilisez un script de validation des commandes, du style IPN de paypal (c'est à dire que votre système de paiement sécurisé appelle un script de votre serveur pour lui notifier la validation d'un commande), il est alors judicieux de repérer le message responsable de cette commande en ayant préalablement stocker dans une table locale, un registre des adresses email et des messages qu'elles ont cliquées.

Ce registre est alors similaire à celui que Cybermailing génère lorsque vous activez le tracking des clics. Et c'est tant mieux car pour utiliser ce mode de fonctionnement plus précis, vous devrez personnaliser vos liens, avec l'adresse email de l'abonné, ce qui empêche le tracking des clics de Cybermailing.

Votre registre vous permettra alors, à la fois, de connaître le nombre de clics par message et de repérer le dernier avant la vente.

Voici comment cela fonctionne :

Au lieu de stocker l'information du message cliqué dans la session (comme ci-dessus), vous stockez cette information dans une nouvelle table avec l'identifiant local de l'adresse email qui a cliqué le message.

Tout d'abord créons cette table :
Dans PHPMyadmin, une fois dans votre base de données, cliquez l'onglet SQL et copiez collez le code ci-dessous:

Code: Tout sélectionner
CREATE TABLE `CYBERMAILING_clicklog` (
`ID` INT NOT NULL auto_increment,
  `date` date NOT NULL default '0000-00-00',
  `heure` time NOT NULL default '00:00:00',
  `CID` int(11) NOT NULL default '0',
  `mcode` varchar(20) NOT NULL default '',
PRIMARY KEY (  `ID` ) ,
  INDEX (  `mcode`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1


Cela vous créez la table prête à recevoir les données.

Ensuite la page cliquée devra comporter le code suivant qui réalise l'inscription dans cette table.
Code: Tout sélectionner
<?
function securite_bdd($string)
   {
      // On regarde si le type de string est un nombre entier (int)
      if(ctype_digit($string))
      {
         $string = intval($string);
      }
      // Pour tous les autres types
      else
      {
         $string = mysql_real_escape_string($string);
         $string = addcslashes($string, '%_');
      }
      
      return $string;
   }
// paramètres de connection à la base de données
include('/CYBERM/definition.php');
$link = mysql_connect(MYSQL_host,MYSQL_user,MYSQL_password);
if(!$link) die('erreur connection à MYSQL');
if(!mysql_select_db(MYSQL_database)) die('erreur connection à la base de données');
// connection réussie
$mode = securite_bdd($_GET['m']);
$email = securite_bdd($_GET['email']);

if($_GET['m'] != '' & $_GET['email'] != '' )
     {
     $q = "SELECT ID FROM CYBERMAILING_membres where email = '$email'";
     $res  = mysql_query($q);
     if(mysql_num_rows($res)!=0)
               {
                 $row = mysql_fetch_array($res)
                 $email_id =  $row['ID'];

                $q = "SELECT CID FROM CYBERMAILING_clicklog where CID =$email_id and mcode='$mcode'";
                $res  = mysql_query($q);
                if(mysql_num_rows($res)==0)
                       {
                        $q = "INSERT INTO CYBERMAILING_clicklog (date, heure, CID, mcode) VALUES(CURRENT_DATE, CURRENT_TIME, $email_id,$mcode)";
                         mysql_query($q);
                        }
               
                }

      }

?>


Dès lors, les requêtes suivantes (que vous pouvez copier coller sous l'onglet SQL) peuvent vous donner directement des statistiques de clics pour chacun des messages que vous aurez tagués.

Code: Tout sélectionner
SELECT mcode,count(*) from CYERMAILING_clicklog group by mcode


ou si vous souhaitez spécifier des dates de début ( exemple : 25 Mars 2010) et de fin ( exemple : 12 juin 2010)

Code: Tout sélectionner
SELECT mcode,count(*) from CYERMAILING_clicklog WHERE date >= '2010-03-25' and date <= '2010-06-12' group by mcode


Pour tirer l'information du "dernier message" cliquait avant la vente, vous devrez modifier votre script de traitement des commandes pour qu'il
recherche le code du dernier message cliqué par l'adresse email qui vient de commander, et enregistrer cette information avec vos informations de commandes ou dans une table spécifique commande_message (l'exemple ci-dessous illustre le processus avec inscriptioin dans une table CYBERMAILING_commande_message

On crée d'abord la table CYBERMAILING_commande_message :

Code: Tout sélectionner
CREATE TABLE `CYBERMAILING_commande_message` (
`ID` INT NOT NULL auto_increment,
  `date` date NOT NULL default '0000-00-00',
  `heure` time NOT NULL default '00:00:00',
  `order_id` int(11) NOT NULL default '0',
  `mcode` varchar(20) NOT NULL default '',
PRIMARY KEY (  `ID` ) ,
  INDEX (  `mcode`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1



Pour récupérer le dernier message cliqué d'une adresse email, on suppose qu'avec l'appel de votre script de validation, vous pouvez récupérer l'adresse email de l'acheteur dans ma variable $email et le no de commande dans $order_id
Code: Tout sélectionner
<?
$q = "SELECT mcode FROM CYBERMAILING_membres, CYBERMAILING_clicklog WHERE CYBERMAILING_membres.ID =  CYBERMAILING_clicklog .CID ORDER BY ID DESC";
$res = mysql_query($q)
$row = mysql_fetch_array($res);
$mcode = $row['mcode'];

// on insert le couple de données dans CYBERMAILING_commande_message.

$q = "INSERT INTO CYBERMAILING_commande_message (date, heure, CID, mcode) VALUES(CURRENT_DATE, CURRENT_TIME, $email_id,$mcode)";
mysql_query($q);
?>


La requête suivante vous donnera alors le nombre de ventes par code de message.

Code: Tout sélectionner
SELECT mcode,count(*) from CYERMAILING_clicklog group by mcode


En croisant cette requête avec votre table des commandes, vous pourriez même y associer le chiffre d'affaires.
La requête ressemblerait à ceci (sa formulation exacte dépend de votre mode de stockage des commandes,
pour l'exemple je suppose ici qu'il existe une table nommée orders avec une colonne ID qui correspond au numéro de commande)

Code: Tout sélectionner
SELECT mcode,count(*), sum(prix) from CYERMAILING_clicklog, orders WHERE CYERMAILING_clicklog.order_id =  orders.id  group by mcode