mailchimp

Une newsletter personnalisée avec Ning et Mailchimp


Maintenant que nous avons une base de données MailChimp contenant toutes les informations possibles sur les membres de notre réseau, nous allons exploiter ces informations en envoyant à nos membres des emails personnalisés...

Sur Voile-RC, j'ai fait le choix de mettre en place deux types de mails : des mails "évènementiels" qui sont envoyés aux membres exclusivement à 1 jour, 1 mois, et tout les ans après leurs inscriptions, ainsi que pour leurs anniversaires ; un mail d'actualité hebdomadaire, envoyé à tous les inscrits dans la base (membres du réseau et adresses collectées via le formulaire du site).

C'est de cette newsletter hebdomadaire dont nous allons parler ici...

Cette newsletter a pour objet de présenter ce qui s'est passé dans la semaine, l'agenda des prochains évènements, un rappel du profil de l'utilisateur (quand il s'agit d'un membre), une incitation à s'inscrire (pour les non-membres), et quelques liens importants (pour Voile-RC). Nous verrons dans le prochain article, quand envoyer ce mail et comment mesurer son impact en terme d'engagement des membres. Concentrons-nous aujourd'hui sur la conception de ce mail.

Ce mail (ici représenté à l'échelle ¼) est composé de 5 zones différentes :

  • La zone 1 et 2 présente pour un membre son pseudo (zone 1), sa photo, le nombre de commentaires sur son profil et des liens d'accès à ses contributions (zone 2). Pour un non-membre, elle contient le logo Voile-RC, un texte d'incitation et un bouton "inscription".
  • La zone 3 contient des liens vers le site, un site annexe (une base de données de plans d'eau où pratiquer le modélisme voile), la fan page Facebook, le compte Twitter,...
  • La zone 4 présente des liens vers les 7 discussions (forums) et billet de blog les plus populaires de la semaine.
  • La zone 5 présente les 9 photos et vidéos les plus populaires de la semaine.
  • Et la zone 6 montre l'agenda des 4 prochains évènements.

Comme vous le voyez, ces zones sont de trois types :

  • Statique : la zone 3 est conçue une fois pour toute, elle est présente et identique quelque soit la personnalisation. Nous connaissons tous les éléments qui la constitue, elle est donc très simple à mettre en œuvre.
  • Personnalisé : les zones 1 et 2 sont spécifiques à chaque destinataire. Dans le cas d'un non-membre elle est statique, dans le cas d'un membre, nous avons tous les éléments nécessaire à la construction des liens dans la base MailChimp . La mise en œuvre de ces zones reste donc relativement simple.
  • Dynamique : les zones 4, 5 et 6 présentent du contenu qui est différent chaque semaine et qu'il va falloir récupérer sur le réseau Ning. La complexité est ici plus grande car mettre en œuvre ces zones nécessite de récupérer ces informations dynamiques et de les mettre en forme "à la volée".

 

Le leaderboard

Cette fonctionnalité, déployée par Ning dans le courant de l'été 2010, va grandement nous aider. Elle est accessible via des urls spécifiques qui sont composées comme suit : <url_du_réseau>/leaderboards/type/fréquence, où "type" indique l'élément à obtenir (il peut s'agir de "videos", "photos", "discussions", "blogposts", "topmembers") et fréquence indique la période de calcul de popularité (il peut s'agir de "day", "week" ou "month").

Vous pouvez donc obtenir les photos les plus populaires de la semaine à l'url http://www.voile-rc.com/leaderboards/photos/week ou les membres les plus actifs de la journée à l'url http://www.voile-rc.com/leaderboards/topmembers/day.

Chacune de ces pages propose un flux RSS et c'est ce flux que nous allons exploiter car la bonne nouvelle, c'est que MailChimp est capable d'utiliser des flux RSS pour construire ses emails.

 

Yahoo ! Pipes à la rescousse

Malheureusement, ces flux RSS ne sont pas "formatés" pour ce que nous voulons en faire. Il va donc falloir trouver un moyen de transformer ces flux à la volée avant qu'ils ne soient utilisés par MailChimp. Il y a mille manières de faire cela. Mais une méthode relativement simple (et accessible aux non-programmeurs) et d'utiliser Yahoo ! Pipes...

Yahoo ! Pipes est un outil gratuit qui vous permet de fabriquer visuellement (en assemblant des boites fonctionnelles) des transformateurs de flux. Il nécessite un petit temps d'apprentissage mais permet de faire des choses redoutables. Voici les pipes que j'ai construit pour cette newsletter. Il sont publiques, vous pouvez donc les récupérer sur votre compte Yahoo ! Pipes et les adapter à votre besoin ou vous en servir de base pour construire les vôtres...

Grâce à cet outil, ont été construits les trois flux présentant les photos et vidéos populaires de la semaine (depuis le leaderboard), les discussions et billets de blog les plus populaires de la semaine  (depuis le leaderboard) et l'agenda des évènements à venir  (depuis le flux RSS du calendrier).

 

Conception du mail

Maintenant que nous avons tout le matériel nécessaire pour alimenter la newsletter, voyons comment la construire.

MailChimp propose plusieurs types de mails. Celui qui nous intéresse est RSS-driven campaign. Comme son nom l'indique, ce type de campagne est lié à un flux RSS qui va servir de contenu principal au mail (c'est le flux "maître"). J'ai choisi pour Voile-RC de faire du flux "Photos & Vidéos" le principal car c'est celui qui est le complexe à mettre en forme dans la newsletter.

La première chose à faire est de réaliser le design de cette newsletter. Si vous souhaitez vous inspirer de celui que j'ai fait, vous pouvez le télécharger en bas de ce billet, mais vous serez obligés de l'adapter à votre site (notament à son design) et à vos flux à vous....

 

Pour le flux principal (zone 5) sont utilisés les Merge Tags de type RSS. Ces tags sont à inclure au bon endroit, et avec les bonnes balises HTML, dans le template de votre mail. Cela se présente comme cela :

  1. *|RSSITEMS:|*
  2. *|RSSITEM:CONTENT_FULL|* <a href="*|RSSITEM:URL|*">*|RSSITEM:TITLE|*</a>
  3. *|END:RSSITEMS|*

Ce fragment de code est relativement basique. Il indique à MailChimp d'aller chercher dans le flux RSS (item après item) le contenu de l'item et de construire le lien en utilisant l'url et le titre de chaque item.

Pour les deux flux secondaires (zones 4 et 6) sont utilisés les Merge Tags de type Feeds car, comme nous l'avons vu plus haut, un seul flux peut servir de "maître" à la newsletter. Cela se présente, cette fois, comme cela :

  1. *|FEEDBLOCK:http://pipes.yahoo.com/pipes/pipe.run?_id=47b22c41c55e57ce2cc11be3bc7fc854&amp;_render=rss|*
  2. *|FEEDITEMS:[$count=4]|*
  3. *|FEEDITEM:CONTENT_FULL|*
  4. *|END:FEEDITEMS|*
  5. *|END:FEEDBLOCK|* 

Ici, il n'y a que le contenu de chaque item qui est repris, ce contenu étant déjà "formaté" par le pipes. Notez que dans le cas de ces types de Merge Tags l'url du flux est à déclarer directement.

Pour la zone 1 et 2, il faut utiliser les Merge Tags conditionnels qui permettent de générer des choses différentes selon un test sur une variable. La variable à tester ici est le champs *|MEMBER|*. Globalement, la structure à respecter à la suivante :

  1. *|IF:MEMBER=1|*	
  2.   <!-- Profil Utilisateur -->
  3. *|ELSE:|*
  4.   <!-- Boite Standard -->
  5. *|END:IF|*

Pour la génération des liens de profils, cela reste classique (pour les blogs, photos, amis, ....) et il faut faire un usage intensif du champs *|SCREENNAME|*. Notez l'url spécifique qui permet de d'accéder à "ce que j'aime" : http://www.voile-rc.com/profiles/like/list?screenName=*|SCREENNAME|*

Une fois tout ceci fait, il ne vous reste plus qu'à remplir les champs spécifiques à la campagne (notamment l'url du flux maitre) et à programmer l'envoi automatique. Voici pour Voile-RC ce que ça donne :

 

