Bêta privéeMailbeam est en bêta privée : l'API publique n'est pas encore ouverte.Rejoindre la liste d'attente

Mailbeam
DélivrabilitéPar The Mailbeam Team8 min de lecture5 juin 2025

Comment réduire votre taux de bounce : guide technique

Un taux de bounce de 2 % a l'air minuscule. Il ne l'est pas. Les fournisseurs comme Gmail et Microsoft suivent ce taux au niveau du domaine et de l'adresse IP. Franchissez les seuils qu'ils appliquent en interne — typiquement 1 à 2 % pour un expéditeur à froid — et vos e-mails suivants partent en spam, ou cessent d'être remis. Google Postmaster Tools rend cela visible ; la plupart des expéditeurs ne le consultent qu'une fois qu'il est trop tard.

Ce guide explique ce qui provoque les bounces, comment les mesurer et quoi faire avant qu'ils ne s'accumulent.

Hard bounces et soft bounces

Tous les bounces ne se valent pas.

Les hard bounces sont des échecs définitifs. Le serveur de destination a répondu par une erreur 5xx qui signifie « cette adresse n'existe pas et n'existera jamais ». Codes SMTP courants :

  • 550 5.1.1 — la boîte n'existe pas
  • 550 5.1.2 — adresse de destination incorrecte
  • 551 5.1.1 — utilisateur non local, essayez une redirection

Un hard bounce doit être retiré de votre liste immédiatement et définitivement. Réécrire à cette adresse abîme votre réputation sans la moindre chance d'atteindre le destinataire.

Les soft bounces sont des échecs temporaires. L'adresse existe, mais le message n'a pas pu être remis maintenant. Causes fréquentes :

  • Boîte pleine (452 4.2.2)
  • Serveur momentanément indisponible (421 4.3.2)
  • Taille du message dépassée (552 5.3.4)

Un soft bounce est en général réessayé par votre prestataire d'envoi pendant 24 à 72 heures. Si le soft bounce persiste sur plusieurs envois, traitez-le comme un hard bounce.

Ce qui fait grimper le taux de bounce

1. Des listes anciennes ou achetées

Une liste se dégrade de 20 à 30 % par an. Un salarié part, sa boîte est supprimée. Une entreprise change de domaine. Un compte Gmail reste inactif et Google le récupère. Toute liste à laquelle vous n'avez pas écrit depuis six mois porte déjà une décrépitude sensible.

Les listes achetées sont pires. Elles contiennent souvent :

  • Des adresses moissonnées, jamais consenties
  • Des spam traps (des adresses entretenues par des organisations antispam précisément pour attraper les expéditeurs qui utilisent de mauvaises listes)
  • Des adresses qui n'existent plus depuis des années

Écrire à une liste achetée est l'un des moyens les plus rapides de faire blacklister votre domaine d'envoi.

2. Aucune validation à la collecte

Un formulaire d'inscription sans vérification accepte :

  • Les fautes de frappe (gmial.com, yahooo.com)
  • Les fausses adresses saisies pour accéder à un contenu réservé
  • Les e-mails jetables, qui expirent avant votre premier envoi
  • Les adresses fonctionnelles qui rejettent automatiquement le marketing (noreply@, bounce@)

Chacune devient un bounce, et votre taux monte à chaque envoi.

3. Des abonnés inactifs

Ceux qui se sont inscrits sans jamais interagir ne produisent pas forcément un hard bounce : leur boîte existe toujours. Mais des fournisseurs comme Gmail suivent l'engagement. Si une grande part de vos envois vers des adresses Gmail reste non lue ou est marquée comme spam, Gmail commencera à router votre courrier vers le dossier spam pour tout le monde.

4. Des problèmes de configuration

Un échec d'authentification peut provoquer des bounces avant même que le message n'atteigne la boîte de réception :

  • Enregistrement SPF absent ou incorrect
  • Signature DKIM qui ne correspond pas
  • Politique DMARC en reject avec une erreur de configuration
  • Envoi depuis une IP absente de votre enregistrement SPF

