Aller au contenu principal
Guides 7 min de lecture

Variables Dynamiques dans les Templates WhatsApp : Personnalisation à Grande Échelle

Maîtriser les variables dynamiques dans les templates WhatsApp pour personnaliser vos messages à grande échelle. Syntaxe, bonnes pratiques, exemples de code et stratégies de personnalisation avancée.

Variables Dynamiques dans les Templates WhatsApp : Personnalisation à Grande Échelle

La personnalisation est le levier le plus puissant du WhatsApp Marketing. Un message qui mentionne le prénom du destinataire, son dernier achat, ou une information spécifique à sa situation obtient un taux d'engagement deux à trois fois supérieur à un message générique. Les variables dynamiques sont l'outil technique qui rend cette personnalisation possible à grande échelle. Ce guide vous explique tout ce qu'il faut savoir pour les maîtriser.

Syntaxe et Fonctionnement des Variables

Dans les templates WhatsApp, les variables dynamiques s'écrivent avec la syntaxe {{n}}n est un numéro entier séquentiel commençant à 1.

Exemple de template avec variables :

"Bonjour {{1}},

Votre commande #{{2}} d'un montant de {{3}} FCFA est en cours de préparation.
Livraison estimée : {{4}}.

À bientôt, {{5}} !"

Dans cet exemple :

  • {{1}} = Prénom du client
  • {{2}} = Numéro de commande
  • {{3}} = Montant en FCFA
  • {{4}} = Date de livraison estimée
  • {{5}} = Nom de l'équipe ou du conseiller

Règles fondamentales :

  • Les variables doivent être numérotées séquentiellement ({{1}}, {{2}}, {{3}}... — pas {{1}}, {{3}}, {{5}})
  • Chaque variable doit avoir un exemple renseigné lors de la soumission du template
  • Une variable peut apparaître plusieurs fois dans le même template
  • Pas de variables dans le texte des boutons (le texte des boutons est fixe)

Variables dans le header : Le header texte peut contenir au maximum une variable {{1}}. Les headers média (image, vidéo, document) ne contiennent pas de variables texte, mais l'URL du média peut être variable à l'envoi.

Exemples de Code Complets

Soumission d'un template avec variables :

# Créer un template avec 4 variables dans le body
curl -X POST \
  "https://graph.facebook.com/v19.0/YOUR_WABA_ID/message_templates" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "rappel_paiement_microfinance",
    "category": "UTILITY",
    "language": "fr",
    "components": [
      {
        "type": "HEADER",
        "format": "TEXT",
        "text": "Rappel de paiement - {{1}}",
        "example": {
          "header_text": ["Coopérative Espoir"]
        }
      },
      {
        "type": "BODY",
        "text": "Bonjour {{1}},\n\nNous vous rappelons que votre échéance de remboursement de {{2}} FCFA est prévue le {{3}}.\n\nRéférence dossier : {{4}}\n\nPour toute question, contactez votre conseiller.",
        "example": {
          "body_text": [
            ["Kofi Atta", "25 000", "15 septembre 2026", "MF-2026-0892"]
          ]
        }
      },
      {
        "type": "FOOTER",
        "text": "Coopérative Espoir - Service Crédit"
      },
      {
        "type": "BUTTONS",
        "buttons": [
          {
            "type": "QUICK_REPLY",
            "text": "Paiement effectué ✓"
          },
          {
            "type": "QUICK_REPLY",
            "text": "Demander un délai"
          }
        ]
      }
    ]
  }'

Envoi personnalisé avec les valeurs réelles :

# Envoi du template avec les valeurs spécifiques à ce client
curl -X POST \
  "https://graph.facebook.com/v19.0/YOUR_PHONE_NUMBER_ID/messages" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "messaging_product": "whatsapp",
    "to": "+22507XXXXXXXX",
    "type": "template",
    "template": {
      "name": "rappel_paiement_microfinance",
      "language": {"code": "fr"},
      "components": [
        {
          "type": "header",
          "parameters": [
            {"type": "text", "text": "Coopérative Espoir"}
          ]
        },
        {
          "type": "body",
          "parameters": [
            {"type": "text", "text": "Kofi Atta"},
            {"type": "text", "text": "25 000"},
            {"type": "text", "text": "15 septembre 2026"},
            {"type": "text", "text": "MF-2026-0892"}
          ]
        }
      ]
    }
  }'

Envoi en Masse avec Personnalisation (Bulk Sending)

Pour envoyer un template personnalisé à des milliers de contacts, la bonne pratique est de préparer un fichier de données et d'itérer avec des appels API individuels (ou par batch si votre BSP le supporte) :

// Node.js - Envoi en masse avec personnalisation
const axios = require('axios');

