SPF, DKIM et DMARC pour Klaviyo.
Klaviyo authentifie votre domaine via un domaine d'envoi de marque (son nom actuel pour ce qu'on appelait auparavant un domaine d'envoi dédié), configuré sous Settings puis Domains — et non en collant une ligne SPF partagée. Vous choisissez un sous-domaine d'envoi (Klaviyo suggère send.yourdomain.com) et vous le déléguez à Klaviyo, soit avec quatre enregistrements NS (Dynamic routing, recommandé), soit avec trois enregistrements CNAME (Static routing). Cette délégation prend en charge pour vous SPF et DKIM à rotation automatique, si bien qu'une fois les enregistrements vérifiés et après avoir cliqué sur Activate, Klaviyo envoie sous votre propre domaine : la mention « via klaviyomail.com » disparaît, SPF et DKIM s'alignent, et DMARC peut passer.
Pourquoi authentifier Klaviyo ?
Configurer un domaine d'envoi de marque dans Klaviyo n'a rien de cosmétique — cela détermine si vos campagnes atteignent ou non la boîte de réception. Par défaut, Klaviyo vous place sur une IP partagée et sur son domaine partagé klaviyomail.com, si bien que les destinataires Gmail voient littéralement « via klaviyomail.com » à côté de votre nom, votre adresse d'expéditeur (From) ne s'aligne pas, DMARC ne peut pas passer, et votre réputation est mutualisée avec tous les autres expéditeurs non authentifiés de cette infrastructure partagée. Depuis février 2024, Gmail et Yahoo exigent de chaque expéditeur en masse (environ 5 000 messages par jour et plus) qu'il passe SPF, DKIM et DMARC avec alignement, et Microsoft a commencé à appliquer les mêmes règles sur les domaines Outlook/Hotmail en 2025 — en plaçant d'abord en indésirable, puis en rejetant, les envois en masse non conformes. Un domaine d'envoi de marque corrige tout cela d'un seul geste : SPF et DKIM s'alignent tous deux sur votre domaine, la mention « via » disparaît, DMARC passe, et la réputation d'envoi que vous construisez s'accumule sur votre propre domaine plutôt que dans le pool partagé de Klaviyo. Klaviyo lui-même incite désormais la plupart des comptes à en ajouter un, précisément pour cette raison.
La réalité SPF pour Klaviyo
Klaviyo est un fournisseur d'authentification de domaine basé sur la délégation (CNAME/NS), il n'y a donc AUCUN « include:klaviyo... » à ajouter à votre SPF racine — pour personne. Lorsque vous configurez un domaine d'envoi de marque, Klaviyo authentifie sur un sous-domaine d'envoi dédié (il suggère send.yourdomain.com), et la façon dont SPF est satisfait dépend de la méthode de routage que vous choisissez. Avec Dynamic routing (recommandé), vous publiez quatre enregistrements NS qui confient l'intégralité du sous-domaine send.yourdomain.com aux serveurs de noms de Klaviyo (ns1 à ns4.klaviyo.com) ; Klaviyo publie ensuite les enregistrements SPF et DKIM à l'intérieur de cette zone déléguée elle-même, si bien que vous n'ajoutez rien d'autre et que Klaviyo peut faire tourner les clés et changer d'IP d'envoi sans que vous ne touchiez jamais au DNS. Avec Static routing, vous ajoutez à la place un CNAME (send.yourdomain.com vers 1.klaviyodns.com) qui devient l'hôte d'enveloppe/Return-Path — parce qu'il se résout dans l'espace autorisé par le SPF de Klaviyo, SPF y est satisfait sur le sous-domaine, là encore sans include racine. Klaviyo ne vous fournit explicitement pas de ligne v=spf1 pour votre domaine racine ; le seul TXT qu'il vous donne (klaviyo-site-verification=your-public-API-key) sert à vérifier la propriété du domaine, ce n'est pas du SPF. DMARC passe toujours grâce à l'alignement relâché (relaxed) : le sous-domaine d'envoi partage votre domaine organisationnel, donc SPF s'aligne, et DKIM signe avec votre domaine (les sélecteurs km se trouvent à km1._domainkey.yourdomain.com). En résumé : aucun include SPF partagé, zéro requête DNS ajoutée à votre SPF racine ; SPF et DKIM sont délégués sur le sous-domaine d'envoi, soit par délégation NS, soit par CNAME.
Deux façons de le configurer
Dynamic routing — délégation NS (recommandé)
- Quatre enregistrements NS confient votre sous-domaine send.yourdomain.com à Klaviyo (ns1 à ns4.klaviyo.com) ; Klaviyo publie SPF et DKIM à l'intérieur de cette zone déléguée pour vous
- Klaviyo choisit dynamiquement le fournisseur/l'IP d'envoi le plus performant pour chaque message, ce qui, selon Klaviyo, offre la meilleure délivrabilité
- Les clés tournent et l'infrastructure d'envoi change sans que vous ne remaniiez jamais le DNS
- N'ajoute aucune requête à votre SPF racine — il n'y a rien à y fusionner
Static routing — CNAME (solution de repli)
- Trois CNAME (send vers 1.klaviyodns.com, plus km1 et km2._domainkey vers km1/km2.domainkey.1.klaviyodns.com) vous fixent sur un hôte d'envoi Klaviyo statique
- À utiliser lorsque votre hébergeur DNS ne peut pas déléguer proprement un sous-domaine par enregistrement NS — le plus souvent Cloudflare et BigCommerce
- Les domaines Service (helpdesk) sur ce chemin nécessitent également un enregistrement MX pour le routage entrant
- Il s'agit toujours d'une authentification de domaine basée sur CNAME : pas d'include SPF racine, et DKIM tourne toujours automatiquement via les deux CNAME
Étape par étape
- 1
Ouvrez les paramètres Domains
Cliquez sur le nom de votre entreprise dans le coin inférieur gauche, choisissez Settings, ouvrez l'onglet Domains, puis cliquez sur Add Domain.
- 2
Choisissez le type d'envoi
Choisissez Marketing (par défaut — campagnes et flux), Transactional (reçus, réinitialisations de mot de passe) ou Service (réponses helpdesk). Cela définit les sélecteurs DKIM : km1/km2 pour Marketing, kt1/kt2 pour Transactional, ks1/ks2 pour Service.
- 3
Définissez le sous-domaine d'envoi
Saisissez le sous-domaine à marquer — Klaviyo suggère « send », ce qui donne send.yourdomain.com. Gardez-le en tant que sous-domaine, pas votre domaine racine nu.
- 4
Choisissez la méthode de routage
Choisissez Dynamic (enregistrements NS, recommandé) pour la meilleure délivrabilité, ou Static (enregistrements CNAME) si votre hébergeur DNS ne peut pas déléguer un sous-domaine par NS. Klaviyo affiche ensuite les enregistrements exacts correspondant à votre choix.
- 5
Ajoutez les enregistrements affichés par Klaviyo
Dynamic routing : ajoutez les 4 enregistrements NS pour send.yourdomain.com pointant vers ns1 à ns4.klaviyo.com. Static routing : ajoutez le CNAME send (vers 1.klaviyodns.com) plus les deux CNAME DKIM km1._domainkey et km2._domainkey. Copiez les valeurs exactement comme Klaviyo les indique — elles sont spécifiques à votre compte.
- 6
Ajoutez le TXT de vérification
Ajoutez l'enregistrement TXT sur votre domaine racine (klaviyo-site-verification=your-public-API-key) pour que Klaviyo puisse confirmer que vous possédez le domaine. C'est requis pour les deux méthodes de routage et ce n'est pas un enregistrement SPF.
- 7
Désactivez le proxy Cloudflare
Si votre DNS est sur Cloudflare (ou tout hébergeur avec proxy), réglez chaque enregistrement sur DNS only (nuage gris). Un enregistrement proxifié ne se résoudra pas vers Klaviyo et la vérification échoue — et il doit rester non proxifié par la suite, sinon l'authentification continue se casse.
- 8
Ajoutez l'enregistrement MX (type Service uniquement)
Si vous avez choisi le type Service en Static routing, ajoutez aussi l'enregistrement MX indiqué par Klaviyo pour que les réponses à votre adresse helpdesk soient routées correctement.
- 9
Cliquez sur Verify
De retour dans Settings puis Domains, cliquez sur Verify. Vous verrez « Verification success », une « Verification error » (les enregistrements sont incorrects) ou un avis de conflit. La propagation DNS ne prend généralement que quelques minutes mais peut aller jusqu'à 48 heures.
- 10
Activez le domaine
Une fois vérifié, cliquez sur Activate pour que Klaviyo commence à envoyer depuis le domaine de marque. Les domaines ou IP tout neufs peuvent encore nécessiter une courte période de préchauffage (warm-up) avant le plein volume.
- 11
Définissez votre adresse d'expéditeur (From) sur la racine
Envoyez depuis une adresse de votre domaine racine (you@yourdomain.com), PAS le sous-domaine d'envoi. Les réponses vont vers le From visible, et @send.yourdomain.com n'est pas une vraie boîte mail — DMARC s'aligne quand même car le sous-domaine relève de votre domaine organisationnel.
Enregistrements à ajouter
Klaviyo génère les valeurs exactes dans son assistant de configuration — celles-ci illustrent la forme de ce que vous ajouterez chez votre hébergeur DNS.
| Type | Hôte | Valeur |
|---|---|---|
| CNAME | send | 1.klaviyodns.comStatic routing : le sous-domaine d'envoi (enveloppe / Return-Path) — c'est ce qui satisfait SPF, sans include racine. Le Dynamic routing remplace ce CNAME unique par 4 enregistrements NS déléguant send.yourdomain.com à ns1 à ns4.klaviyo.com. Le « 1 » en tête est un numéro d'hôte d'envoi spécifique au compte. |
| CNAME | km1._domainkey | km1.domainkey.1.klaviyodns.comClé DKIM 1 (à rotation automatique). Le sélecteur est km1/km2 pour Marketing, kt1/kt2 Transactional, ks1/ks2 Service. Static routing uniquement — le Dynamic les publie à l'intérieur de la zone du sous-domaine délégué. |
| CNAME | km2._domainkey | km2.domainkey.1.klaviyodns.comClé DKIM 2 (à rotation automatique). Second sélecteur pour le même domaine. |
| TXT | @ | klaviyo-site-verification=your-public-API-keyVérification de propriété du domaine sur votre domaine racine — ce n'est PAS un enregistrement SPF. Ajouté pour les deux méthodes de routage. |
| TXT | _dmarc | v=DMARC1; p=none; rua=mailto:dmarc@yourdomain.comVotre politique DMARC — une par domaine, sur votre racine. L'assistant de Klaviyo signale si vous disposez déjà d'un enregistrement DMARC et suggère un v=DMARC1; p=none; nu, mais il ne peut pas le publier pour vous — vous l'ajoutez ici vous-même. Incluez un rua pour collecter effectivement les rapports. |
Conservez exactement un seul enregistrement SPF (v=spf1) TXT sur votre domaine racine — fusionnez-y tous vos expéditeurs. Avoir deux enregistrements SPF constitue en soi une erreur.
Le budget de 10 requêtes DNS
SPF est plafonné à une limite stricte de 10 requêtes DNS — dépassez-la et il renvoie une permerror et cesse de valider partout. Voici ce que coûte la configuration de Klaviyo sur ce budget.
La configuration recommandée de Klaviyo ajoute 0 requête — les 10 restent disponibles pour les expéditeurs qui, eux, ont besoin d'un include:.
DKIM
DKIM est délégué à Klaviyo, ce n'est pas une clé que vous collez. En Static routing, ce sont les deux enregistrements CNAME — km1._domainkey.yourdomain.com et km2._domainkey.yourdomain.com pointant vers km1.domainkey.N.klaviyodns.com et km2.domainkey.N.klaviyodns.com (le N est le numéro d'hôte d'envoi de votre compte). Les sélecteurs changent selon le type d'envoi que vous avez choisi : km1/km2 pour un domaine Marketing, kt1/kt2 pour Transactional, ks1/ks2 pour Service — et un second domaine du même type obtient la paire suivante (km3/km4, et ainsi de suite). En Dynamic routing, vous n'ajoutez aucun enregistrement DKIM : Klaviyo les publie à l'intérieur de la zone send.yourdomain.com que vous avez déléguée par NS. Dans les deux cas, Klaviyo détient les clés privées et fait tourner les clés DKIM publiées derrière ces sélecteurs, si bien que vous ne remaniez jamais le DNS et qu'il n'y a aucune clé TXT à copier. Parce que DKIM signe avec votre domaine, il s'aligne pour DMARC. Un piège : les hôtes _domainkey contiennent des tirets bas que quelques panneaux DNS refusent dans les enregistrements CNAME — le tiret bas est obligatoire, alors utilisez un hôte qui l'autorise ou demandez au support Klaviyo.
DMARC
DMARC est un TXT de politique distinct à _dmarc.yourdomain.com — ce n'est pas l'un des CNAME — et il réside sur votre domaine racine/organisationnel, en dehors du sous-domaine d'envoi que Klaviyo contrôle, si bien que Klaviyo ne peut pas le publier pour vous, même en Dynamic routing. Son assistant de configuration signalera si vous disposez déjà d'un enregistrement DMARC et suggérera une valeur, mais c'est vous qui ajoutez l'enregistrement dans votre DNS. Commencez par un v=DMARC1; p=none; en mode surveillance seule, ce qui suffit à satisfaire l'exigence Gmail/Yahoo d'un enregistrement DMARC sans affecter la distribution, et ajoutez un rua pour recevoir effectivement les rapports agrégés, par exemple v=DMARC1; p=none; rua=mailto:dmarc@yourdomain.com. Surveillez ces rapports pendant une semaine ou deux pour confirmer que Klaviyo passe SPF et DKIM alignés sur votre domaine, puis resserrez vers p=quarantine et, à terme, p=reject. Conservez exactement un seul enregistrement _dmarc pour tout le domaine, quel que soit le nombre d'expéditeurs que vous utilisez — il régit toutes les sources, alors n'en ajoutez pas un second juste pour Klaviyo.
Vérifiez que tout fonctionne réellement
Ne vous fiez pas aux seules coches vertes — confirmez-le sur un vrai message. Envoyez-vous un test de campagne ou de flux depuis une adresse du domaine de marque, ouvrez-le dans Gmail, et choisissez le menu à trois points puis Afficher l'original : vous voulez voir SPF : PASS et DKIM : PASS affichant tous deux votre domaine (et la mention « via klaviyomail.com » disparue), ainsi que DMARC : PASS. Dans Klaviyo, Settings puis Domains doivent afficher le domaine comme Verified et Active. Passez votre domaine dans le contrôle de santé de domaine de Qualisend pour confirmer que le sous-domaine d'envoi (NS ou CNAME), les sélecteurs DKIM km/kt/ks et votre enregistrement DMARC se résolvent tous, et une fois que les rapports agrégés commencent à arriver, chargez-en un dans l'analyseur de rapports DMARC — Klaviyo doit y apparaître comme une source alignée et passante. Vous pouvez aussi vérifier ponctuellement les enregistrements individuels avec le vérificateur SPF/DKIM/DMARC.
Pièges courants
- Configuration DNS
Le proxy Cloudflare casse tout : réglez chaque enregistrement Klaviyo sur DNS only (nuage gris) et gardez-le non proxifié. Un enregistrement proxifié ne se résoudra pas vers Klaviyo, donc la vérification et l'authentification continue échouent toutes deux.
- Configuration DNS
Cloudflare (et certains registrars, plus BigCommerce) ne peuvent pas déléguer proprement un sous-domaine par enregistrement NS, si bien que le Dynamic routing échoue souvent sur ces hébergeurs — utilisez plutôt le routage Static (CNAME).
- Couverture
N'envoyez pas depuis le sous-domaine d'envoi : gardez votre From visible sur le domaine racine (you@yourdomain.com). @send.yourdomain.com n'est pas une boîte mail, donc les réponses rebondiraient ; DMARC s'aligne quand même car le sous-domaine relève de votre domaine organisationnel.
- Configuration DNS
Dédoublement du champ hôte : de nombreux registrars ajoutent automatiquement votre domaine, si bien que saisir send.yourdomain.com produit send.yourdomain.com.yourdomain.com. Saisissez uniquement le libellé (send, km1._domainkey, km2._domainkey) si le panneau ajoute le domaine à votre place.
- Configuration DNS
Tirets bas dans les CNAME : les hôtes km1._domainkey / km2._domainkey contiennent des tirets bas qu'une poignée de panneaux DNS refusent dans les enregistrements CNAME — ils sont obligatoires, alors utilisez un hôte qui les autorise ou contactez Klaviyo.
- Casse l'authentification
Il n'y a aucun include SPF à ajouter — le TXT klaviyo-site-verification est une vérification de propriété, pas du SPF. Inventer un include:klaviyo... sur votre racine ne sert à rien et consomme inutilement l'une de vos 10 requêtes SPF.
- Couverture
Choisissez le type d'envoi dès le départ : Marketing, Transactional et Service utilisent des sélecteurs DKIM différents (km/kt/ks), et les domaines Service nécessitent aussi un enregistrement MX. Vous ne pouvez pas reconvertir discrètement un domaine Marketing en domaine Service sans refaire les enregistrements.
- Casse l'authentification
Gardez exactement un TXT SPF et un TXT DMARC sur votre racine. Klaviyo n'ajoute rien à votre SPF racine, mais si vous envoyez déjà via d'autres fournisseurs, laissez un seul enregistrement SPF fusionné — deux enregistrements SPF constituent en soi un PermError.
Construisez votre enregistrement SPF
Klaviyo n'a pas besoin d'un include: SPF sur votre domaine racine — utilisez le générateur pour assembler un enregistrement propre et unique pour vos autres expéditeurs, en le limitant à une seule ligne.
Sending sources
Search for each platform you send email through and tick it.
Search for your email platform above, or .
This domain's own servers
Authorize the domain itself, if it sends mail directly (not through a platform above).
Other senders & IPs
Anything not in the list — another provider's SPF host, or specific IP addresses.
We add the include: prefix — enter the hostname your provider documents.
Policy for everyone else
What receivers should do with mail from any server not listed above (the all mechanism).
No senders yet, so every message would hit the ~all policy. Add the platforms you send through in step 1.
- Publish it as a TXT record at your root domain — host @ (the bare domain), value the full string above.
- Keep only one SPF record per domain. Merge every sending source into this single line — a second TXT record starting v=spf1 makes both invalid.
- Stay at or under 10 DNS lookups. Each include:, a and mx counts, and an include can trigger more lookups inside itself — ip4: and ip6: are free.
Authentication published? The next step is sending to a clean, verified list.
Verify a listSPF Klaviyo — FAQ
Lectures complémentaires
Une fois publié, confirmez que tout se résout correctement avec la vérification de l'état du domaine, puis identifiez qui envoie en votre nom grâce à l'analyseur de rapports DMARC. Parcourez toutes les sources d'envoi dans le générateur. L'authentification ne représente toutefois que la moitié de la délivrabilité — une IP ou un domaine d'envoi inscrit sur une liste vous fait toujours atterrir dans les spams, quelle que soit la propreté de votre SPF ; il vaut donc la peine de surveiller les listes noires avec la surveillance des listes noires.
Authentifié — maintenant, gardez votre liste propre
Réussir SPF, DKIM et DMARC vous mène jusqu'à la boîte de réception ; une liste propre vous y maintient. Vérifiez la vôtre — commencez gratuitement avec 100 crédits, sans carte bancaire.