Formules
Créer des calculs et scorings automatiques dans Clay
⏱️ En bref : Les formules Clay sont proches d'Excel/Google Sheets avec quelques spécificités. Maîtrisez IF, CONCAT, SEARCH, et le scoring conditionnel pour automatiser la qualification de prospects.
À quoi servent les formules dans Clay ?
Dans un tableur classique, vous utilisez des formules pour faire des calculs (somme, moyenne, etc.). Dans Clay, les formules ont un rôle différent mais crucial : transformer des données brutes en décisions automatisées.
Exemples concrets que j'utilise chez mes clients :
- Calculer un score de qualification (0 à 10) basé sur 5 critères
- Concaténer nom + prénom + entreprise pour créer un identifiant unique
- Filtrer les prospects selon des conditions complexes (taille ET secteur ET poste)
- Catégoriser automatiquement (Hot / Warm / Cold) selon les données enrichies
La syntaxe de base : proche d'Excel
Si vous connaissez Excel ou Google Sheets, vous serez en terrain connu. Les formules Clay utilisent :
- Le signe
=pour démarrer une formule - Les références aux colonnes entre
{{accolades}} - Les fonctions standards :
IF(),CONCAT(),SEARCH(),LENGTH() - Les opérateurs classiques :
+ - * /et> < = !=
💡 Exemple de base
Formule : =CONCAT({{first_name}}, " ", {{last_name}})
Résultat : "Paul Cazalet" à partir des colonnes first_name et last_name.
Les 10 fonctions indispensables
IF(condition, valeur_si_vrai, valeur_si_faux)— logique conditionnelleAND(cond1, cond2, ...)— toutes les conditions doivent être vraiesOR(cond1, cond2, ...)— au moins une condition vraieCONCAT(val1, val2, ...)— concaténer des chaînesLENGTH(texte)— longueur d'une chaîneSEARCH(mot, texte)— trouver une sous-chaîneLOWER(texte)/UPPER(texte)— changer la casseTRIM(texte)— enlever les espaces superflusTO_NUMBER(texte)— convertir en nombreSPLIT(texte, séparateur)— découper en array
Cas d'usage 1 — Scoring de leads automatique
Le use-case le plus utile. Objectif : attribuer un score de 0 à 10 à chaque prospect selon plusieurs critères.
📊 Formule de scoring complète
=IF({{company_size}} > 50, 3, IF({{company_size}} > 20, 2, 1)) + IF(SEARCH("directeur", LOWER({{job_title}})) > 0, 3, IF(SEARCH("manager", LOWER({{job_title}})) > 0, 2, 1)) + IF({{has_email}} = "true", 2, 0) + IF({{last_funding_date}} > "2024-01-01", 2, 0)
Cette formule donne un score entre 1 et 10 basé sur : taille entreprise, niveau du poste, présence d'email vérifié, et fraîcheur de la dernière levée de fonds.
Cas d'usage 2 — Catégorisation automatique
Une fois le score calculé, vous pouvez le transformer en catégorie lisible :
=IF({{score}} >= 8, "🔥 Hot", IF({{score}} >= 5, "🌡️ Warm", "❄️ Cold"))
Résultat : une colonne qui affiche automatiquement "Hot", "Warm" ou "Cold" selon le score. Visuellement très parlant pour votre équipe commerciale.
Cas d'usage 3 — Nettoyage de données
Les données enrichies contiennent souvent des imperfections (casse incohérente, espaces superflus, formats mélangés). Les formules nettoient ça automatiquement :
=TRIM(LOWER({{email}})): email en minuscules sans espaces=CONCAT(UPPER(LEFT({{first_name}}, 1)), LOWER(SUBSTR({{first_name}}, 2))): prénom avec première lettre en majuscule=IF(SEARCH("@", {{email}}) > 0, "valide", "invalide"): vérif format email
Cas d'usage 4 — Logique conditionnelle complexe
Pour des règles business plus avancées, vous pouvez nester des IF :
=IF(AND({{company_size}} > 50, SEARCH("CEO", {{job_title}}) > 0), "Top priorité", IF({{score}} > 7, "À contacter", "En attente"))
Traduit en français : "Si entreprise > 50 personnes ET poste = CEO, alors Top priorité. Sinon, si score > 7, alors À contacter. Sinon, En attente."
Les bonnes pratiques pour ne pas vous perdre
⚠️ 5 règles pour garder des formules maintenables
1. Nommez vos colonnes clairement ({{score}} vs {{col_42}}).
2. Décomposez les formules complexes en colonnes intermédiaires.
3. Documentez les formules critiques (champ "description" dans la colonne).
4. Testez sur 10 lignes avant de déployer sur 1000.
5. Utilisez des formules pour la logique, pas pour remplacer l'IA (IA vs automatisation simple).
Erreurs courantes et comment les debug
Quand une formule ne marche pas, voici ce qu'il faut vérifier :
- #ERROR! : syntaxe invalide, souvent une parenthèse mal placée
- Cellule vide : une colonne source est null, utilisez
IF({{col}} = null, "default", ...) - Résultat incorrect : votre condition a un bug logique, testez chaque IF isolément
- Type mismatch : vous comparez du texte avec un nombre, utilisez TO_NUMBER()
Quand ne pas utiliser de formule
Les formules ont leurs limites. N'essayez pas de faire avec une formule ce que ces outils font mieux :
- Logique très complexe (30+ conditions) : utilisez plutôt Clay AI pour comprendre le contexte
- Appels à des APIs externes : c'est le rôle des colonnes d'enrichissement, pas des formules
- Génération de texte créatif : Clay AI, pas les formules
- Parsing de HTML ou de pages web : module scraping, pas formules
Ce que vous devez faire maintenant
- Créer votre première formule de scoring avec 3 critères
- Ajouter une colonne de catégorisation (Hot/Warm/Cold)
- Tester sur un échantillon et ajuster les seuils
- Passer au chapitre workflows pour automatiser