Ce sont des cas distincts des bounces liés à l'adresse, mais ils alimentent les mêmes problèmes de délivrabilité.

Comment mesurer votre taux de bounce

Depuis votre prestataire d'envoi

Tous les grands prestataires (Postmark, SendGrid, Mailgun, Amazon SES) publient les taux de bounce dans leur tableau de bord et leurs webhooks. Le chiffre déterminant est le taux de hard bounce par campagne, pas l'agrégat.

Une seule campagne à 5 % de bounce est un signal bien plus alarmant qu'un agrégat de 2 % sur douze mois.

Via Google Postmaster Tools

Postmaster Tools montre votre réputation pour le courrier envoyé vers des adresses Gmail : réputation du domaine, réputation de l'IP, taux de spam, erreurs de remise. C'est gratuit, et cela vous dit exactement ce que Google pense de votre domaine d'envoi.

Mettez-le en place avant d'avoir un problème. On ne débogue pas rétroactivement avec cet outil.

Via les codes de bounce SMTP

Si vous traitez les bounces vous-même, analysez les codes de réponse SMTP :

// Exemple : traitement des webhooks de bounce de Postmark
app.post("/webhooks/bounce", (req, res) => {
  const { Type, Email, Description } = req.body;

  if (Type === "HardBounce") {
    // retrait définitif — codes 5xx
    db.markEmailInvalid(Email, { reason: Description });
  } else if (Type === "SoftBounce") {
    // incrémente le compteur de soft bounces
    db.incrementSoftBounce(Email);
  }

  res.sendStatus(200);
});

// Mise en liste de suppression après 3 soft bounces
async function shouldSuppress(email: string): Promise<boolean> {
  const count = await db.getSoftBounceCount(email);
  return count >= 3;
}

Comment faire baisser votre taux de bounce

1. Vérifier les adresses à la collecte

La vérification en temps réel sur le formulaire d'inscription est l'intervention la plus efficace. Elle arrête les adresses invalides, jetables ou inexistantes avant qu'elles n'entrent dans votre liste.

// Point d'entrée d'inscription en Express.js
// Pas encore de SDK : voici le wrapper de 12 lignes de /docs/quickstart.
import { verifyEmail } from "./lib/mailbeam";

app.post("/api/signup", async (req, res) => {
  const { email } = req.body;

  const result = await verifyEmail(email);

  if (!result.valid) {
    return res.status(422).json({
      field: "email",
      error: result.suggestion
        ? `Vouliez-vous dire ${result.suggestion} ?`
        : "Cette adresse e-mail ne semble pas valide.",
    });
  }

  if (result.disposable) {
    return res.status(422).json({
      field: "email",
      error: "Les adresses e-mail temporaires ne sont pas acceptées.",
    });
  }

  // on peut créer le compte
  await createUser({ email });
  res.status(201).json({ ok: true });
});

À elle seule, cette mesure ramène en général le taux de bounce des nouvelles adresses sous 0,1 %.

2. Nettoyer la liste existante avant un envoi important

Avant d'écrire à une liste dormante depuis trois mois ou plus, lancez une vérification par lots :

async function cleanList(emails) {
  const auth = { Authorization: `Bearer ${process.env.MAILBEAM_KEY}` };

  // Envoie la liste ; la réponse est un identifiant de tâche, pas les résultats.
  const job = await fetch("https://api.mailbeam.dev/v1/verify/batch", {
    method: "POST",
    headers: { ...auth, "Content-Type": "application/json" },
    body: JSON.stringify({ emails }),
  }).then((r) => r.json());

  // Attends le webhook batch.completed, ou interroge /v1/jobs/:id jusqu'à la fin.
  const { results } = await fetch(
    `https://api.mailbeam.dev/v1/jobs/${job.job_id}/results?format=json`,
    { headers: auth }
  ).then((r) => r.json());

  return {
    deliverable: results.filter((r) => r.status === "deliverable" && r.score >= 70).map((r) => r.email),
    risky:       results.filter((r) => r.status === "risky").map((r) => r.email),
    invalid:     results.filter((r) => r.status === "undeliverable").map((r) => r.email),
    unknown:     results.filter((r) => r.status === "unknown").map((r) => r.email),
  };
}

