Codes promo uniques Klaviyo : éviter les envois ignorés au BFCM
Un message Klaviyo qui contient un code promo unique est ignoré quand aucun code n'est disponible pour son destinataire. La documentation l'écrit pour les campagnes comme pour les flows (Klaviyo, premiers pas avec les codes promo). Un BFCM concentre ce risque : les envois qui distribuent des codes (accès anticipé, bienvenue des inscrits, panier abandonné) se resserrent sur quelques jours, au rythme du trafic promotionnel.
Cet article suit les codes de leur création à leur usage : statique ou unique, génération pour les campagnes, réapprovisionnement des flows, formulaires, expiration, liens qui appliquent le code au panier, tests et suivi.
TL;DR. Trois règles documentées gouvernent les codes uniques Klaviyo. Une campagne ne se programme que si le stock couvre les destinataires attendus, et sur Shopify les codes se génèrent à la main avant la programmation ; si l'audience est déterminée à l'envoi, les destinataires en surplus sont ignorés. Un flow ne vérifie pas le stock : sans code disponible, le message est ignoré. Une expiration réglée dans Klaviyo court en réalité 24 heures de plus, ce qui décale la fin d'une offre annoncée.
Un regard extérieur avant de construire ? Nous proposons un audit de préparation Q4 : 30 minutes, gratuit, sans engagement.
Statique ou unique : le choix par mécanique
Klaviyo distingue deux types de codes (Klaviyo, premiers pas avec les codes promo). Un code statique est une chaîne unique qui ouvre une remise précise : tout le monde reçoit le même, il peut être largement partagé, et il est plus facile à retenir. Un code unique, aussi appelé dynamique, est une série aléatoire de chiffres ou de lettres qu'un destinataire peut utiliser une fois. Chaque destinataire reçoit le sien, et deux personnes n'ont jamais le même code. Les codes uniques sont en général plus longs, et ils limitent le partage des remises.
La page consacrée à Shopify cite comme usages en campagne les codes réservés aux abonnés, les remises en prévente pour les clients VIP et les remises d'excuse en cas de retard de livraison. En flow, elle cite le panier abandonné (avec un code actif quelques jours), le winback et la série de bienvenue (Klaviyo, codes uniques pour Shopify). Elle précise que les codes Klaviyo ne fonctionnent que pour les commandes non récurrentes, pas pour les abonnements comme ceux que gère Recharge.
Une répartition en découle pour un BFCM. C'est notre lecture de ces usages, Klaviyo ne la formule pas.
| Mécanique | Type de code | Raison |
|---|---|---|
| Offre publique du week-end | Statique | La page reconnaît qu'il se partage, ce qui est le but d'une offre publique |
| Accès anticipé VIP et liste d'attente | Unique | La page cite la prévente VIP, et le code unique limite le partage |
| Bienvenue des inscrits du week-end | Unique, via un flow | Le flow génère les codes automatiquement pour Shopify |
| Panier abandonné | Unique, expiration courte | La page cite un code actif de 2 à 4 jours |
Deux limites de plateforme complètent le tableau. Klaviyo peut générer les codes pour Shopify, WooCommerce, PrestaShop, Magento 1.x et Magento 2 ; pour les autres, on téléverse un fichier CSV dont une colonne s'intitule Coupon ou Coupon Code. Et un flow qui distribue un code pendant l'opération est à confronter à la remise du site : notre calendrier promo Q4 2026 traite le cas des flows promotionnels qui tournent pendant le Black Friday.
Campagnes : le stock se génère avant la programmation
Sur Shopify, un code unique de campagne se génère manuellement, avant de programmer l'envoi (Klaviyo, codes uniques pour Shopify). Le coupon se crée dans Content > Coupons avec un nom exact à réutiliser dans le message, un préfixe optionnel, un type de remise (montant fixe, pourcentage, livraison offerte), un périmètre (commande entière, produits ou collections), un minimum d'achat, les combinaisons autorisées, une date d'activation et une expiration. Le menu à trois points propose ensuite Add Codes.
Trois règles de la page pèsent sur un BFCM.
- Il faut générer au moins autant de codes que de destinataires attendus. Avec moins de codes que l'audience estimée, la campagne ne peut être ni programmée ni envoyée. L'étape Review & Send Campaign affiche une zone Coupon Codes qui l'indique.
- La génération d'un grand nombre de codes peut prendre jusqu'à plusieurs heures. Klaviyo demande de laisser du temps entre la création des codes et l'heure d'envoi, et de ne pas surestimer nettement le nombre de codes : l'audience estimée sert de base.
- Si la campagne est programmée avec Determine recipients at send time et que le nombre réel de destinataires dépasse celui des codes générés, les destinataires en surplus sont ignorés et ne reçoivent pas l'email.
La troisième règle rejoint la mécanique décrite dans Segments BFCM Klaviyo : exclusions, doublons, profils ignorés. Une liste d'attente qui grossit jusqu'au jour de l'envoi (Liste d'attente Black Friday dans Klaviyo) fait exactement ce que la règle prévoit : l'audience réelle dépasse celle qui a servi à compter les codes.
Sur la marge à prévoir, la documentation consultée est partielle. La page dédiée au SMS recommande de générer 50 codes de plus que le besoin, de le faire un ou deux jours avant l'envoi, et de prévoir cette marge au cas où des personnes rejoindraient la liste ou le segment avant un envoi programmé (Klaviyo, codes uniques en SMS et MMS). La page Shopify demande à l'inverse de ne pas surestimer nettement. Aucune page consultée ne chiffre la marge pour l'email. Une marge calculée sur la croissance observée de l'audience les jours précédents respecte les deux consignes.
D'autres règles de la page évitent des blocages tardifs.
- Un test A/B exige assez de codes pour couvrir l'envoi complet, même si le code n'est envoyé qu'à une partie de l'audience.
- Un email peut contenir plusieurs codes, à condition d'en avoir assez pour chaque destinataire, alors qu'un SMS n'en accepte qu'un : plusieurs coupons dans un même SMS provoquent une erreur et empêchent l'envoi. Les blocs masqués par une logique d'affichage sont un piège : les codes sont attribués à tous les destinataires même si le bloc reste caché, et ils peuvent bloquer l'envoi faute de stock.
- Créez un coupon distinct pour chaque campagne, n'utilisez pas le même coupon pour un flow et une campagne, et créez un nouveau coupon quand le périmètre de produits ou de catégories change : Klaviyo tente d'attribuer les codes existants, et des clients peuvent recevoir des codes aux règles périmées.
Le stock de codes, surface par surface
Campagnes, flows et formulaires ne se comportent pas de la même façon quand le stock manque. Le tableau réunit ce que disent les pages consultées.
| Surface | Vérification du stock | Stock insuffisant | Réapprovisionnement |
|---|---|---|---|
| Campagne | À l'étape Review & Send Campaign | Programmation ou envoi impossible | Manuel |
| Campagne, audience déterminée à l'envoi | Non, pour les arrivées tardives | Destinataires en surplus ignorés | Manuel |
| Flow, codes Shopify | Non, message par message | Attribution ignorée, ce qui déclenche une génération | Automatique |
| Flow, codes importés | Non | Message ignoré ; un flow à 0 code ne peut pas passer en Live | Manuel |
| Formulaire | Non documentée | Code statique de repli | Automatique pour Shopify, manuel pour les codes importés |
Les flows
Pour les codes Shopify d'un flow, Klaviyo génère les codes automatiquement, avec un réapprovisionnement quotidien ; si tous les codes sont consommés avant le réapprovisionnement, la tentative d'attribution suivante est ignorée, ce qui déclenche la génération de codes supplémentaires (Klaviyo, codes uniques pour Shopify). La page consacrée au SMS décrit la même logique autrement : Klaviyo génère 100 codes quand le stock passe sous 100, pour Shopify et Magento, et rappelle qu'un flow n'a pas d'étape de contrôle, contrairement à une campagne (Klaviyo, codes uniques en SMS et MMS).
Pour les codes importés, la page d'introduction précise qu'un flow envoie destinataire par destinataire, donc que Klaviyo ne peut pas contrôler la suffisance des codes. Un email de flow dont le coupon n'a aucun code disponible ne peut pas être mis en Live, et à l'envoi, le message est ignoré si le stock est vide. Les profils ignorés se lisent dans les statistiques de l'email du flow : Recipient Activity, puis Other. Dans sa section sur les codes importés, la même page annonce une alerte de stock bas : si un coupon a été envoyé dans les dernières 24 heures et qu'il reste moins de 500 codes, le propriétaire du compte reçoit un email. À la création d'un coupon importé, un minimum de codes entre 100 et 5 000 se règle, 500 par défaut ; la page ne dit pas si ce minimum modifie le seuil d'alerte.
Un BFCM met deux flows sous tension : la bienvenue, qui reçoit les inscrits du week-end, et le panier abandonné. Le contrôle est quotidien : ouvrir l'onglet des coupons, lire la colonne Available/Total, et regarder les profils ignorés des emails de flow concernés. Pour tester un coupon Shopify à expiration variable dans un flow, la page Shopify passe le flow en statut Manual : le premier code peut mettre environ trois minutes à se générer, et le profil de test apparaît le temps de la génération sous Skipped: Retrying Generating Coupon Codes.
Formulaires : code affiché dans le message de succès
Klaviyo recommande d'afficher le code dans le message de succès du formulaire (Klaviyo, codes promo dans les formulaires). Les codes uniques s'y affichent uniquement pour les coupons Shopify, les coupons importés et les coupons d'API. Pour WooCommerce, Magento 2 et PrestaShop, Klaviyo sait créer des codes uniques mais ne peut pas les afficher dans un formulaire : la page renvoie vers les coupons importés ou d'API.
Trois réglages évitent un formulaire vide de codes.
- Un coupon statique peut servir de repli (Fallback Coupon) : il ne s'affiche que si les codes uniques sont épuisés, pour que le visiteur reçoive tout de même une remise. Il doit exister avant d'être collé dans le champ.
- Pour un coupon Shopify avec expiration à un an ou à date précise, Klaviyo génère un premier lot de 600 codes à l'ajout du coupon dans le formulaire, puis d'autres quand le stock passe sous 400. Avec une expiration en jours ou en heures, il génère 600 codes par jour (Klaviyo, codes uniques pour Shopify).
- Un coupon Shopify affiché dans un formulaire est appliqué automatiquement au panier de la personne au passage en caisse.
Les bannières qui ne collectent ni email ni SMS ne peuvent contenir que des coupons statiques. Klaviyo active enfin une protection anti-robots, dont un CAPTCHA, sur les formulaires qui affichent des codes (Klaviyo, premiers pas avec les formulaires).
Expiration : 24 heures de plus, et l'UTC
La page Shopify est explicite : l'expiration réelle d'un coupon est toujours 24 heures après la date saisie, afin que le destinataire puisse encore utiliser le code en cas de retard d'envoi ou de livraison. Un coupon réglé pour expirer dans 4 heures reste valable 24 heures de plus. Les dates se règlent en UTC dans Klaviyo, alors que Shopify fixe date et heure d'expiration selon le fuseau horaire de la boutique : les deux affichages peuvent différer pour un même coupon (Klaviyo, codes uniques pour Shopify). La date d'activation suit le même principe, avec une option qui active les codes générés au moment de l'envoi.
Pour les coupons importés, Klaviyo ne conserve aucune métadonnée : il ignore la valeur du code, sa durée et ses restrictions. La date d'expiration saisie ne fixe que la durée de disponibilité des codes dans Klaviyo, un an par défaut. La validité réelle relève de votre boutique ou de votre caisse (Klaviyo, premiers pas avec les codes promo).
Pour un BFCM, cela ferme un piège de communication. Avant d'écrire « jusqu'à lundi minuit » dans un email, créez le coupon, ouvrez la règle de prix correspondante dans Shopify et lisez la date et l'heure réelles d'expiration. Alignez ensuite le texte de l'email et de la page.
Liens qui appliquent le code au panier
Klaviyo propose des formats de lien qui appliquent le code à la session Shopify (Klaviyo, lien qui applique un code au panier Shopify). Pour un coupon unique de Klaviyo, la page de destination est la page d'accueil, avec le code en paramètre de chemin :
mysite.com/discount/{% coupon_code 'CouponName' %}
Pour ouvrir une autre page, par exemple une collection, on ajoute une redirection :
mysite.com/discount/{% coupon_code 'CouponName' %}?redirect=/collections/ma-collection
Dans un flow de panier abandonné déclenché par Started Checkout, l'URL de la commande en cours accepte un paramètre :
{{ event.extra.checkout_url }}&discount={% coupon_code 'CouponName' %}
Trois avertissements de la page comptent en période de promotion. Klaviyo ne garantit pas l'application automatique du code quand le lien pointe vers une page autre que la caisse : le thème peut retirer le code de l'URL. Un article déjà remisé dans le panier n'accepte pas de remise supplémentaire, car Shopify ne cumule pas dans ce cas. Enfin, si le code ne s'applique pas lors d'un test, le paramètre doit souvent commencer par & plutôt que par ?, parce que ? ne convient que si le code est le seul paramètre.
Le deuxième avertissement est le plus sensible au Black Friday. Décidez avant l'envoi quel mécanisme porte la remise, et testez le lien sur un article remisé.
Tester sans gaspiller
L'aperçu dans Klaviyo affiche le nom du coupon suivi de « PREVIEW », ne montre aucun vrai code et n'en consomme aucun. Un email de test envoyé à une adresse consomme en revanche un code réel : le même code apparaît dans toutes les boîtes pendant une minute, puis un nouvel envoi de test en montre un autre (Klaviyo, premiers pas avec les codes promo). La page Shopify précise que si plusieurs personnes reçoivent l'aperçu, elles obtiennent toutes le même code. Comptez donc quelques codes de plus pour les tests.
Après l'envoi, le code reçu par une personne se lit dans la section Coupons de son profil, et le total de codes restants dans la colonne Available/Total de l'onglet des coupons.
Un même destinataire ne reçoit qu'un code unique par coupon. Si vous renvoyez un email ou un SMS avec le même coupon, il reçoit le même code tant que celui-ci n'a pas expiré. Deux messages de flow qui utilisent le même coupon envoient aussi le même code, y compris entre un email et un SMS.
Suivre l'usage et repérer les fuites
Pour les boutiques Shopify et Magento, Klaviyo peut reprendre le code de réduction utilisé lors d'une commande. Un segment Used a coupon se construit avec What someone has done > Placed Order, puis un filtre sur les codes de réduction. La page précise que cela fonctionne pour les codes statiques ou pour un code unique isolé, pas pour un ensemble de codes uniques identifiés par leur nom ou leur préfixe. Klaviyo présente ce segment comme un moyen de voir si un code est transmis à d'autres personnes (Klaviyo, premiers pas avec les codes promo).
Pour relancer les personnes qui n'ont pas utilisé leur code, ajoutez un email dans le même flow, quelques jours plus tard. Avec un code unique, la page conseille une scission ou un filtre Placed Order zero times since starting this flow. Avec un code statique ou importé, elle conseille un filtre sur une commande passée avec ce code de réduction.
Checklist J-14
- Chaque mécanique du BFCM a son type de code (statique ou unique) et son coupon distinct.
- Les coupons de campagne sont générés un ou deux jours avant l'envoi, avec une marge calculée sur la croissance de l'audience.
- Les campagnes programmées avec Determine recipients at send time ont un stock qui couvre l'audience attendue à l'envoi.
- Les coupons de flow sont contrôlés chaque jour : Available/Total, alertes de stock bas, profils ignorés dans Recipient Activity.
- Chaque formulaire qui affiche un code unique a un code de repli statique.
- La date et l'heure réelles d'expiration sont lues dans Shopify avant d'être communiquées.
- Les liens qui appliquent le code sont testés en conditions réelles, sur un article remisé et sur un article au tarif plein.
- Les tests d'envoi sont comptés dans le stock de codes.
- Un segment de suivi des codes utilisés est en place avant le lancement.
- La décision « remise sur le prix ou code promo » est prise et écrite pour chaque offre.
FAQ
Combien de codes générer pour une campagne ?
Au moins autant que de destinataires attendus : sinon Klaviyo empêche la programmation et l'envoi. Ne surestimez pas nettement, car la génération d'un grand nombre de codes peut prendre jusqu'à plusieurs heures. La page SMS recommande une marge de 50 codes, et aucune page consultée ne donne de chiffre pour l'email.
Que se passe-t-il quand il n'y a plus de codes ?
En campagne, Klaviyo bloque la programmation ou l'envoi quand le stock est inférieur à l'audience estimée, et ignore les destinataires en surplus si l'audience est déterminée à l'envoi. En flow, le message est ignoré. Dans un formulaire, c'est le code statique de repli qui s'affiche s'il a été prévu.
Un destinataire peut-il recevoir deux codes différents pour la même offre ?
Non, pour un même coupon : une personne ne reçoit qu'un code unique, qui reste identique si vous renvoyez le message tant qu'il n'a pas expiré.
Les codes Klaviyo fonctionnent-ils avec les abonnements ?
Non. La page Shopify précise qu'ils ne fonctionnent que pour les commandes non récurrentes, pas pour les abonnements comme ceux que gère Recharge.
Peut-on afficher un code unique dans un formulaire sur PrestaShop ou WooCommerce ?
Pas avec les coupons générés par Klaviyo pour ces plateformes : la page indique que ces codes ne s'affichent pas dans les formulaires. L'alternative documentée passe par des coupons importés ou des coupons d'API.
Un regard extérieur sur vos codes et vos flows avant l'ouverture ? Nous faisons des audits de préparation Q4, ou vous pouvez échanger directement avec l'équipe Deliver.
Provenance et vérification
Chaque affirmation chiffrée ou technique a été comparée le 30 septembre 2026 au texte des pages Klaviyo listées dans sources : campagnes bloquées sous le nombre de destinataires attendus, destinataires ignorés quand l'audience est déterminée à l'envoi, flows sans vérification de stock, alerte sous 500 codes, lots de 600 codes des formulaires avec seuil de 400, expiration réelle décalée de 24 heures, un seul code par SMS, format des liens qui appliquent le code au panier. Deux pages Klaviyo se contredisent sur les plateformes qui génèrent des codes pour le SMS : la page d'introduction, plus récente, est retenue. Les points que la documentation ne tranche pas ont été écartés.
- Sources contrôlées le
- Relu par
- Claude (session Claude Code, 30 septembre 2026) contrôle croisé de la documentation éditeur, sources rouvertes et recontrôlées
- Assistance IA
- Oui
- Sources
-
- help.klaviyo.com/hc/en-us/articles/115005084727
- help.klaviyo.com/hc/en-us/articles/115006155388
- help.klaviyo.com/hc/en-us/articles/6038674938523
- help.klaviyo.com/hc/en-us/articles/115005253088
- help.klaviyo.com/hc/en-us/articles/360044863132
- help.klaviyo.com/hc/en-us/articles/360050216012
- help.klaviyo.com/hc/en-us/articles/360026474752
Besoin d'appliquer ça à votre stack ?
30 minutes avec Charlotte. On audit votre setup CRM en direct, on chiffre l'opportunité, vous repartez avec un plan d'attaque.
Réserver 30 minutes →