async function sendBulkPersonalizedMessages(contacts) {
  const results = [];
  
  for (const contact of contacts) {
    try {
      // Délai pour respecter les limites de débit API
      await new Promise(resolve => setTimeout(resolve, 100)); // 100ms entre chaque envoi
      
      const response = await axios.post(
        `https://graph.facebook.com/v19.0/${process.env.PHONE_NUMBER_ID}/messages`,
        {
          messaging_product: 'whatsapp',
          to: contact.phone,
          type: 'template',
          template: {
            name: 'promo_anniversaire_client',
            language: { code: 'fr' },
            components: [
              {
                type: 'body',
                parameters: [
                  { type: 'text', text: contact.firstName },
                  { type: 'text', text: contact.discountPercent.toString() },
                  { type: 'text', text: contact.promoCode },
                  { type: 'text', text: contact.expiryDate }
                ]
              }
            ]
          }
        },
        {
          headers: {
            'Authorization': `Bearer ${process.env.ACCESS_TOKEN}`,
            'Content-Type': 'application/json'
          }
        }
      );
      
      results.push({ phone: contact.phone, status: 'sent', messageId: response.data.messages[0].id });
    } catch (error) {
      results.push({ phone: contact.phone, status: 'error', error: error.message });
    }
  }
  
  return results;
}

Note importante sur la gestion des erreurs d'envoi : Toujours implémenter une retry logic avec backoff exponentiel pour les erreurs 429 (rate limit) et 500 (erreur serveur Meta).

Personnalisation Avancée : Au-delà du Prénom

Personnalisation par comportement d'achat : Segmentez avant d'envoyer et personnalisez les variables selon le profil du contact :

function getPersonalizedParams(customer) {
  // Logique de personnalisation selon le profil
  if (customer.totalOrders > 10) {
    return {
      segment: 'fidèle',
      discount: '25',
      message: 'En tant que client VIP'
    };
  } else if (customer.daysSinceLastOrder > 60) {
    return {
      segment: 'dormant',
      discount: '20',
      message: 'Vous nous manquez'
    };
  } else {
    return {
      segment: 'actif',
      discount: '15',
      message: 'Pour notre client fidèle'
    };
  }
}

Personnalisation de l'URL de bouton : L'URL dans un bouton CTA peut contenir une variable permettant de créer des liens uniques par destinataire (pour le tracking ou les liens personnalisés) :

{
  "type": "BUTTONS",
  "buttons": [
    {
      "type": "URL",
      "text": "Mon espace personnel",
      "url": "https://app.exemple.com/espace/{{1}}"
    }
  ]
}

Lors de l'envoi, fournissez le token unique dans les paramètres du bouton.

Pour créer des templates avec des variables bien structurées, consultez notre guide Créer un template HSM WhatsApp et l'article général sur les templates de messages WhatsApp. Pour la segmentation des audiences, lisez notre guide Segmentation audience WhatsApp.

Limites des Variables et Comment les Contourner

Limite de 1 variable dans les headers texte : Si vous avez besoin de plusieurs informations dans le header, combinez-les dans une seule variable : "NomMarque - NuméroCommande" comme valeur d'une seule variable.

Pas de HTML ou formatage conditionnel : WhatsApp supporte le gras (*texte*), l'italique (_texte_), et le monospace (``` texte ```), mais pas le formatage conditionnel dans les templates. Pour les messages conditionnels (ex: message différent si VIP ou non), créez deux templates distincts.

Longueur des variables : Meta n'impose pas de limite stricte sur la longueur des valeurs de variable, mais des textes très longs peuvent rendre le message peu lisible. Recommandation : gardez chaque valeur de variable sous 100 caractères.

FAQ — Variables Dynamiques Templates WhatsApp

Peut-on avoir plus de 10 variables dans un template ? Meta ne définit pas de limite stricte sur le nombre de variables. En pratique, les templates avec plus de 8-10 variables sont difficiles à maintenir et à personnaliser correctement. Au-delà de ce seuil, considérez de diviser le contenu en plusieurs messages ou d'utiliser un template carousel.

Les variables peuvent-elles contenir des emojis ? Oui. Les valeurs de variables peuvent contenir des emojis. Testez bien l'affichage sur différents appareils Android et iOS car le rendu des emojis varie selon la plateforme.

Comment gérer le cas où la valeur d'une variable est manquante dans la base de données ? Implémentez toujours une valeur par défaut pour chaque variable. Si le prénom d'un contact est manquant, utilisez "Cher client" plutôt que d'envoyer "Bonjour ," (espace vide). Un message bien formé avec une valeur par défaut est toujours préférable.

Peut-on utiliser les variables dans le footer du template ? Non. Le footer d'un template WhatsApp est du texte statique — les variables ne sont pas supportées dans le footer. Seuls le header et le body peuvent contenir des variables dynamiques.


Vous souhaitez personnaliser vos messages WhatsApp à grande échelle sans effort manuel ? Créez votre compte Whakup et utilisez notre système de personnalisation qui connecte votre CRM à vos templates WhatsApp pour des messages ultra-pertinents automatiques.

#variables template whatsapp#personnalisation message#dynamic variables#{{1}} {{2}} whatsapp
Pablo Lenormand
Pablo LenormandCo-fondateur & CPO

Co-fondateur et Chief Product Officer de Whakup, Pablo conçoit les fonctionnalités qui permettent aux marques africaines de maximiser leur impact sur WhatsApp.

Guides
🚀

Prêt à passer à l'action ?

Essayez Whakup gratuitement pendant 15 jours. Aucune carte bancaire requise.

Démarrer l'essai gratuit