xDiscount est sur le Shopify App Store. Les marchands fondateurs verrouillent un tarif fondateur à vie.
Docs

Discounts

Conditions et règles

Les trois conditions de xDiscount, la quantité d'articles, la valeur du panier et le stock, comment une ligne se nie, et pourquoi les lignes se replient strictement de haut en bas.

Ce que font les conditions

L’idée

Un rabais sans conditions s’applique à chaque produit que vous avez ciblé, chaque fois, tant qu’il est Actif (Active) et à l’intérieur de son calendrier. Les Conditions restreignent ça. Ce sont des vérifications supplémentaires qui doivent passer avant que le rabais ait le droit de réduire le prix.

Les conditions vivent dans la section Conditions, au bas du formulaire de rabais, sous Période du rabais (Discount period). Quand un rabais n’en a aucune, la section indique :

Aucune condition. Ce rabais s’applique dès qu’il est actif et dans son calendrier.

Les conditions sont facultatives, et la plupart des rabais n’en ont jamais besoin.

Ce que les conditions ne font pas. Elles ne choisissent pas quels produits reçoivent le rabais, ça, c’est la section Produits inclus (Included products). Elles ne fixent pas les dates où un rabais tourne, ça, c’est Période du rabais. Et elles ne décident pas quel rabais l’emporte quand deux d’entre eux correspondent au même article, ça, c’est la Priorité (Priority), où le plus petit numéro gagne et où un seul rabais produit s’applique par article.

Les trois types de conditions

xDiscount offre exactement trois conditions. Il n’y en a pas d’autres, et aucune n’est cachée derrière une mise à niveau. Elles sont toutes sur chaque forfait, le forfait Gratuit inclus.

ConditionCe qu’elle mesureChamps à remplirDécidée où
Quantité d’articles (Item quantity)Le nombre total d’articles dans le panier du client, toutes les lignes additionnées, pas seulement les produits que ce rabais cibleArticles minimum (Minimum items), Articles maximum (Maximum items)Au paiement, sur le panier en direct
Valeur du panier (Cart value)Le sous-total du panier, dans la devise de votre boutiqueValeur minimale du panier (Minimum cart value), Valeur maximale du panier (Maximum cart value)Au paiement, sur le panier en direct
Stock (Inventory)Le niveau de stock d’une variante de produitStock minimum (Minimum in stock), Stock maximum (Maximum in stock)Par l’application, avant le paiement. Voir plus bas

La quantité et la valeur regardent le panier au complet

Quantité d’articles et Valeur du panier lisent toutes les deux le panier au complet. Une condition « achetez-en 3 ou plus » est satisfaite par trois articles de n’importe quoi dans le panier, pas trois du produit en rabais.

Combien de fois chacune peut servir

Chaque condition ne peut servir qu’une fois. Un rabais peut porter une ligne Quantité d’articles, une ligne Valeur du panier et une ligne Stock, jamais deux fois la même. Un type qu’une autre ligne a déjà pris reste affiché dans la liste, en gris et marqué déjà utilisé (already used), pour que vous voyiez pourquoi vous ne pouvez pas le choisir. Le type actuel de votre propre ligne n’est jamais grisé.

Quand les trois sont utilisées, Ajouter une condition (Add condition) se désactive et le dit :

Toutes les conditions sont déjà utilisées. Retirez-en une pour ajouter une condition différente.

Construire des conditions

Ajouter une condition

1

Ouvrir un rabais

Allez dans Rabais (Discounts) et ouvrez-en un, ou cliquez sur Créer un rabais (Create discount).

Aller à la section Conditions

Descendez jusqu’à Conditions, au bas du formulaire, sous Période du rabais.

Ajouter une ligne

Cliquez sur Ajouter une condition. La nouvelle ligne arrive préréglée sur la première condition que vous n’avez pas encore utilisée. Changez-la avec le menu déroulant Condition si vous en voulez une autre.