Pour de la prospection à froid, n'écrivez qu'aux deliverable. Pour des abonnés engagés, vous pouvez inclure les risky : ils ont déjà une relation avec votre marque.

3. Tenir une liste de suppression

Dès qu'une adresse produit un hard bounce, mettez-la en suppression, immédiatement et définitivement. Ne lui écrivez plus jamais, même si elle réapparaît dans un nouvel import.

// Contrôle la suppression avant l'envoi
async function canSend(email: string): Promise<boolean> {
  const suppressed = await db.isSuppressed(email);
  return !suppressed;
}

// Ajoute à la suppression au webhook de hard bounce
async function handleHardBounce(email: string) {
  await db.addToSuppression(email, { suppressedAt: new Date() });
}

La plupart des prestataires d'envoi tiennent une liste de suppression pour vous. L'erreur consiste à ne pas la propager entre vos différents canaux d'envoi.

4. Une campagne de réengagement avant les envois complets

Pour les listes où des abonnés n'ont rien ouvert depuis six mois ou plus, commencez par une campagne de réengagement. N'écrivez qu'à ce segment, avec un objet explicite (« Vous voulez toujours de nos nouvelles ? »). Retirez tous ceux qui ne réagissent pas.

Cela réduit le volume envoyé à des adresses douteuses sans perdre les gens qui, simplement, n'ont pas ouvert récemment.

5. Réparer votre authentification

Faites ces vérifications :

# Vérifie l'enregistrement SPF
dig TXT yourdomain.com | grep spf

# Vérifie DKIM (remplacez le sélecteur par le vôtre, p. ex. 'google', 'mail', 's1')
dig TXT selector._domainkey.yourdomain.com

# Vérifie DMARC
dig TXT _dmarc.yourdomain.com

Si l'une d'elles ne renvoie rien, vous avez un trou dans votre authentification. Gmail et Yahoo exigent désormais l'alignement SPF et DKIM pour les expéditeurs en volume, et la politique DMARC est appliquée de plus en plus strictement.

Taux de bounce à viser

ContexteTaux de hard bounce acceptable
Transactionnel (reçus, alertes)< 0,5 %
Marketing vers une liste consentante< 1 %
Prospection à froid< 0,5 % (au-delà, les prestataires suspendent le compte)
Campagne de réengagement< 2 % (mais nettoyez la liste ensuite)

Que faire si votre taux est déjà élevé

  1. Arrêtez d'envoyer sur-le-champ : continuer aggrave les dégâts
  2. Consultez Postmaster Tools : mesurez ce que Google pense déjà de votre domaine
  3. Vérifiez votre liste actuelle : repérez et retirez toutes les adresses invalides
  4. Remontez progressivement en volume : commencez par votre segment le plus engagé, puis élargissez
  5. Surveillez chaque jour : traitez les bounces par webhook pour attraper les nouveaux hard bounces avant qu'ils ne s'accumulent

En résumé

Le taux de bounce est un indicateur retardé : le temps que vous remarquiez qu'il est élevé, l'atteinte à votre réputation est déjà en cours. La prévention se joue en amont :

  • Vérifier les adresses au moment de la collecte
  • Nettoyer les listes avant chaque envoi important
  • Mettre les hard bounces en suppression immédiatement
  • Surveiller la configuration d'authentification

Chacun de ces points est une mise en place unique qui tourne ensuite indéfiniment. L'alternative, c'est d'éteindre des incendies à mesure que votre délivrabilité se dégrade.

Prochaines étapes