Formulaires Elementor dans Google Sheets : le connecteur et le cas d’une borne de jeu

Formulaires Elementor dans Google Sheets : le connecteur et le cas d’une borne de jeu

Pour ne plus copier vos formulaires Elementor dans un tableur, une extension suffit : GSheetConnector envoie chaque réponse dans une ligne de Google Sheets, au moment où elle est envoyée. Pas de Zapier, pas de pont maison fragile. On l’utilise pour une borne de jeu en magasin, avec un petit script qui clôt chaque mois la période de jeu.

En bref

  • L’extension relie le widget Formulaire d’Elementor Pro à Google Sheets, sans service intermédiaire.
  • La version gratuite envoie les réponses en temps réel ; la version PRO crée les en-têtes, gère plusieurs feuilles et reprend les anciens envois.
  • Cas réel : une borne de jeu en magasin, un tirage au sort par mois, sans doublons ni manipulation.
  • Un script Google Apps Script supprime les doublons, envoie le fichier du mois par e-mail et vide la feuille.

Ce que fait le connecteur

GSheetConnector for Elementor Forms ajoute une action « Google Sheets » à vos formulaires Elementor Pro. À chaque envoi, une nouvelle ligne apparaît dans la feuille choisie, avec la date et l’heure. Il fonctionne aussi avec MetForm.

La mise en place tient en trois gestes :

  1. vous connectez votre compte Google en un clic ;
  2. vous créez une feuille ou choisissez une feuille existante ;
  3. vous associez les champs du formulaire aux colonnes.

Version gratuite ou PRO ?

La version gratuite, sur WordPress.org, couvre l’essentiel : envoi en temps réel, association des champs, date de chaque envoi. Elle suffit pour un formulaire simple.

La version PRO devient utile dès que vous avez plusieurs formulaires ou une équipe qui exploite les données :

  • création automatique des en-têtes à partir des champs du formulaire ;
  • plusieurs flux : un formulaire vers plusieurs feuilles ou onglets ;
  • reprise des envois passés, ordre et nom des colonnes, ligne d’en-tête figée ;
  • fichiers envoyés enregistrés sous forme de liens, logique conditionnelle.

Elle se paie à l’année ou en une fois (licence à vie), à partir de 39 $ par an pour un site au relevé d’octobre 2026.

Attention : il faut Elementor Pro. Le widget Formulaire n’existe pas dans la version gratuite d’Elementor.

Le cas réel : une borne de jeu en magasin

Une boutique a installé une borne de jeu : les clients s’inscrivent sur une tablette, via un formulaire Elementor, pour participer à un tirage au sort mensuel. Il fallait trois choses :

  • des participations disponibles tout de suite, sans export manuel ;
  • une seule participation par personne et par mois ;
  • un fichier propre envoyé à l’équipe marketing à la fin de chaque période, puis une feuille remise à zéro.
Le formulaire de la borne envoie chaque participation dans Google Sheets, puis un script mensuel supprime les doublons, envoie le fichier par e-mail et vide la feuille

Le connecteur s’occupe de la première partie. Pour le reste, un script Google Apps Script tourne une fois par mois.

Le script de clôture mensuelle

Dans votre feuille Google, ouvrez Extensions, puis Apps Script, collez le code ci-dessous et adaptez les trois réglages du début : le nom de l’onglet, les colonnes qui identifient une personne et l’adresse qui reçoit le fichier.

const REGLAGES = {
  onglet: 'Participations',
  colonnesUniques: ['E-mail', 'Téléphone'],
  destinataires: 'marketing@votre-domaine.fr'
};

function cloturerPeriode() {
  const feuille = SpreadsheetApp.getActive().getSheetByName(REGLAGES.onglet);
  const lignes = feuille.getDataRange().getValues();
  const entetes = lignes.shift();
  const colonnes = REGLAGES.colonnesUniques
    .map(nom => entetes.indexOf(nom))
    .filter(i => i > -1);

  const dejaVus = new Set();
  const participants = lignes.filter(ligne => {
    const cles = colonnes
      .map(i => String(ligne[i]).toLowerCase().replace(/\s+/g, ''))
      .filter(Boolean);
    if (cles.some(cle => dejaVus.has(cle))) return false;
    cles.forEach(cle => dejaVus.add(cle));
    return true;
  });

  const csv = [entetes, ...participants]
    .map(ligne => ligne.map(v => '"' + String(v).replace(/"/g, '""') + '"').join(';'))
    .join('\n');
  const finPeriode = new Date();
  finPeriode.setDate(0);
  const mois = Utilities.formatDate(finPeriode, Session.getScriptTimeZone(), 'yyyy-MM');
  const fichier = Utilities.newBlob('' + csv, 'text/csv', 'participations-' + mois + '.csv');

  MailApp.sendEmail({
    to: REGLAGES.destinataires,
    subject: 'Participations borne de jeu ' + mois,
    body: participants.length + ' participants uniques. Le fichier est joint.',
    attachments: [fichier]
  });

  if (lignes.length) {
    feuille.getRange(2, 1, lignes.length, entetes.length).clearContent();
  }
}

function installerDeclencheurMensuel() {
  ScriptApp.newTrigger('cloturerPeriode').timeBased().onMonthDay(1).atHour(7).create();
}

Lancez une fois installerDeclencheurMensuel depuis l’éditeur et acceptez les autorisations demandées par Google. Ensuite, le 1er de chaque mois vers 7 h, le script :

  1. repère les doublons : même e-mail ou même téléphone, espaces et majuscules ignorés ;
  2. crée un fichier CSV daté du mois écoulé, lisible dans Excel ;
  3. l’envoie par e-mail à l’équipe marketing ;
  4. vide les lignes de participation en gardant les en-têtes, pour que la nouvelle période reparte de zéro.

Le fichier reçu sert à la fois au tirage et à l’archivage. Et pendant le mois, la feuille donne déjà de quoi analyser : nombre de participations, magasin, créneaux horaires.

Un mot sur les données personnelles

Une borne de jeu collecte des e-mails et des téléphones. Le formulaire doit dire à quoi ils servent et combien de temps vous les gardez, avec une case de consentement si vous voulez les réutiliser pour de la prospection. Le script aide justement à ne pas garder une liste qui grossit sans fin.

Ce que ça change au quotidien

  • Plus d’export manuel : la feuille est à jour en continu.
  • Des données nettes : colonnes cohérentes, doublons retirés avant le tirage.
  • Un rendez-vous mensuel fiable : un e-mail, un fichier propre, une feuille vide.

Voir l’installation du connecteur en vidéo sur YouTube

Vous voulez relier vos formulaires à Google Sheets, à votre CRM ou à un autre outil, avec un traitement adapté à votre activité ? On développe ce type d’automatisation, ou parlons de votre besoin.

Sommaire
À lire aussi

D’autres articles qui peuvent vous servir

Facturation électronique WooCommerce : comment mettre votre boutique en conformité

Facturation électronique WooCommerce : comment mettre votre boutique en conformité

Lire l’article →
Cookies et consentement : pourquoi une simple bannière ne suffit plus

Cookies et consentement : pourquoi une simple bannière ne suffit plus

Lire l’article →
Bouton de rétractation WooCommerce : le guide pour se conformer à l’article L221-21

Bouton de rétractation WooCommerce : le guide pour se conformer à l’article L221-21

Lire l’article →

Un projet, une question ?

Devis gratuit · Acompte remboursable · Solde si satisfait · Sans engagement