Fixer les bornes

Remplissez un minimum, un maximum, ou les deux. Répétez pour autant de conditions que vous en avez besoin, jusqu’à trois.

Enregistrer

Cliquez sur Enregistrer (Save). Rien n’est écrit dans votre boutique tant que chaque ligne n’a pas passé.

Chaque ligne est numérotée et porte une poignée de glissement à gauche, Réordonner la condition 1 (Reorder condition 1), Réordonner la condition 2, et ainsi de suite. Glissez les lignes pour les réordonner, parce que l’ordre compte, et la section le dit directement :

Configurez les conditions qu’un panier doit remplir pour que ce rabais s’applique. Choisissez un type de condition, puis fixez ses valeurs. Chaque type de condition peut servir une fois par rabais.

Pour supprimer une ligne, cliquez sur le bouton de suppression en haut à droite de celle-ci, Retirer la condition 1 (Remove condition 1). Il n’y a pas d’étape de confirmation, et rien d’autre dans le formulaire n’est touché.

Changer le type d'une ligne efface ses bornes

C’est voulu. 5 veut dire cinq articles sous Quantité d’articles, cinq unités de votre devise sous Valeur du panier et cinq unités de stock sous Stock, alors reporter le chiffre d’un type à l’autre enregistrerait discrètement quelque chose que vous n’avez jamais tapé.

Minimums et maximums

Chaque condition est une plage, pas une comparaison. Il n’y a pas de sélecteur « plus grand que » ou « égal à ». Vous donnez une borne inférieure, une borne supérieure, ou les deux.

  • Les deux bornes sont inclusives. Un Articles minimum de 3 se qualifie à exactement 3.
  • Les deux bornes sont indépendantes. Remplissez seulement le minimum pour un plancher sans plafond, ou seulement le maximum pour un plafond.
  • 0 est une vraie borne, pas un champ vide. Un maximum de 0 veut dire exactement ça.
  • Vous devez remplir au moins une des deux. Laisser les deux vides bloque l’enregistrement avec « Fixez un minimum, un maximum, ou les deux. »
Ce que vous tapezCe que ça veut dire
Minimum 3, maximum vide3 ou plus
Minimum vide, maximum 55 ou moins
Minimum 3, maximum 53, 4 ou 5
Minimum 5, maximum 5Exactement 5

Valeur du panier utilise le champ de devise de votre boutique, alors le montant est affiché et tapé dans la devise dans laquelle vous vendez. Il n’y a pas de sélecteur de devise, et aucun symbole n’est codé en dur dans le formulaire. Quantité d’articles et Stock sont des nombres entiers.

Nier une condition

Chaque ligne a une case à cocher Nier cette condition (Negate this condition). La cocher inverse cette ligne-là seulement, alors le rabais s’applique quand la condition n’est pas remplie.

Une Quantité d’articles de « au moins 5 » qui est niée qualifie les paniers de 0 à 4 articles et rejette les paniers de 5 articles ou plus. La négation ne déborde jamais sur les lignes du dessus ou du dessous.

Sur une ligne Stock, la case s’explique d’elle-même, parce que la ligne retire des variantes plutôt que de juger un panier :

Saute les variantes À L’INTÉRIEUR de la plage plutôt qu’à l’extérieur.

Donc une ligne Stock niée réglée de 5 à 10 met en rabais tout sauf les variantes qui ont entre 5 et 10 unités.

Joindre les lignes avec et / ou

La première ligne n’a pas de contrôle de jonction, parce qu’elle commence la chaîne et qu’il n’y a rien à quoi la joindre. Chaque ligne qui suit a un menu déroulant Jonction (Join) avec deux options en minuscules, et (and) et ou (or).

Les lignes se replient strictement de haut en bas. Il n’y a pas de regroupement, pas de parenthèses et pas de priorité des opérateurs. Chaque ligne prend le résultat obtenu jusque-là et y joint le résultat de la nouvelle ligne. Ce n’est pas l’algèbre booléenne ordinaire, et la différence est réelle.

Prenez ces lignes :

#JonctionCondition
1QuandQuantité d’articles, minimum 2
2ouValeur du panier, minimum 100

xDiscount lit ça comme ligne 1 ou ligne 2. Ajoutez une troisième ligne jointe avec et et ça devient ( ligne 1 ou ligne 2 ) et ligne 3, pas ligne 1 ou ( ligne 2 et ligne 3 ). Si vous voulez un regroupement précis, placez les lignes dans l’ordre qui le produit quand on les lit de haut en bas.

Une ligne Stock est toujours jointe avec et. Son menu déroulant Jonction est verrouillé, avec la raison imprimée à côté :

Le stock ne peut que restreindre le rabais.

Ce n’est pas une limite qu’on vous cache. Une ligne de stock fonctionne en retirant des variantes de la portée du rabais avant que quoi que ce soit d’autre soit lu, alors « stock bas ou gros panier » ne pourrait jamais vouloir dire ce que ça dit, parce que le client avec le gros panier n’atteindrait jamais la comparaison. Sous et, le contrôle et le comportement s’accordent. Les règles qui arrivent d’un assistant IA connecté sont tenues à la même règle et refusées avec « Le stock restreint le rabais, alors il doit se joindre avec ET. »

Une façon rapide de vérifier votre logique

Lisez votre liste de conditions à voix haute, de haut en bas, en ajoutant chaque ligne à la réponse courante. Si ça sonne juste comme ça, c’est juste. Si vous vous surprenez à ajouter des parenthèses dans votre tête, réordonnez les lignes.

La condition Stock, au complet

Celle-là se comporte différemment des deux autres, et la différence vaut deux minutes de votre temps, parce qu’elle change ce que vous pouvez en attendre.

Elle s’applique par variante, jamais par produit

Le stock est compté par variante de produit. Un t-shirt dont le Petit est à 0 et le Grand à 40 n’a pas de chiffre de stock unique, et xDiscount n’en invente jamais un. Une condition Stock avec un minimum de 5 laisse le Grand en rabais et saute le Petit, sur le même produit, dans le même panier, au même moment.

Elle est résolue par l’application, pas lue au paiement

Une fonction de rabais Shopify ne peut pas lire le stock. Le chiffre n’existe pas dans ce que Shopify lui remet au paiement, et le seul autre endroit d’où un nombre pourrait venir, c’est le navigateur du client lui-même, qui peut être modifié.

Alors xDiscount répond à la question là où le nombre est réel, sur le serveur, avant le paiement. Quand il résout une condition de stock, il lit le stock de chaque variante ciblée depuis Shopify, détermine quelles variantes tombent en dehors de votre plage, et écrit cette liste de variantes dans la configuration de vos produits. Au paiement, ces variantes ne font tout simplement plus partie du rabais. Rien n’est revérifié dans le panier.

Quand elle est vérifiée

Le formulaire affiche la cadence à côté de la ligne, et elle est exacte :

Vérifié par variante de produit quand ce rabais se synchronise, puis une fois par jour ensuite. Les variantes en dehors de la plage sont sautées jusqu’à la prochaine vérification.

En pratique :

ÉvénementLe stock est-il relu ?
Vous ouvrez le rabais et cliquez sur EnregistrerOui, immédiatement, pour chaque produit qu’il cible
Le rafraîchissement quotidien tourne à 03:00 UTCOui, pour les rabais Actifs (Active) qui utilisent Stock ou Ignorer les produits en rupture de stock
Un client ajoute au panierNon
Une commande épuise la dernière unitéNon
Vous réapprovisionnez dans ShopifyNon

Ce que ça veut dire quand votre stock bouge dans la journée

La réponse est un instantané, et elle peut avoir jusqu’à un jour de retard. Les deux directions sont réelles, et ni l’une ni l’autre ne vous est cachée :

  • Une variante qui s’est vendue au complet après la dernière vérification garde le rabais jusqu’à la suivante. Si vous avez fixé la condition pour protéger votre marge quand le stock est bas, elle peut tourner un peu au-delà de ce que vous vouliez.
  • Une variante que vous avez réapprovisionnée après la dernière vérification reste sautée jusqu’à la suivante. Les clients ne voient aucune offre dessus entre-temps.

La solution est la même dans les deux cas, ouvrez le rabais et cliquez sur Enregistrer. Ça relit le stock sur-le-champ, pour chaque produit que le rabais cible, et la réponse redevient juste à partir de ce moment.

Quand le stock est le mauvais outil

Si votre stock roule à l’intérieur d’une même journée, donc les ventes éclair, les pièces uniques, ou une boutique qui se réapprovisionne constamment, une condition Stock est le mauvais outil. Servez-vous-en pour des décisions plus lentes, comme « arrêter le rabais une fois rendus aux 5 derniers », plutôt que comme une barrière en temps réel.

Les variantes qui ne suivent pas leur stock

Une variante dont le suivi du stock est désactivé ne déclare aucun chiffre de stock du tout. Ces variantes ne sont jamais sautées, peu importe les bornes que vous fixez. « 0 en stock » et « non suivi », ce n’est pas la même chose, et les traiter pareil ferait tomber discrètement chaque produit numérique, chaque service et chaque article non suivi hors de vos rabais.

La case à cocher et la condition sont le même mécanisme

Ignorer les produits en rupture de stock (Skip products that are out of stock), dans la section Configuration du rabais (Discount configuration), est le cas particulier « au moins 1 en stock ». Elle est résolue aux mêmes moments, à partir de la même lecture du stock, et elle obéit à la même règle sur les variantes non suivies. Son propre texte d’aide dans le formulaire dit « Vérifié au moment de l’enregistrement. Les variantes sans stock ne seront pas mises en rabais. », et le rafraîchissement quotidien la couvre aussi.

Deux rabais de stock sur un même produit

Si deux rabais sur le même produit utilisent tous les deux Stock avec des plages différentes, les deux obéissent à la combinaison des deux, alors le plus permissif des deux saute plus de variantes qu’il ne l’a demandé. Ça garde la configuration d’un produit sous la limite de 10 000 octets de Shopify, et ça penche du côté d’accorder moins de rabais plutôt que plus. Un rabais qui s’applique trop peu est visible pour vous et réversible. Un rabais qui s’applique trop largement vous coûte de l’argent sur chaque commande.

Le calendrier n’est pas une condition

Il y a exactement un endroit pour mettre un rabais au calendrier, et ce n’est pas la section Conditions.

Ouvrez la section Période du rabais (Discount period) et remplissez Date de début (Start date), Date de fin (End date), ou les deux. Les deux bornes sont des journées entières inclusives et chacune fonctionne indépendamment, alors un début sans fin tourne pour toujours, et un début égal à la fin est une fenêtre d’une journée tout à fait valide. En dessous, le formulaire dit de quel calendrier il se sert :

Les dates suivent le fuseau horaire de votre boutique, pas le vôtre.

Il n’y a pas de condition de date à ajouter. Le menu déroulant Condition offre Quantité d’articles, Valeur du panier et Stock, et rien d’autre. Deux contrôles qui écrivent une même fenêtre, c’est comme ça qu’un rabais finit avec deux réponses sur le moment où il tourne, alors la fenêtre vit seulement dans Période du rabais.

Si vous avez un rabais plus ancien avec une condition de date, il fonctionne encore et il reste modifiable. Cette ligne s’affiche comme Plage de dates (fixée dans le calendrier), soit Date range (set in Schedule), avec ses champs Du (From) et Au (To) intacts, et une ligne en dessous :

Les nouveaux rabais fixent leurs dates dans le calendrier. Cette condition est conservée pour que les rabais enregistrés plus tôt continuent de tourner comme avant.

Rien ne peut être basculé vers ce type, et une nouvelle ligne ne peut jamais en être une. Faire migrer un vieux rabais est un travail de deux minutes. Copiez les dates dans Date de début et Date de fin sous Période du rabais, supprimez la ligne de condition, et cliquez sur Enregistrer.

Ce qui se qualifie et ce qui ne se qualifie pas

Une condition, Quantité d’articles, minimum 3, maximum 5

Articles dans le panierSe qualifie ?Pourquoi
2NonSous le minimum
3OuiLe minimum est inclusif
4OuiÀ l’intérieur de la plage
5OuiLe maximum est inclusif
6NonAu-dessus du maximum

La même ligne avec Nier cette condition cochée inverse chaque réponse de cette colonne.

Deux conditions, Quantité d’articles ou Valeur du panier

ArticlesSous-total du panierLecture de haut en basLe rabais s’applique ?
540 $oui ou nonOui
1150 $non ou ouiOui
5150 $oui ou ouiOui
140 $non ou nonNon

Ajouter une ligne Stock

Une ligne Stock n’apparaît pas du tout dans ce tableau, parce qu’elle est réglée avant que le panier soit lu. Ajoutez Stock, minimum 5, au rabais ci-dessus et les variantes qui ont moins de 5 unités ne font plus partie du rabais. Les lignes de quantité et de valeur du panier n’ont jamais la chance de les sauver.

VarianteStock à la dernière vérificationDans le rabais ?
Petit2Non, sautée jusqu’à la prochaine vérification
Moyen5Oui, la borne est inclusive
Grand40Oui
Téléchargement numérique, non suiviAucun déclaréOui, le non-suivi n’est jamais sauté

Ce qui ne se qualifie jamais

SituationRésultat
Le statut du rabais est Brouillon (Draft) ou Archivé (Archived)Ne s’applique jamais, peu importe ce que disent les conditions
Aujourd’hui tombe en dehors des dates de la Période du rabaisNe s’applique jamais, parce que la période est vérifiée avant les conditions
Le panier ne contient aucun des produits que vous avez ciblésNe s’applique jamais à ce panier
La variante a été sautée par une condition Stock à la dernière vérificationNe s’applique jamais à cette variante jusqu’à la prochaine vérification
Une condition Valeur du panier sur une boutique qui vend dans plusieurs devises, quand le taux de change ne peut pas être luNe s’applique pas. xDiscount refuse plutôt que de deviner le seuil
Une date illisible sur une ancienne condition de dateNe s’applique pas

Dans chaque cas incertain, xDiscount refuse d’accorder le rabais. Un rabais qui s’applique à tort vous coûte de l’argent sur chaque commande. Un rabais qui à tort ne s’applique pas est visible pour vous et se corrige en une minute.

Ce que les clients voient

La carte et le paiement lisent la même configuration

Une fois que vous avez ajouté le bloc xDiscount offer à votre modèle de produit, la carte d’offre en boutique liste les conditions sous l’offre. La carte est incluse dans chaque forfait, le forfait Gratuit inclus. Cette liste n’est pas une deuxième description écrite à la main. La carte et le rabais au paiement lisent la même configuration enregistrée, alors ce qu’on dit à un client et ce qu’on lui facture ne peuvent pas diverger.

Votre conditionSur la carte
Quantité d’articles, minimum 3Achetez-en 3 ou plus
Quantité d’articles, minimum 3, maximum 5Achetez-en 3 à 5
Quantité d’articles, maximum 5Jusqu’à 5
Valeur du panier, minimum 100Dépensez 100,00 $ ou plus
Valeur du panier, minimum 100, maximum 250Dépensez de 100,00 $ à 250,00 $
Valeur du panier, maximum 250Dépensez jusqu’à 250,00 $
Stock, minimum 5Tant qu’il en reste au moins 5 en stock
Stock, minimum 5, maximum 10Tant que le stock est entre 5 et 10
Stock, maximum 10Tant que le stock est de 10 ou moins
Une ancienne condition de date, du et au2026-11-27 au 2026-11-30
N’importe laquelle des précédentes, niéeNon : Achetez-en 3 ou plus

Les lignes après la première portent leur propre connecteur, et ou ou, imprimé devant elles, dans l’ordre où vous les avez placées dans l’admin.

Une ligne de stock énonce votre borne, pas la tablette d'aujourd'hui

La carte imprime une condition Stock même si le paiement ne l’évalue plus. C’est voulu, parce que la règle reste la raison pour laquelle une offre qu’un client a vue hier n’est plus là aujourd’hui, et le dire vaut mieux qu’une offre qui disparaît en silence. Le chiffre dans la phrase est votre borne, jamais un compte de stock en temps réel.

Les clients qui magasinent dans une autre devise

Si un client magasine dans une devise autre que celle de votre boutique, la carte imprime votre propre chiffre avec le code de devise de votre boutique à côté, par exemple Dépensez 100 EUR ou plus, plutôt que de le convertir. Afficher votre nombre habillé de leur symbole de devise leur dirait de dépenser le mauvais montant pour se qualifier.

Les conditions ne servent jamais à expliquer un échec au paiement. L’étiquette à côté d’une économie appliquée est toujours le seul mot xDiscount. Elle ne détaille jamais la mécanique, les montants, ni la condition qui n’a pas été remplie.

Enregistrement et messages d’erreur

Les erreurs apparaissent après votre premier clic sur Enregistrer, en rouge sous la ligne qui les a causées. En même temps, une bannière intitulée Ce rabais ne peut pas encore être enregistré (This discount can’t be saved yet) apparaît en haut de la page, et la notification « Corrigez les champs en surbrillance avant d’enregistrer. » apparaît.

MessageQuoi faire
Choisissez une condition.Choisissez un type dans le menu déroulant Condition de la ligne
Cette condition n’est plus prise en charge.Supprimez la ligne et ajoutez-la de nouveau
Fixez un minimum, un maximum, ou les deux.La ligne a ses deux bornes vides
Les bornes doivent être des nombres.Retirez tout texte d’une borne de Quantité d’articles ou de Valeur du panier
Le minimum ne peut pas être négatif.Utilisez 0 ou plus
Le minimum est au-dessus du maximum.Inversez les deux valeurs
Les niveaux de stock doivent être des nombres.Retirez tout texte d’une borne de Stock
Les niveaux de stock sont des nombres entiers.Le stock se compte en unités entières, alors retirez la décimale
Le stock ne peut pas être négatif.Utilisez 0 ou plus
Le stock restreint le rabais, alors il doit se joindre avec ET.Une règle Stock est arrivée d’un assistant connecté jointe avec ou. Le formulaire ne produit jamais ça
Fixez une date de début, une date de fin, ou les deux.Une ancienne condition de date n’a ni l’une ni l’autre
Utilisez une vraie date au format AAAA-MM-JJ.Vérifiez que la date existe vraiment au calendrier
La date de fin est avant la date de début.Inversez-les, ou fixez-les égales pour une fenêtre d’une journée

Rien n’est écrit dans votre boutique tant que chaque ligne n’a pas passé.

Les conditions coûtent de l'espace sur chaque produit

Les conditions s’ajoutent à la taille de la configuration que xDiscount enregistre sur chaque produit ciblé, et Shopify plafonne ça à 10 000 octets. Une condition Stock ajoute par-dessus la liste des variantes sautées. Si un enregistrement est refusé parce qu’il est trop grand, réduisez le nombre de variantes ciblées ou rognez les conditions, puis réessayez. Le guide Cibler des produits couvre la limite au complet.