Quand on parle d’emailing, on pense souvent aux taux d’ouverture, au CTR, à la créativité des objets. Mais dans mon quotidien, ce qui fait la différence entre une machine marketing rentable et une machine qui brûle du budget, ce sont… les bounces. C’est brutal, je sais, mais c’est vrai. Un bounce qui explose, c’est une chaîne de pertes : coûts d’envoi, réputation d’expéditeur qui s’érode, puis baisse des revenus. Et la spirale peut aller très vite.
Je le vois à chaque fois qu’un client arrive chez moi avec un “problème de délivrabilité” sans savoir ce qui se cache derrière. Ne pas comprendre la différence entre hard bounce et soft bounce, c’est piloter à vue. On prend les mauvaises décisions : on relance des adresses mortes, on coupe des segments vivants, on incrimine le contenu alors que c’est l’infrastructure, ou l’inverse. Résultat : on enrichit les blacklistes au lieu de générer des leads.
Pourquoi ce sujet est un enjeu business, pas juste technique ? Parce que les bounces sont un indicateur d’hygiène. Ils racontent la qualité de collecte, la maturité de votre stack d’envoi, la discipline de votre équipe marketing. Ils impactent vos marges (coûts d’envoi inutiles), vos prévisions (pipe commercial faussé) et votre réputation (qui, elle, détermine la capacité de vos emails à atteindre la boîte de réception demain).
Dans cet article, je vais au fond du sujet en passant en revu les différences hard vs soft, leurs causes typiques, quoi faire après coup, et surtout comment prévenir. Je m’appuie sur ce que je vois au quotidien, avec des cas réels qui m’ont appris où regarder et comment réagir.
Définition d’un hard bounce
Un hard bounce est un échec définitif de livraison. L’email ne pourra pas être remis à cette adresse même si vous réessayez. Dans la plupart des cas, on parle d’une adresse invalide (n’existe pas), d’un domaine inexistant, ou d’un blocage permanent lié à une politique (par exemple : destinataire inexistant chez ce domaine, adresse syntaxiquement cassée qui est passée à travers la collecte, etc.).
Techniquement, c’est souvent remonté par des codes d’erreur “permanents” (côté serveur, on évoque des familles 5xx). Je n’entre pas dans la taxonomie des codes ici, ce sera abordé dans l’article dédié aux erreurs SMTP, mais l’idée à retenir est simple : hard bounce = décision finale. Tant que vous n’avez pas une raison solide de croire que le diagnostic est faux (cas rare), vous devez traiter l’adresse comme non joignable.
Les conséquences opérationnelles sont claires :
- On ne réessaie pas d’envoyer sur cette adresse.
- On sort l’adresse des listes actives (suppression / mise en quarantaine permanente).
- On remonte à la source pour comprendre : collecte ? import ? script d’inscription ? jeu-concours ? partenaire ?
Ce que j’ai appris : beaucoup d’organisations sous-estiment l’effet boule-de-neige. Un taux de hard bounce qui grimpe de 0,5 % à 2 % n’a rien d’anodin. C’est le signe d’une fuite dans l’entonnoir, et ça se paie cash en réputation.
Définition d’un soft bounce
Un soft bounce est un échec temporaire. L’email n’a pas été remis cette fois-ci, mais un nouvel essai peut réussir. Les causes sont circonstancielles : boîte pleine, serveur destinataire momentanément indisponible, throttling (ralentissement), message temporairement refusé pour taille, attachement, ou mise en quarantaine le temps d’un contrôle supplémentaire.
Côté technique, on parle plutôt de familles 4xx (erreurs temporaires). Là encore, je garde les détails pour l’article dédié sur les différents codes d’erreur SMTP. Ce qui compte ici pour vous, c’est la stratégie de réessai et la temporisation : on ne s’affole pas au premier soft bounce, mais on ne laisse pas non plus tourner une boucle infinie qui fatigue vos IPs et vos domaines.
Ma règle ultime (qui a fait ses preuves) :
- Réessayer avec backoff (ex. à 15 min, puis 1 h, puis 4 h…).
- Limiter le nombre de tentatives (3 à 5 selon la criticité du message).
- Requalifier après plusieurs soft bounces : si une adresse accumule des soft bounces pendant plusieurs campagnes, elle doit sortir de la cible active.
Causes fréquentes de chaque type
Hard bounce : les causes typiques
- Adresse inexistante (user unknown)
La boîte n’existe pas ou n’existe plus. J’ai souvent vu ça après un import CRM ancien, sans nettoyage. - Domaine inexistant (NXDOMAIN)
Erreur DNS : le domaine de l’adresse n’est pas résolu. Typique des fautes de frappe dans le champ email (gmial.com…). - Adresse syntaxiquement invalide
Un “;” à la place d’un “@”, un espace non filtré… Cela devrait être stoppé dès la collecte, mais je vois encore des formulaires trop permissifs. - Blocage politique permanent
Certains domaines rejettent définitivement des formats d’adresse (role-based type info@) ou des expéditeurs non conformes à leurs politiques. Selon les ESP, c’est classé hard. - Suppression list / Interdiction côté ESP
L’adresse est dans une liste de suppression globale (ex. un précédent hard bounce confirmé). Tout nouvel envoi vers elle déclenche un hard bounce immédiat. - Alias supprimé / Compte fermé
Très fréquent en B2B lors de turn-over : la personne quitte l’entreprise, l’adresse est fermée, et boum, hard bounce.
Soft bounce : les causes typiques
- Boîte pleine (mailbox full)
Classique chez des boîtes personnelles peu entretenues. Le lendemain, ça peut passer si la personne fait du ménage. - Serveur destinataire indisponible ou en maintenance
Le domaine répond, mais pas maintenant. Dans mes logs, ça se voit par vagues à des heures bien précises. - Throttling / Rate limiting
Le serveur de destination limite la cadence d’emails entrants. Si vous ralentissez, ça passe. - Message trop volumineux
Pièces jointes lourdes, images non optimisées. C’est souvent un soft bounce… jusqu’à ce que votre équipe adapte le gabarit. - Greylisting
Le serveur destinataire demande une nouvelle tentative pour vérifier que vous êtes un expéditeur légitime. Le deuxième essai passe généralement. - Problèmes DNS temporaires
Une micro-panne de résolution pour votre SPF/DKIM/DMARC, un TTL mal réglé… et ça repart tout seul une heure plus tard. - Filtrage temporaire
Le message est mis en quarantaine le temps d’une vérification côté destinataire, sans condamnation définitive.
Comment réagir face à un hard bounce
Voici ma procédure éprouvée sur des bases de toutes tailles :
- Mettre l’adresse en suppression immédiate
Pas de réessai. Pas de “peut-être que la prochaine passera”. Un hard bounce doit geler cette adresse dans votre système. - Normaliser le motif de bounce
Chaque outil a son wording. Je mappe tout vers une taxonomie interne (ex.user_unknown
,domain_not_found
,policy_block
). Ça m’évite de m’arracher les cheveux. - Tracer la source d’acquisition
D’où vient cette adresse ? Formulaire site ? Partenaire ? Salon ? Import CRM ? Quand j’ai un pic de hard, je corrèle par source, par jour, par campagne. Ne corrigez pas à l’aveugle. - Auditer la collecte
- Validation front (syntaxe, domaine).
- Vérification en temps réel.
- Double opt-in si l’usage et la législation le permettent.
- Captcha ou équivalent contre le spam bot.
- Purger l’historique si besoin
Si l’origine est un import ancien ou un partenaire douteux, je préfère couper large. Rien ne ruine plus une courbe que des envois persistants vers des adresses mortes. - Exceptions maîtrisées, et rares
Il m’est arrivé une poignée de fois de réactiver une adresse taguée hard après diagnostic (ex. faux positif d’un filtre agressif). C’est l’exception, jamais la règle. Documenter, tester en solo, puis décider. - Feedback aux équipes
Partagez les chiffres et les causes avec marketing / produit. Un hard bounce parle souvent d’UX (formulaire), d’offres (jeu-concours attirant des emails jetables), ou de process (import non nettoyé).
Comment gérer un soft bounce
Le soft bounce demande de la nuance. Voici ma méthode, simple et efficace :
- Mettre en place un backoff intelligent
Je fais 3 à 5 tentatives réparties (ex. T0 +15 min, +1 h, +4 h, +12 h, +24 h). Pas plus. Chaque tentative logue le motif exact. - Réduire la cadence si le domaine nous ralentit
Si je vois du throttling, je baisse la vitesse sur ce domaine, pas globalement. Les throttles sont souvent spécifiques (ex. un grand FAI, Orange, Yahoo…). - Adapter le gabarit si le message est trop lourd
Je bannis les pièces jointes lourdes. On héberge, on compresse, on supprime le superflu. Un soft bounce “message too large” ne doit jamais se reproduire plus d’une fois. - Surveiller l’infrastructure
Une panne DNS fugace arrive. Je garde des alertes basiques sur SPF/DKIM/DMARC, DNS, latence SMTP. Si la sonnette sonne, je gèle temporairement l’envoi et je corrige. - Poser un seuil de bascule
Après X soft bounces consécutifs (par exemple 3 campagnes), je désactive l’adresse. Si la boîte de la personne est pleine depuis un mois, continuer est contre-productif. - Segmenter par domaine
Certains domaines ont des politiques strictes. Je crée parfois un profil d’envoi par domaine (cadence, taille, heures). Oui, c’est plus fin, mais c’est rentable. - Communiquer avec le support interne
Un pic de soft bounces peut cacher une régression (ex. un CDN qui sert mal les images, un clic-tracking cassé). Je boucle tout le monde rapidement.
Récapitulatif des différences
Critère | Hard bounce | Soft bounce |
---|---|---|
Nature de l’erreur | Définitive | Temporaire |
Réessai | Non, sauf exception documentée | Oui, avec backoff et limite |
Exemples typiques | Adresse inexistante, domaine invalide, blocage politique permanent, suppression list | Boîte pleine, serveur indisponible, throttling, message trop gros, greylisting |
Action immédiate | Mettre l’adresse en suppression, analyser la source | Relancer selon plan de retry, diagnostiquer le motif, ajuster cadence/poids |
Horizon de résolution | Par correction de la collecte ou de la source | Par ajustement opérationnel (cadence, timing, taille) ou résolution côté destinataire |
Indicateur | Hygiène de base, qualité de collecte | Elasticité du système, robustesse infra, respect des politiques des domaines |
Risque si ignoré | Dégradation rapide de la réputation, gaspillage de budget | Surconsommation de ressources, ralentissements, signaux négatifs si on insiste |
Décision sur l’adresse | Retrait durable | Retrait si accumulation de soft bounces dans le temps |
Qui doit agir en priorité | Marketing (collecte), Produit (UX), Growth (partenariats), Data | Ops emailing, Marketing (gabarits), Infra (DNS/SMTP) |
Solutions pour éviter les deux
Voici ce que je mets en place systématiquement quand je prends en main un compte. C’est une checklist de prévention, concrète et actionnable.
1. Durcir la collecte à la source
- Validation côté formulaire
Vérification instantanée de la syntaxe (RFC), du MX (domaine capable de recevoir du mail), et des typos courantes (gmail vs gmial). - Vérification en temps réel
Avant d’ajouter l’adresse à la base, je lance une vérification non intrusive (sans envoyer d’email), avec un score de risque. Ça évite d’emmagasiner des adresses mortes qui deviendront des hard bounces demain. - Double opt-in là où pertinent
Oui, on perd quelques opt-ins, mais ce qu’on gagne en qualité et en réputation est incomparable, surtout à long terme. - Anti-bots
Un captcha soft, un honeypot invisible, des contrôles de vitesse d’inscription. Les bots raffolent des formulaires laxistes.
2. Hygiène continue de la base
- Nettoyage périodique
Les bases vieillissent. Je programme un nettoyage trimestriel minimum, avec revalidation d’un échantillon ou de segments inactifs. - Politique “sunset”
Sans empiéter sur l’article “impact & blacklistage”, je souligne : retirer progressivement les inactifs chroniques réduit les soft bounces et stabilise l’écosystème. - Suppression automatique post-hard bounce
Zéro tolérance : un hard bounce = sortie immédiate (avec journalisation de la cause et de la source).
3. Gabarits et poids des messages
- Taille maîtrisée
J’évite les pièces jointes ; je préfère des liens. Images optimisées, pas d’énormes GIFs. - Version texte propre
Une version texte nette rassure certains filtres et améliore la robustesse. - Harmonisation du tracking
Un tracking mal implémenté peut déclencher des comportements côté destination (temporisations). Je garde des liens propres, pas 7 redirections.
4. Cadence et orchestration des envois
- Warm-up mesuré des nouveaux domaines/IP
Sans entrer dans la technique fine (gérée ailleurs), j’insiste : commencer petit, augmenter progressivement la volumétrie. - Cadence par domaine
Quand mon monitoring me montre du throttling chez un FAI, j’applique un plafond spécifique à ce domaine. - Fenêtres d’envoi
Certains domaines sont plus “ouverts” à certaines heures. Tester et caler ses envois peut réduire les soft bounces.
5. Infrastructure et authentification
- SPF, DKIM, DMARC alignés
Alignement cohérent entre domaine d’envoi et signatures. Les micro-pannes DNS créent du soft bounce ; on les prévient avec des TTL pertinents et une surveillance minimale. - PTR/HELO corrects
La carte d’identité de votre serveur doit être impeccable. - Redondance légère
Avoir une voie de repli en cas de panne ponctuelle (file d’attente, bascule) évite les vagues de soft bounces.
6. Process de traitement des bounces
- Normalisation des motifs
Je mappe les retours de chaque ESP à une grammaire interne. Exemple :user_unknown
→ hard ;mailbox_full
→ soft ;throttled
→ soft ;policy_block
→ selon libellé, souvent hard. - Seuils et automatisations
- Hard : suppression immédiate.
- Soft : 3–5 tentatives, puis gel si récurrence multi-campagnes.
- Tableau de bord par domaine et par source
Voir le bounce rate global ne suffit pas. Je veux le bounce rate par domaine (gmail, outlook, yahoo, domaines B2B clés) et par source d’acquisition. C’est là que les patterns apparaissent.
7. Documentation et formation
- Playbooks internes
Documenter “quoi faire” après un hard ou un soft. N’importe qui dans l’équipe doit savoir réagir. - Feedback boucle courte
Quand j’observe un pic, je remonte l’info à la collecte/produit dans la semaine, pas le trimestre suivant. - KPIs réalistes
Fixer des seuils-cibles de hard et soft bounces par typologie de campagne : acquisition, nurturing, transactionnel… On ne compare pas des poires et des pommes.
Quelques cas vécus, et ce qu’ils m’ont appris…
- Le pic invisible
Un client B2B voyait un hard bounce “stable” à 0,7 %. En le décomposant par source, on a trouvé un partenaire événementiel qui envoyait 4 % d’adresses invalides. Le reste de la base était propre. Morale : toujours regarder par source avant de blâmer la base entière. - Le lundi trop lourd
Une newsletter très visuelle passait à 1,2 % de soft bounces seulement le lundi matin. En réduisant le poids moyen des images de 40 % et en décaler l’envoi à 10h30 plutôt que 8h30, on est tombés à 0,3 %. Parfois, ce n’est ni la base ni l’infra : c’est le timing et le poids. - Le faux “user unknown”
Rare, mais ça arrive : un domaine B2B surfiltrait et renvoyait un message ambigu classé hard par l’ESP. Test isolé depuis un autre pool + échange rapide avec l’admin du domaine → adresse rétablie. J’ai appris à garder une porte ouverte aux exceptions, mais à les documenter.
5 exemples pour prendre des décisions rapides
- Hard bounce détecté ?
→ Supprimer l’adresse, tracer la source, corriger la collecte. - Soft bounce de boîte pleine ?
→ Retenter (backoff), puis geler si récurrent. - Soft bounce de throttling ?
→ Baisser la cadence pour ce domaine. - Soft bounce pour message trop volumineux ?
→ Alléger immédiatement le gabarit. - Pic soudain (hard + soft) ?
→ Stopper la campagne, vérifier DNS/authentifications, logs d’erreur, puis reprendre par paliers.
Ce qu’il ne faut surtout pas faire
- Relancer une adresse hard bouncée “pour voir”
C’est le meilleur moyen de dégrader votre réputation. - Appliquer une seule cadence à tous les domaines
Les politiques varient ; adaptez-vous. - Laisser le marketing seul gérer les bounces
C’est un sport d’équipe : marketing, ops, produit, data. - Ignorer la provenance des adresses
La prévention commence avant l’envoi.
La solution BounceStrike
Si vous voulez réduire durablement vos hard et soft bounces sans transformer votre équipe en brigade SMTP, c’est exactement pour ça que j’ai construit BounceStrike et son moteur de vérification Predator™ v2.
Concrètement, voilà ce que j’utilise moi-même au quotidien :
- Vérification en temps réel à l’inscription (API ou widget) : on bloque les adresses invalides avant qu’elles n’entrent en base (détection d’adresses inexistantes, domaines NX, role-based à risque selon votre politique, services jetables, typos fréquentes).
- Détection des catch-all plus fine : au lieu de blacklister tout un domaine “catch-all”, Predator™ v2 évalue le risque de délivrabilité posture par posture.
- Nettoyage par lots pour vos imports CRM : vous chargez un CSV, vous récupérez un fichier enrichi (valide, risqué, invalide, motif normalisé).
- Normalisation universelle des bounces : quelle que soit votre ESP, on mappe les retours vers une grammaire unique pour des décisions claires (hard vs soft, motif, prochaine action).
- Intégration simple : API prête à l’emploi pour toutes les solutions.
- Conformité et sécurité : traitement RGPD des données, conçu pour respecter les contraintes françaises et européennes.
Les résultat est visible immédiatement : moins d’adresses mortes qui deviennent des hard bounces, moins de soft bounces liés à des boîtes encombrées ou des domaines tatillons (grâce à une cadence et une taille de message mieux pilotées), et surtout une équipe qui décide vite parce que les signaux sont clairs.
Si vous voulez qu’on passe votre stack au crible (collecte, base, gabarits, cadence), je peux vous partager un plan d’action en 48 h et activer les vérifications en moins d’une journée. Testez BounceStrike sur un échantillon de votre base : vous verrez immédiatement où se logent les bounces de demain, et comment les neutraliser aujourd’hui.
La différence hard vs soft bounce n’est pas un détail sémantique : c’est la frontière entre le correctif structurel(collecte, hygiène, sources) et l’ajustement opérationnel (retry, cadence, poids, timing). La bonne nouvelle, c’est qu’avec une taxonomie claire, des règles simples, et les bons outils, on reprend la main très vite.
Je résume ce que je fais systématiquement :
- Je normalise les motifs de bounce.
- Je tranche : hard (suppression directe) vs soft (retry limité et intelligent).
- Je remonte aux causes (source d’acquisition, gabarit, domaine, infra).
- Je préviens en durcissant la collecte et en nettoyant régulièrement.
- Je mesure par domaine, par source, et j’aligne l’équipe sur des seuils clairs.
C’est simple à dire, moins simple à faire au quotidien. Mais c’est faisable. Et les gains sont spectaculaires : coûts d’envoi en baisse, réputation stabilisée, revenus plus prévisibles. Si vous voulez accélérer la mise en place, BounceStrike est là pour ça.