SPL Tracking

Statistiques pour les newsletters

Plugin SPIP pour afficher des statistiques pour les newsletters

Présentation

SPL Tracking est un plugin SPIP pour afficher des statistiques sur votre lectorat (et/ou clients) de vos newsletters. permet ainsi de faire le suivi de l’audience de vos lettres d’informations.

Il peut s’interfacer avec n’importe quel gestionnaire d’envoi de lettres d’information. Il a été testé sous SPIP 1.9.1 avec une intégration avec SPIP_Liste.

Ce plugin est utilisable avec n’importe quel gestionnaire d’envoi de newsletter sous SPIP. La seule condition est de paramétrer votre gestionnaire d’envoi de mails pour identifier chaque email de destination.

Il s’agit en fait d’une image cachée dans le code HTML de la lettre d’informations. La plupart des lecteurs de messageries (logiciels ou webmail) ne filtreront pas l’image cachée (le fonctionne très bien sous Thunderbird avec le blocage des images !). A vrai dire, on n’utilise pas une véritable image cachée ;-) Il s’agit du script php qui va permettre le tracking du lecteur.

Ce plugin est le 1er plugin SPIP que je viens d’écrire, soyez indulgents si vous relevez des "bizarreries" car la documentation de rédaction des plugin SPIP n’est pas très fournie ni explicite (!).

Pré-requis

Les pré-requis suivants sont nécessaires :
-  version de SPIP >= à v.1.9.1
-  un gestionnaire d’envoi sous SPIP (SPIP Listes, par exemple)
-  environ 15 à 20 minutes de votre temps pour l’installation & le paramètrage de "Spl Tracking" et les fichiers utilisés pour faire vos envois d’e-mailing.

Informations sur les modifications apportées à SPIP

Une fois installé, le plugin SPL Tracking ajoute une nouvelle table de données dans la base de données MySQL : « spip_messages_stats ».

La structure de cette table est la suivante :

col 1 : id_message_stats ==> identifiant unique de la ligne

col 2 : id_message ==> identifiant de la newsletter

col 3 : date_heure ==> ben, date + l’heure du tracking

col 4 : email ==> l’email du destinataire

col 5 : remote_address ==> l’IP du destinataire

Cette table n’est pas supprimée lors de la désinstallation (ou dé-configuration) du plugin, cela vous permet de réactiver le plugin de nouveau avec les mêmes données.

Installation

La procédure détaillée d’installation de SPL Tracking 1.0 est décrite dans le fichier INSTALL.txt.

Installation - Etape 1

Depuis SPIP, installation du plugin depuis le menu de gestion des plugins

-  téléchargez le fichier zip ou tgz de Spl_Tracking
-  décompactez le fichier dans le sous-répertoire "plugins" de SPIP (créez-le si inexistant)
-  connectez-vous dans le panneau d’admin de SPIP en tant qu’administrateur
-  Allez dans le menu "configuration", puis "Gestion des plugins"
-  cochez la case de Spl_Tracking pour activer ce plugin :

Panneau de configuration des plugins

Un nouveau sous-menu "Spl Tracking" doit apparaître dans le menu "Statistiques" :

Icône de « SPL Tracking » ajouté dans le menu « Statistiques »

Exemple d’affichage de la page de "Spl Tracking" :

Exemple de statistiques

Installation - Etape 2- Paramètrage du fichier utilisé en envoi dans les newsletters

Le tracking de lecture des newsletter est un script php appelé directement depuis un lien caché dans votre newsletter.

Les paramètres à fournir sont l’email de l’abonné en md5 et le numéro de la newsletter.

Création du lien caché dans votre newsletter

Le principe est simple : le script d’envoi de la newsletter doit créer à la volée une balise <img> avec le lien du script php, caché dans une balise <div></div>.
La balise peut etre intégrée dans un patron (template) HTML sous la forme suivante :
<div style="visibility:hidden ;"> <img src="#URL_SITE_SPIP/newsletteremailmd5,idmessage.png" width=1 height=1></div>

Le script d’envoi de la newsletter doit donc remplacer emailmd5 par l’email de chaque destinataire encodé en md5 et remplacer idmessage par le numero du message.

Cas pour SPIP-LISTES

Dans le fichier ’meleuse.html’ et ’inc/spiplistes_meleuse.php’ :
Il faut modifier les variables $pagem et $pagehm ;
$pagem concerne le message en texte.
$pagehm concerne le message en html.

* 1re partie ($pagem) :
Cherchez les 2 lignes suivantes :

// fin du pied de page texte

$email_a_envoyer = new phpMail($email, $objet, '',$pagem);

Code à ajouter juste au-dessus :

$pagem=str_replace("{emailmd5}", md5(trim($email)),$pagem);
$pagem=str_replace("{idmessage}",$id_message,$pagem);

* 2e partie ($pagehm) :
Cherchez les 2 lignes suivantes :

// fin du pied de page HTML
$email_a_envoyer = new phpMail($email, $objet, $pagehm, $pagem);

Code à ajouter juste au-dessus :

$pagehm=str_replace("{emailmd5}", md5(trim($email)),$pagehm);
$pagehm=str_replace("{idmessage}",$id_message,$pagehm);

Cas pour d’autres systèmes d’envoi de newsletters

Idem, mais vous devez chercher la variable qui contient l’email du destinataire et l’identifiant de la newsletter.

Vous pouvez aussi plus simplement ajouter les lignes suivantes en fin de message HTML (en les ré-adaptant !) :

$url_site="http://www.monsite.spip"; //url en 'dur'...

$stremailmd5=md5($email); //trouver la bonne variable

$idmessage=$identifiant_newsletter; //trouver la bonne variable

