Promotions
Résultat : simulez une réduction, vérifiez sa gagnante et son périmètre, puis confirmez-la sans empiler plusieurs remises sur le même composant de prix.
Configurer
Une promotion définit :
- un nom et une cible ;
- une remise en pourcentage, montant fixe ou prix fixe ;
- une devise lorsque la remise est monétaire ;
- une fenêtre de dates facultative ;
- une priorité et un statut actif ou désactivé.
Les chevauchements sont autorisés. Le moteur choisit une gagnante de façon déterministe au lieu de refuser deux campagnes simultanées.
Cibles
| Cible | Portée |
|---|---|
| Variant | Une déclinaison |
| Produit | Tous ses variants |
| Catégorie | Produits de sa branche publiée |
| Tag | Produits et variants portant ce tag |
| Caractéristique | Produits et variants portant cette identité |
| Option | Supplément de l’option |
| Valeur d’option | Supplément de cette valeur |
Le type de cible est définitif après création, mais vous pouvez déplacer la promotion vers une autre entité du même type. Une cible archivée n’accepte pas de nouveau lien. Les commandes passées conservent la promotion et le montant snapshotés.
Une cible en brouillon ou archivée rend la promotion inerte. Pour une catégorie, toute la chaîne des parents doit être publiée ; pour une valeur d’option, l’option parente doit l’être aussi. Supprimer définitivement une cible supprime ses promotions.
Types de remise
| Type | Règle |
|---|---|
| Pourcentage | Strictement positif, au plus 100 %, toutes devises ou devise précise |
| Montant fixe | Montant positif dans une devise, déduit sans passer sous zéro |
| Prix fixe | Plafond positif ou nul dans une devise ; ne majore jamais un prix inférieur |
Comment une promotion gagne
Le moteur compare, dans cet ordre :
- priorité manuelle ;
- spécificité de la cible ;
- proximité avec le variant ;
- devise précise plutôt qu’universelle ;
- création la plus récente.
À priorité égale, un variant est plus spécifique qu’un produit, puis une caractéristique, un tag et une catégorie. Pour les catégories, la catégorie directement liée gagne sur ses parents. Une priorité supérieure permet volontairement à une campagne large de dépasser cette hiérarchie.
La résolution utilise la devise du prix source : un prix natif est remisé dans sa devise ; sinon prix par défaut et promotions compatibles sont résolus ensemble avant conversion. Une remise monétaire d’une autre devise ne devient pas applicable par simple changement d’affichage.
Une seule promotion gagne pour chacun des trois composants : prix du variant, supplément d’option et supplément de valeur. Ces composants sont ensuite additionnés. Les promotions de l’option et de sa valeur peuvent donc toutes deux s’appliquer, mais deux promotions ne se cumulent pas sur le même composant.
Dry-run avant confirmation
Le formulaire passe par une simulation qui affiche :
- les entités concernées et leurs prix avant/après par devise ;
- si la promotion proposée gagne ou reste dominée ;
- un avertissement lorsqu’un prix atteint zéro ;
- le classement détaillé des candidates lorsque nécessaire.
Le dry-run n’écrit rien. Revenez au formulaire pour corriger ou choisissez Confirmer pour enregistrer. Actualisez la simulation si une autre promotion a pu changer dans un autre onglet.
Dates et timeline
Le début est inclus et la fin exclue. Une promotion active avec début futur est planifiée ; arrivée à sa fin, elle expire. Désactivée l’emporte sur les dates sans supprimer la campagne.
La timeline montre les campagnes qui croisent le mois et permet d’inspecter un instant. Sans devise choisie, elle ne désigne pas une gagnante universelle. Les panneaux par variant appliquent, eux, le vrai prix source et son ordre de résolution.
Effet dans la boutique
- La carte d’un produit à un seul variant montre prix remisé, ancien prix et badge.
- Une carte multi-variants montre l’agrégat effectif sans attribuer à tout le produit la promotion d’un seul variant.
- La fiche produit montre le prix exact du variant sélectionné.
- Le panier recalcule automatiquement la promotion courante ; la commande la fige.
La promotion ne modifie jamais le stock. Les taxes sont calculées après la résolution de tous les composants de prix.
Récupération
| Symptôme | Action |
|---|---|
| Promotion sans effet | Vérifier statut, fenêtre, cible publiée, devise et résultat du dry-run |
| Mauvaise cible | Déplacer vers une entité du même type puis relancer le dry-run |
| Campagne large dominée | Augmenter volontairement sa priorité, après simulation |
| Prix nul inattendu | Relire remise du variant et suppléments d’options séparément |