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 softleurs causes typiquesquoi 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

  1. 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.
  2. 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…).
  3. 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.
  4. 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.
  5. 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.
  6. 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

  1. 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.
  2. 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.
  3. Throttling / Rate limiting
    Le serveur de destination limite la cadence d’emails entrants. Si vous ralentissez, ça passe.
  4. 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.
  5. 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.
  6. 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.
  7. 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 :

  1. 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.
  2. 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.
  3. 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 sourcepar jourpar campagne. Ne corrigez pas à l’aveugle.
  4. 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.
  5. 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.
  6. 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.
  7. 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 :

  1. 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.
  2. 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…).
  3. 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.
  4. 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.
  5. 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.
  6. 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.
  7. 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èreHard bounceSoft bounce
Nature de l’erreurDéfinitiveTemporaire
RéessaiNon, sauf exception documentéeOui, avec backoff et limite
Exemples typiquesAdresse inexistante, domaine invalide, blocage politique permanent, suppression listBoîte pleine, serveur indisponible, throttling, message trop gros, greylisting
Action immédiateMettre l’adresse en suppression, analyser la sourceRelancer selon plan de retry, diagnostiquer le motif, ajuster cadence/poids
Horizon de résolutionPar correction de la collecte ou de la sourcePar ajustement opérationnel (cadence, timing, taille) ou résolution côté destinataire
IndicateurHygiène de base, qualité de collecteElasticité du système, robustesse infra, respect des politiques des domaines
Risque si ignoréDégradation rapide de la réputation, gaspillage de budgetSurconsommation de ressources, ralentissements, signaux négatifs si on insiste
Décision sur l’adresseRetrait durableRetrait si accumulation de soft bounces dans le temps
Qui doit agir en prioritéMarketing (collecte), Produit (UX), Growth (partenariats), DataOps 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 :

  1. Je normalise les motifs de bounce.
  2. Je tranche : hard (suppression directe) vs soft (retry limité et intelligent).
  3. Je remonte aux causes (source d’acquisition, gabarit, domaine, infra).
  4. Je préviens en durcissant la collecte et en nettoyant régulièrement.
  5. 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.