Jean ROCHARD
Je partage ma passion de Wordpress dans des articles techniques sur les plugins, thèmes, nouveautés geek et optimisation SEO "on-site".
Jean ROCHARD

@jean_rochard

Chez Terre Digitale, on mange du Wordpress dès le petit-dej'.
Petit guide pour mettre en place les Facebook Instant Articles à partir de vos posts Wordpress : https://t.co/lSbzdM6z9j - 7 mois ago

Dans l’univers WordPress, les 2 solutions les plus connues pour gérer des formulaires de contact sont Contact Form 7 et Gravity Forms. Pour un bon suivi des contacts entrants, il est intéressant de garder une trace des messages envoyés via ces formulaires de contact. Nativement, c’est ce que propose Gravity Forms avec une interface de gestion des messages ; au contraire de Contact Form 7 qui ne fera que vous envoyer un e-mail avec les informations saisies (dans sa configuration par défaut).

Il existe bien sûr des plugins comme Contact Db Form pour enregistrer les réponses à vos formulaires Contact Form 7 dans la base de données de WordPress ; mais pour faire des statistiques avancées de conversion ou avoir une vue globale de vos messages ; ce n’est pas la panacée (surtout si l’on possède plusieurs formulaires ou même plusieurs sites). Le besoin se fera vite sentir de centraliser les réponses pour une meilleure exploitation.

Nous allons aujourd’hui voir plusieurs solutions pour enregistrer et centraliser vos messages dans une seule et même Google Sheet. Pour ceux qui ne connaissent pas les Google Spreadsheet, considérez cela comme l’équivalent de excel mais en mode 100% en ligne,  accessible de partout et de façon sécurisée aux utilisateurs ou applications autorisées.

Utilisation de Zapier pour Gravity Forms

Une première solution est d’utiliser les services de Zapier. Ce service vous permet de brancher des applications entre elles sans programmation. Dans notre cas, Gravity Forms dispose d’un add-on Zapier  très efficace. Une fois installé cette extension, toutes les informations d’un formulaire seront prêtes à être partagées vers une Google Spreadsheet (grâce à ce zap). Il vous restera à paramétrer l’accès de Zapier à chacune des parties ; puis à paramétrer le mapping des champs :

zapiersheet

Cette solution est très pratique mais elle ne fonctionne pas pour Contact Form 7. De plus, elle est coûteuse car vous devrez avoir la licence « developer » de Gravity Forms et serez peut être limité par le nombre de messages dans la version gratuite de zapier (maximum de 100 tâches par mois).

Utilisation du plugin NS Google Sheets Connector pour Contact Form 7

Ce plugin NS Google Sheets Connector est exactement créé pour notre besoin : il va envoyer les données d’un formulaire contact Form 7 vers une feuille bien précise d’une Google Sheet de votre compte Google. Installez le plugin et paramétrez le en quelques minutes  :

  • après avoir mis en place votre formulaire Contact Form 7, gardez en mémoire son identifiant (visible dans le shortcode) et le nom des champs
  • connectez vous à votre compte Google et créez une Google Sheet avec un nom simple. Renommez la feuille par défaut. Créez sur la première ligne la première colonne qui sera nommée « date » ainsi que les colonnes suivantes avec les noms exacts de vos champs de formulaire
  • saisissez les informations de paramétrage du plugin (Menu Réglages -> NS Sheets) : code d’autorisation (il suffit de cliquer sur le lien), nom de la Goole Sheet, nom de la feuille, identifiant du formulaire. Sauvegardez et c’est tout !

nsconnector

Cette solution est gratuite et une version pro du plugin vous permettra d’enregistrer plusieurs formulaires dans plusieurs feuilles différentes.

Coder le lien entre le formulaire et Google Sheet « à la main »

Pour Gravity Forms notamment, il existe une moyen d’avoir une solution gratuite : gérer le lien entre applications manuellement. Cela est assez vite fait et très bien décrit dans cet article. L’idée est d’utiliser le hook « gform_after_submission » et envoyer les informations à un Google Script qui se chargera d’écrire dans une Google Sheet. L’exemple donné dans cet article peut être customisé en utilisant un nom de feuille paramétrable.

Pour Contact Form 7, on peut imaginer le même fonctionnement avec le hook « wpcf7_mail_sent ».

Au final, nous avons plusieurs solutions efficaces à notre disposition pour centraliser les messages postés aussi bien pour Contact Form 7 que pour Gravity Forms. C’est pas beau tout ça ?