Quelques remarques

Si vous utilisez le template que j'attache à ce billet, pensez à le relire soigneusement pour être sur que vous pointez bien sur votre site, et non pas sur Voile-RC ;-)

Pensez aussi, si vous avez l'habitude d'utiliser Google Analytics, à tagger toutes vos urls. Ne laissez pas MailChimp le faire automatiquement (vous pouvez laisser le taggage que j'utilise si vous ne savez pas comment utiliser les campagnes dans Google Analytics)...

Si vous faites quelque chose de canon, pensez à le partager, comme je le fais aujourd'hui !

 

 Les articles de la série :

 
 

Une passerelle entre Ning et MailChimp


Comme ça faisait longtemps que je n'avais pas partagé avec vous mes petites optimisations dans l'utilisation d'un réseau Ning, je me suis dit que ce serait peut-être le moment de vous raconter comment je gère une newsletter hebdomadaire "automatique" pour le site Voile-RC.

Si vous êtes utilisateur de la plateforme Ning, vous le savez sans doute déjà, rien n'est prévu pour concevoir et envoyer une newsletter digne de ce nom à vos membres. Et on ne parle même pas du cas où vous souhaiteriez envoyer cette newsletter à d'autres personnes que vos membres, car ce cas n'est même pas prévu. Pour gérer une newsletter, il faut obligatoirement passer par un prestataire externe...
Pour ma part, après en avoir essayé plusieurs, j'ai fini par trouver un mode de fonctionnement qui me va bien avec MailChimp. Mailchimp permet de gérer gratuitement une base de données de 2000 inscrits et vous permet d'envoyer jusqu'à 12000 mails par mois. Au delà, il vous faudra sortir le portefeuille, ce qui n'est pas encore mon cas, mais qui risque de le devenir :-(

Mettre en place une newsletter automatique pour un réseau Ning (mais pour d'autres formes de plateformes aussi) est une activité que l'on peut décomposer en quatre tâches bien distinctes :

  • gérer les inscrits
  • récolter les données à envoyer (ici de façon automatique)
  • designer la newsletter
  • analyser les résultats et adapter

Je me propose dans ce premier article de vous présenter la méthode que j'ai mise en place pour gérer la base de données des inscrits et la qualité de ces données, les prochains articles abordants les trois autres points.

Lorsque vous souhaitez mettre en place une newsletter avec MailChimp, la première question à se poser est "comment récupérer les données des membres de mon réseau et comment m'assurer de la fraicheur de ces informations ?". La question peut paraitre simpliste a priori, mais sa réponse est loin de l'être. En effet, Ning ne propose pas de passerelle vers MailChimp (en fait, il n'y a qu'avec ConstantContact que quelque chose est prévu) et ne permet qu'un misérable export (manuel) au format csv. Oubliez le mode manuel, cela vous obligerait à exporter chaque semaine le fichier, le reformater et l'importer, toujours manuellement, dans MailChimp, j'ai quelque chose de mieux à vous proposer...

Créer une base MailChimp
Avant toute chose, vous vous en doutez, il faut ouvrir un compte MailChimp. Une fois que c'est fait, il faut créer une base de données (appelée list dans MailChimp). Personnellement, j'ai choisi de gérer les champs suivants, mais je suis sur que vous trouverez plein de manières d'améliorer cela : 

Automatiser le transfert des données
La solution la plus performante pour résoudre le problème d'import de données est d'automatiser le transfert des données depuis Ning vers MailChimp. C'est tout à fait réalisable car l'un comme l'autre offrent des APIs donnant accès à ces données.
La démarche consiste donc à écrire quelques lignes de code qui seront exécutées chaque fois que vous souhaitez synchroniser votre base MailChimp. La bonne nouvelle c'est que vous n'aurez pas vraiment à écrire ces quelques lignes de code, car je vous les offre pour que vous puissiez vous en servir : c'est simpleNing2MC !

Installer simpleNing2MC
SimpleNing2MC est un script PHP qu'il vous faut installer sur un serveur web (il y a d'autres façon de faire, mais c'est un peu plus technique...). Pour ce faire vous devez disposer d'un serveur web quelconque et d'un nom de domaine quelconque - disons sub.domain.com pour le reste de l'explication. Téléchargez les sources disponibles au bas de cet article et installez-les, après décompression, dans le répertoire de votre choix (par exemple SimpleNing2MC). Ces sources contiennet tout ce dont vous avez besoin pour faire fonctionner le script : les script en lui même, le wrapper d'accès aux APIs Ning et le wrapper d'accès au APIs MailChimp.

Paramétrer simpleNing2MC
Pour adapter le fonctionnement du script à vos besoins, vous devez éditer le fichier sub.domain.com/SimpleNing2MC/index.php qui contient les paramètres du script. Ces paramètres se présentent en quatre sections

  • Misc Options : vous permet de spécifier les paramètres généraux du script (taille des lots, génération de rapport,...).
  • MailChimp Parameters : vous permet d'indiquer les paramètres spécifiques d'accès à votre base de données MailChimp. Pour obtenir certains éléments, vous devrez vous rendre sur la page de gestion des clés d'API MailChimp.
  • Ning Parameters : vous permet d'indiquer les paramètres spécifiques d'accès à votre réseau Ning. Pour obtenir certains éléments, vous devrez vous rendre sur la page de gestion des clés d'API Ning.
  • Ning <-> MailChimp Mapping : vous permet d'indiquer les propriétés de vos membres que vous souhaitez exploiter dans votre base MailChimp.

Une fois ceci fait, vous pouvez tester le fonctionnement (et faire le premier import) en lançant l'url http://sub.domain.com/SimpleNing2MC/index.php dans votre navigateur favori.

Automatiser l'exécution de simpleNing2MC
Pour fignoler la chose, vous pouvez programmer le lancement régulier du script, en utilisant le service cron du serveur ou s'exécute votre site.
Prenons l'exemple de Voile-RC : la newsletter est envoyée automatiquement tous les dimanches à 17h00. J'ai donc choisi de programmer le lancement de simpleNing2MC tous les dimanches à midi de cette façon : 

0 12 * * 0 wget http://fake.voile-rc.com/simpleNing2MC >/dev/null 2>&1

Et c'est tout !
Vous voilà donc en possession d'une base de données à jour de vos membres directement dans MailChimp. C'est pas beautifull ?

 

  Les articles de la série :

Site propulsé par Drupal !    Contenu mis à diposition sous un contrat Creative Commons