$strLigneTracking='<div style="visibility:hidden;"><img src="'.$url_site.'/newsletter'.$stremailmd5.','.$idmessage.'.png" width=1 height=1></div>';

Installation - Etape 3

Utilisation d’un squelette fourni pour activer le mécanisme de "tracking" en base de données & ajout d’une règle de ré-écriture d’url apache, si nécessaire

Utiliser le squelette « newsletter.html »

Il est fourni pour activer le mécanisme de tracking :

Les fichiers « newsletter.html » et « trackingnewsletter.php » se situent dans le sous-répertoire _squelettes_a_copier :

Copiez le squelette « newsletter.html » et le script php « trackingnewsletter.php » dans le répertoire ’squelettes’ à la racine de l’installation de SPIP. (vous pouvez les renommer sans oublier de modifier les règles de ré-écritures apaches et de modifier le nom du script php dans « newsletter.html » !)

Configurer Apache pour la ré-écriture

Le mode de réécriture MOD_REWRITE pour Apache est très pratique. Il permet de gérer les requetes HTTP spécifiques et de les retraiter en toute transparence pour l’internaute.

SPIP peut utiliser ce mécanisme sur les pages « articles.php3 » (versions inf. à 1.8) et les rubriques.

L’exemple d’intégration du lien www.monsite.spip/newsletter{emailmd5},{idmessage}.png est donc un lien « fictif » qui est chargé d’historiser la lecture ou l’affichage d’une newsletter HTML.

Configuration Apache

Mettre dans le fichier httpd.conf ou .htaccess :

RewriteEngine on
RewriteRule &#94;/newsletter(.*)\.png$ /spip.php?page=newsletter&param=$1 [QSA,L]

Faites un /etc/init.d/apache configtestpour tester la nouvelle configuration.
Ensuite, redémarrez le serveur apache /etc/init.d/apache restart.

Autre lien de téléchargement

SPL Tracking est aussi disponible sur le site de ZEOS-FRANCE. Il est publié sous deux formats de fichiers (zip et tgz).

Somme md5 des fichiers fournis :
-  spl_tracking1.0.zip : 69b8f696ce2e93b76f4807e0de75646a
-  spl_tracking1.0.tgz : ef07532c910e962ce78fd3b1dcbaf542

Conditions d’usage

Notes de version de l’auteur

SPL-Tracking a été créé rapidement pour un besoin dans un cadre professionnel (listes d’informations de plus de 3000 abonnés). Je fournis un maximum d’informations pour que vous soyez autonome dans l’installation et la configuration du tracking. Je ne fournis aucun support technique (sauf le cas de mes clients pros qui commandent une prestation de services, lol). Mon travail est basé sur des outils open-source, logiciels libres, et donc testé sous environnement libre (noyau linux, serveur web apache 1.3.xx, etc...).

SPL Tracking sous Licence publique générale GNU

ZEOS-FRANCE publie en licence GNU-GPL un plugin "SPL_tracking" pour le logiciel libre SPIP. De même, le fichier de licence GNU-GPL est fourni en langue française dans le fichier LICENCE.txt. Le téléchargement de "SPL Tracking 1.0" est soumis à l’acception de la présente Licence GNU-GPL.

Dernière modification de cette page le 9 février 2019

Discussion

2 discussions

  • Bonjour,

    est-ce qu’il existe une évolution de ce plugin pour SPIP 2.1.2 et SPIP-Liste 2.0152 ?

    pour le moment, j’ai une erreur :

    Fatal error : Call to undefined function include_ecrire() in /homepages/18/d284325954/htdocs/grasse/plugins/auto/spl_tracking1.0/exec/spl_tracking.php on line 33

    merci d’avance pour votre aide

    Répondre à ce message

  • 1
    Michael Thanry

    Bonjour,

    Super ce plugin MAIS :

    -  certainement à cause d’une modicifaction du de spip-listes (1.9.2), le code de spiplistes_meleuse.php a changé. Il faut donc chercher le bout de code suivant :

    $email_a_envoyer[$format_abo]->Body = $body;
    $email_a_envoyer[$format_abo]->SetAddress($email,$nom_auteur);

    et ajouter, juste au-dessus :

    $body=str_replace("{emailmd5}", md5(trim($email)),$body);
    $body=str_replace("{idmessage}",$id_courrier,$body);

    -  le code à insérer dans le courrier est donc :

    <div style="visibility:hidden ;"> <img src="#URL_SITE_SPIP/newsletter{emailmd5},{idmessage}.png" width=1 height=1></div> 

    et non pas :

    <div style="visibility:hidden ;"> <img src="#URL_SITE_SPIP/newsletteremailmd5,idmessage.png" width=1 height=1></div> 

    -  la table spip_messages_stats n’a pas été créée (chez moi tout du moins) lors de l’installation du plugin. Je l’ai donc créée à la main avec la requête suivante :

    CREATE TABLE `spip_messages_stats` (
      `email` varchar(64) NOT NULL,
      `id_message` bigint(20) NOT NULL,
      `date_heure` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
      `remote_address` varchar(16) NOT NULL
    )

    Je continuerai de noter mes remarques ici au fur et à mesure.

    • Merci à l’auteur pour le concept et à Michael pour l’adaptation 1.9.2.

      J’ai passé pas mal de temps à essayer de comprendre les choses à mettre en place mais le tracking ne se fait pas.

      je suis sous spip 192c avec spip listes 198.
      J’ai installé le plugin et l’ai activé.
      J’ai fait les modifs de codes comme dit par Michael.
      J’ai créé ensuite un nouveau courrier, insèré l’image cachée.
      Je lance l’envoi. Je reçois les mails mais quand je clique dans les stats, la page dédiée reste vide d’informations...

      A l’aide ! Merci d’avance !

    Répondre à ce message

Ajouter un commentaire

Qui êtes-vous ?

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom