Aller au contenu

Les offres multiachat récurrentes dans Shopify : comment faire 4 pour 10 GBP, 8 pour 20 GBP qui se recalcule par lot

By Stackable TeamPublished on July 30, 2026Discount Strategy#quantity-breaks#volume-discounts
Les offres multiachat récurrentes dans Shopify : comment faire 4 pour 10 GBP, 8 pour 20 GBP qui se recalcule par lot

Shopify natif peut donner à un client un prix fixe comme « 4 pour 10 GBP » une seule fois, mais il ne se réactive pas pour chaque lot supplémentaire. Donc un client qui achète 8 d'un article à 3,49 GBP ne paie pas 20 GBP. Il paie 23,96 GBP, parce que Shopify applique la remise fixe à un seul lot de quatre et facture le prix plein pour le reste. Un vrai multiachat récurrent, où chaque lot complet de quatre se repréprixe à 10 GBP, a besoin d'une remise qui se recalcule par lot. Sur Shopify, cela signifie une remise construite sur Shopify Functions, pas le créateur de remise natif ou un produit bundle fictif.

Ce guide explique ce que les remises natives font réellement avec la tarification à prix fixe, pourquoi l'offre s'arrête après un lot, le contournement du produit-bundle fictif que les commerçants utilisant et pourquoi il nuit plus qu'il aide, comment une remise basée sur Functions recalcule le prix pour chaque lot, et un exemple complet travaillé (4 pour 10 GBP, 8 pour 20 GBP, 12 pour 30 GBP) avec les mathématiques exactes côte à côte.

Peut Shopify faire « 4 pour 10 GBP, 8 pour 20 GBP » nativement ?

Partiellement, et c'est tout le problème. Vous pouvez créer une remise native qui fait en sorte que quatre articles coûtent 10 GBP. Ce que vous ne pouvez pas créer nativement, c'est une offre où le même prix du lot de 10 GBP se répète de lui-même pour chaque groupe supplémentaire de quatre dans le panier. Les types de remise intégrés de Shopify appliquent un montant fixe ou un pourcentage un nombre défini de fois, non une règle « chaque lot complet se repréprixe à 10 GBP » récurrente.

C'est une vraie question de commerçant récurrente. Sur la Communauté Shopify, un commerçant essayant d'exécuter « 4 pour 10 GBP, 8 pour 20 GBP » sur une collection de 600 produits a signalé que les remises natives fixent le prix total une seule fois, donc huit articles coûtaient 23,96 GBP au lieu des 20 GBP qu'ils voulaient, et a demandé comment faire en sorte que chaque lot supplémentaire réactive l'offre. La réponse qu'il a reçue était que les remises natives ne peuvent pas faire la tarification à prix fixe récurrente, et le contournement suggéré était de créer un produit « bundle » fictif au prix de 10 GBP. Nous reviendrons sur pourquoi ce contournement est un piège.

La version courte : Shopify natif est bon pour un prix fixe ponctuel sur une quantité fixe. Cela s'effondre dès que le client achète plus d'un lot et s'attend à ce que l'offre continue à s'appliquer.

PLACEHOLDER D'IMAGE (Image 1) : Un lot versus chaque lot
Suggestion visuelle : Un diagramme propre 16:9 sur un fond blanc. Le côté gauche étiqueté « Shopify natif » montre un panier de 8 articles avec seulement le premier groupe de 4 encadré en violet et au prix de 10 GBP, les 4 restants au prix plein, total 23,96 GBP en rouge. Le côté droit étiqueté « Multiachat récurrent » montre les mêmes 8 articles divisés en deux boîtes violettes de 4, chacune au prix de 10 GBP, total 20 GBP en vert. Vecteur plat minimal, couleurs de marque violet et or, étiquettes sans-serif, pas de photographie.

Qu'est-ce qu'une offre multiachat récurrente ?

Une offre multiachat définit un prix pour un groupe d'articles plutôt qu'un prix par article. « 3 pour 2 », « 2 pour 5 GBP » et « 4 pour 10 GBP » sont tous des offres multiachat. Un multiachat récurrent est celui où le prix du groupe s'applique à nouveau, automatiquement, chaque fois que le client ajoute un autre groupe complet. Quatre articles coûtent 10 GBP, huit coûtent 20 GBP, douze coûtent 30 GBP, et ainsi de suite, l'offre se recalculant pour chaque ensemble complété.

Le mot qui importe est « par lot ». Le client n'obtient pas un montant fixe de remise sur sa commande et n'obtient pas un pourcentage de remise sur chaque unité. Il obtient un prix fixe pour chaque bundle complet d'une taille de lot définie, avec tous les articles restants qui ne complètent pas un lot facturés au prix normal. Ce recalcul par lot est exactement le comportement que Shopify natif n'a pas, et c'est le comportement qu'une remise basée sur Functions réajoute.

Pourquoi « par lot » est plus difficile qu'il n'y paraît

Pour fixer correctement le prix d'un panier, le moteur de remise doit compter combien de lots complets sont dans le panier au moment du paiement, appliquer le prix du lot à chacun, puis décider quoi faire avec le reste. Un panier de six articles est un lot complet de quatre à 10 GBP plus deux unités libres au prix plein. Un panier de huit est deux lots à 20 GBP plat. Ce compte change chaque fois que l'acheteur ajuste une quantité, et il doit être recalculé côté serveur pour que le nombre sur la page du panier soit le nombre qu'il paie réellement. Les remises natives ne recalculent pas un compte de lot de cette façon, ce qui est la racine de la surprise « 8 pour 23,96 ».

Pourquoi Shopify natif ne remise-t-il qu'un seul lot ?

Shopify natif a deux types de remise qui semblent pouvoir faire multiachat, et les deux se sont arrêtés de manière différente.

Le montant off sur les produits applique la remise fixe une seule fois

L'approche native la plus proche pour « 4 pour 10 GBP » est une remise « Montant off sur les produits » avec une quantité minimale de quatre et un montant fixe de remise calibré pour ramener quatre articles à 10 GBP. Selon le Centre d'aide Shopify, les remises montant off sur produits prennent un montant fixe ou un pourcentage sur les articles admissibles. Le problème est que la valeur fixe est appliquée aux articles de ligne admissibles comme une déduction, non réactivée pour chaque lot supplémentaire. Si quatre d'un article à 3,49 GBP ont besoin de 3,96 GBP enlevés pour atteindre 10 GBP, Shopify soustrait ce 3,96 GBP une seule fois. Ajoutez quatre autres articles et Shopify ne soustrait pas un deuxième 3,96 GBP. Le client obtient un prix du lot unique et le prix plein sur tout ce qui suit. C'est précisément comment huit articles arrivent à 23,96 GBP plutôt que 20 GBP.

Buy X Get Y concerne les articles supplémentaires, pas un total de lot

L'autre candidat est une remise « Buy X Get Y ». Selon la documentation du développeur Shopify, une remise Buy X Get Y est définie par ce que le client achète (une quantité de prérequis d'articles) et ce qu'il obtient ensuite (une quantité d'articles à prix réduit ou gratuit). Elle est construite pour offrir au client des unités supplémentaires réduites, par exemple « achetez 3, obtenez 1 gratuit ». Elle n'est pas construite pour exprimer « ces quatre articles ensemble coûtent 10 GBP ». Vous ne pouvez pas exprimer un total fixe de lot dans le modèle buy/get, car le modèle réduit les articles « get », il ne repréprixe pas le groupe entier à un nombre fixe. Buy X Get Y porte aussi d'autres limites natives que les commerçants rencontrent, y compris un plafond sur les produits admissibles, que nous couvrons dans un article séparé sur la limite Buy X Get Y de 100 produits.

Donc le créateur natif vous donne un prix du lot qui se déclenche une seule fois (montant off sur produits) ou une mécanique d'article supplémentaire qui ne peut pas exprimer un total de lot du tout (Buy X Get Y). Ni l'un ni l'autre ne se recalcule par lot, et ce n'est pas un bug auquel vous pouvez contourner en configurant. C'est la limite de ce que les types natifs sont conçus pour faire.

Le contournement du produit-bundle fictif (et pourquoi il se retourne contre vous)

Le contournement no-app le plus courant, et celui suggéré dans ce fil de Communauté, est de créer un nouveau produit qui représente l'ensemble. Vous créez un produit « pack de 4 », définissez son prix à 10 GBP, et vendez cela. En surface, cela fonctionne : le client ajoute un « pack de 4 » et paie 10 GBP, ajoute deux et paie 20 GBP. Le prix du lot se répète car chaque unité du produit fictif est déjà au prix comme un lot.

Cela se retourne contre vous de plusieurs façons coûteuses.

  • L'inventaire se désynchronise. À moins que vous ne liiez le bundle à ses produits composants via la fonction Bundles native de Shopify ou une application de bundling, vendre un « pack de 4 » ne décrémente pas le stock des quatre articles réels à l'intérieur. Vous finissez par maintenir deux réalités d'inventaire qui dérivent.
  • Les clients ne peuvent pas acheter les quantités qu'ils veulent. Un vrai multiachat permet à quelqu'un d'acheter 5 ou 7 unités et d'obtenir un lot au prix du lot plus des articles libres au prix plein. Un produit bundle fictif force les achats en multiples de la taille du lot. Voulez-vous six ? Vous ne pouvez pas, vous obtenez quatre ou huit.
  • Cela ne s'étend pas sur une collection. Le commerçant du fil de Communauté voulait l'offre sur 600 produits avec des lots mélangés. Un produit bundle fictif a besoin d'un SKU séparé pour chaque combinaison que les clients pourraient vouloir, ce qui est impossible au-delà d'une poignée d'articles. Le mélange et correspondance sur une grande collection est exactement ce qu'un produit bundle ne peut pas représenter.
  • Cela pollue le marchandisage et l'analytique. Le bundle apparaît comme son propre produit dans la recherche, les collections et les rapports. Vos données de ventes par article se cachent maintenant dans les éléments de ligne « pack de 4 », et les clients parcourant la page du produit réel voient un prix différent du bundle, ce qui est déroutant.
  • Les variantes se multiplient. Si les produits sous-jacents ont des tailles ou des couleurs, chaque combinaison de variante à l'intérieur de l'ensemble doit exister sur le produit bundle, et le nombre de variantes explose rapidement.

Le contournement échange un problème de tarification pour un problème d'inventaire, de catalogue et de rapport. Pour un seul produit héros sans variantes, cela peut tenir tant bien que mal. Pour un vrai catalogue, ce n'est pas maintenable.

Comment une remise basée sur Functions se recalcule par lot

La façon fiable de gérer un multiachat récurrent est une remise qui s'exécute comme du code à l'intérieur du propre pipeline de paiement de Shopify, utilisant Shopify Functions. Au lieu d'une déduction fixe appliquée une seule fois, la remise lit le panier au moment du paiement, compte combien de lots complets de la taille du lot sont présents, applique le prix du lot à chaque lot complet, et laisse tout reste à son prix normal. Parce qu'il recalcule à chaque changement de panier et s'exécute côté serveur, le prix est recalculé pour chaque lot et le total du panier correspond au total du paiement.

Voici la logique en anglais clair pour une affaire « 4 pour 10 GBP » sur un article qui coûte normalement 3,49 GBP :

  1. Compter les unités admissibles dans le panier. Disons que le client en a 10.
  2. Diviser par la taille du lot de quatre. C'est deux lots complets (8 unités) avec un reste de 2.
  3. Fixer le prix des deux lots complets à 10 GBP chacun, pour 20 GBP.
  4. Facturer les 2 unités restantes au prix normal de 3,49 GBP chacune, pour 6,98 GBP.
  5. Total du panier : 26,98 GBP, calculé de la même manière sur la page du panier, le paiement et dans Shop Pay.

Chaque étape est déterministe et se répète à mesure que le nombre de lots augmente. Douze unités sont trois lots à 30 GBP sans reste. Parce que le calcul vit dans une Function plutôt que dans JavaScript du thème, les caisses accélérées comme Shop Pay, Apple Pay et Google Pay, qui ignorent la page du panier, obtiennent quand même le prix identique. C'est la même raison pour laquelle les remises côté serveur évitent le décalage panier-versus-paiement que nous couvrons dans comment fonctionne l'empilement des remises dans Shopify.

IMAGE PLACEHOLDER (Image 2): Compter les lots complets au paiement
Suggestion visuelle : Un diagramme de flux 16:9. Boîtes d'étape de gauche à droite, connectées par des flèches or : « Le panier a 10 unités » puis « Diviser par la taille du lot 4 » puis « 2 lots complets + 2 reste » puis « 2 lots au prix de 10 GBP chacun = 20 GBP » puis « 2 unités libres à 3,49 GBP = 6,98 GBP » puis une carte de total vert « 26,98 GBP, identique partout ». Vecteur plat propre, boîtes violettes avec des flèches or, nombres en monospace, fond blanc, pas de photographie.

Exemple travaillé : 4 pour 10 GBP, 8 pour 20 GBP, 12 pour 30 GBP

Rendons la différence concrète avec un seul produit qui se vend normalement pour 3,49 GBP. L'offre est « 4 pour 10 GBP », ce qui signifie que chaque lot complet de quatre devrait se repréprixe à 10 GBP peu importe combien de lots le client achète. Pour atteindre 10 GBP pour un lot de quatre (normalement 13,96 GBP), l'offre a besoin de retirer 3,96 GBP de chaque lot complet.

Le tableau ci-dessous montre les mêmes paniers de trois façons : prix plein sans offre, Shopify natif appliquant la remise fixe une seule fois, et un multiachat récurrent qui se recalcule par lot.

Lisez la ligne 8 unités. Le prix plein est 27,92 GBP. Le natif soustrait la remise de lot fixe unique de 3,96 GBP et s'arrête, arrivant à 23,96 GBP, le chiffre exact que le commerçant de Communauté a signalé. Le multiachat récurrent soustrait 3,96 GBP deux fois, une fois pour chaque lot complet, et arrive à 20,00 GBP. À 12 unités, l'écart s'élargit à 7,92 GBP, car le natif n'a appliqué qu'une remise de lot unique tandis que le multiachat en a appliqué trois.

Remarquez que la ligne 6 unités est identique pour le natif et le multiachat à 16,98 GBP, car il n'y a qu'un seul lot complet de toute façon (un lot de quatre à 10 GBP, plus deux unités libres à 3,49 GBP). Les deux approches divergent seulement une fois qu'un deuxième lot se termine. C'est le signe : si votre promotion ne vend jamais plus d'un lot par commande, le natif est suffisant. Si les clients achètent régulièrement des multiples, le natif les surcharge silencieusement dès qu'ils franchissent dans un deuxième lot, et chaque commerçant qui exécute cette affaire finit par recevoir le ticket de support « pourquoi mon pack de 8 n'est pas 20 GBP ».

Comment configurer un multiachat récurrent, étape par étape

Que vous utilisiez les remises natives pour une offre de lot unique ou une application basée sur Functions pour une vraie offre récurrente, la pensée de configuration est la même. Voici la séquence fiable.

1. Écrivez l'offre comme taille du lot, prix du lot et règle de reste

Définissez trois nombres avant de toucher à des paramètres : la taille du lot (4), le prix du lot (10 GBP) et ce qui se passe avec les unités restantes qui ne complètent pas un lot (facturées au prix normal est le choix habituel et le plus juste). Si vous ne pouvez pas exprimer l'offre en ces termes, vous n'avez pas encore un multiachat, vous avez quelque chose d'autre.

2. Décidez ce qui compte comme « le même produit »

Un multiachat doit savoir quelles unités du panier comptent vers un lot. Est-ce quatre d'une variante exacte, quatre de n'importe quelle variante d'un produit (mélanger les tailles librement), ou quatre tirés d'un groupe de produits choisis à la main ? Ce choix « comptage » est la différence entre une offre propre et une qui ne se déclenche jamais ou se déclenche sur des articles non liés. Stackable appelle ces comptages per_variant, per_product et per_group, et c'est la même décision derrière les remises volumiques par produit.

3. Choisissez votre mécanisme honnêtement

Pour une promotion de lot unique, une remise native « Montant off sur les produits » avec une quantité minimale est réellement bien, et gratuite. Pour une affaire récurrente, ou une affaire qui s'étend sur une collection avec mélange et correspondance, utilisez une application de remise construite sur Shopify Functions pour que le prix se recalcule par lot. N'utilisez le produit bundle fictif que si vous avez un seul produit héros sans variante et aucune intention de le mettre à l'échelle.

4. Définir la combinabilité délibérément

Décidez si ce multiachat devrait s'empiler avec autre chose. Un multiachat est une remise de classe produit, donc il peut se combiner avec une remise de commande ou la livraison gratuite (classes différentes) si vous activez la combinaison, mais il ne s'empilera pas avec une autre remise produit sur le même article. Définissez cela exprès plutôt que de le découvrir au paiement.

5. Tester un deuxième lot, pas seulement le premier

C'est l'étape qui détecte la lacune native. Ne testez pas avec un panier de quatre et appelez cela fait, car quatre semble correct dans chaque approche. Testez avec huit et douze, passez une commande de brouillon ou de test, et lisez la ligne de résumé du paiement ligne par ligne. Si le total est 23,96 GBP au lieu de 20 GBP sur huit unités, votre offre s'applique une seule fois, non par lot. Testez ensuite un non-multiple comme six pour confirmer que les unités restantes sont facturées correctement.

6. Vérifier la caisse accélérée

Exécutez le panier à huit unités via Shop Pay. Une remise native ou basée sur Functions le fixe au prix identique car les mathématiques sont côté serveur. Une « affaire » de script de thème est où les caisses accélérées ignorent silencieusement la remise, donc c'est votre dernière ligne de défense avant que les clients ne trouvent le vide pour vous.

IMAGE PLACEHOLDER (Image 3): Tester le deuxième lot
Suggestion visuelle : Une maquette de capture d'écran de produit 16:9 d'un résumé de commande de paiement Shopify en style Polaris propre. Montrez un panier de 8 articles identiques avec une ligne lisant « Multiachat : 4 pour 10 GBP appliqué x2 » et un total de commande de 20,00 GBP mis en évidence en violet, avec un petit badge de coche verte lisant « Recalculé par lot ». Référencez les docs/screenshot-manifest.md emplacement pour une capture de résumé de paiement à échanger plus tard pour l'écran réel. Accent de marque violet, pas de photographie.

Exécuter le multiachat récurrent de manière fiable avec Stackable

Si vous voulez un prix du lot qui se réactive vraiment pour chaque lot, sans un produit bundle fictif et sans vérification manuelle des commandes de test, c'est ce que Stackable est construit pour faire, et cela reste dans les vraies règles de Shopify.

  • Les mathématiques du multiachat s'exécutent dans une Shopify Function, pour que le prix du lot se recalcule pour chaque lot complet et la page du panier, le paiement et Shop Pay calculent tous le même total à partir d'un moteur. Huit unités coûtent 20 GBP, non 23,96 GBP, partout.
  • Vous choisissez ce qui compte comme « le même produit » avec le comptage per_variant, per_product ou per_group, donc un lot peut être quatre d'une variante exacte, quatre de n'importe quelle taille d'un produit, ou quatre tirés d'un groupe de produits choisis à la main, sans regrouper votre catalogue entier.
  • La logique de répétition est intégrée, donc l'offre continue à s'appliquer à mesure que la quantité augmente plutôt que de se déclencher une seule fois. C'est le même recalcul par lot derrière les offres BOGO et Buy X Get Y de Stackable.
  • Stackable ne change jamais les prix de vos produits. Le multiachat existe seulement comme un ajustement de paiement, donc il n'y a pas de SKU de bundle fictif dans votre catalogue, votre inventaire reste exact, et la désinstallation laisse vos produits exactement comme ils étaient.

Installez Stackable gratuitement et vérifiez que votre offre 8 pour 20 facture bien 20 GBP dans le panier, au paiement et dans Shop Pay, sur usestackable.com/pricing.

La ligne du bas

  • Shopify natif peut fixer le prix d'un lot à « 4 pour 10 GBP », mais il applique la remise fixe une seule fois, donc huit unités coûtent 23,96 GBP au lieu de 20 GBP et l'offre s'arrête après le premier lot.
  • Buy X Get Y ne peut pas non plus exprimer un total de lot ; il réduit les articles « get » supplémentaires au lieu de repréprixer un groupe entier à un nombre fixe.
  • Un multiachat récurrent se recalcule par lot : il compte les lots complets dans le panier, en fixe le prix à chacun, et facture les unités restantes au prix normal.
  • Le contournement du produit-bundle fictif force l'achat en multiples, casse l'inventaire et l'analytique, et ne peut pas faire le mélange et correspondance sur une collection. Évitez-le au-delà d'un seul produit simple.
  • Une remise construite sur Shopify Functions se recalcule par lot côté serveur, donc le panier, le paiement et Shop Pay affichent tous le même total.
  • Toujours tester un panier avec deux lots ou plus (huit et douze unités), pas seulement un, car un lot unique semble correct dans chaque approche et cache la lacune.
  • Des outils comme Stackable exécutent le multiachat dans une Function avec comptage par produit et logique de répétition, donc 8 pour 20 GBP facture 20 GBP sans produit fictif dans votre catalogue.

Articles connexes

Questions fréquentes

Trouvez les réponses aux questions courantes

  • Seulement pour un seul lot. Vous pouvez créer une remise « Montant off sur les produits » qui ramène quatre articles à 10 GBP, mais Shopify applique cette remise fixe une seule fois, donc huit articles ne coûtent pas 20 GBP. Sur un article à 3,49 GBP, huit unités arrivent à 23,96 GBP car seul le premier lot est remisé. Une offre qui recalcule le prix pour chaque lot nécessite une remise construite sur Shopify Functions.

  • Parce que la remise « Montant off sur les produits » soustrait une valeur fixe des articles admissibles une seule fois, au lieu de se réactiver pour chaque lot supplémentaire. Elle n'a pas le concept de compter les lots complets et d'appliquer le prix à nouveau. Tous les articles au-delà du premier lot sont facturés au prix plein, ce qui est pourquoi les commerçants voient des totaux comme 23,96 GBP au lieu de 20 GBP sur huit articles.

  • Un multiachat définit un prix pour un groupe d'articles, comme « 4 pour 10 GBP ». Un multiachat récurrent applique ce prix de groupe à nouveau pour chaque groupe complet supplémentaire, donc 4 coûte 10 GBP, 8 coûte 20 GBP, et 12 coûte 30 GBP, tous les articles restants étant facturés au prix normal. Le comportement clé est que l'offre se recalcule par lot plutôt que de s'appliquer une seule fois.

Do this in your store

  • Quantity Breaks

    per_variant, per_product, or per_group: choose exactly what counts as "the same product" for Shopify quantity breaks and every quantity-based discount.

  • Volume Discounts

    Set volume discounts that count one product's variants, not your whole collection. Shopify tiered pricing that holds up from cart to checkout.

Stackable Team

The team building Stackable, the reliability-first bulk and volume discount app for Shopify. We write about discount stacking, Shopify Functions, and how to run promotions that hold up at checkout.

Nous utilisons des cookies essentiels pour faire fonctionner ce site et, uniquement avec votre autorisation, des cookies d'analyse pour comprendre le trafic. Consultez notre Politique de cookies.