La remise Buy X Get Y native de Shopify plafonne le nombre de produits que vous pouvez marquer comme éligibles, une limite largement rapportée par les commerçants et le support Shopify comme étant 100 produits, et elle s'applique un nombre fixe de fois par commande plutôt que de se répéter à mesure que le panier augmente. Cette combinaison est la raison pour laquelle vous ne pouvez pas exécuter un vrai 3 pour 2 storewide sur un catalogue de plusieurs centaines d'articles, et pourquoi un client qui achète neuf produits éligibles n'obtient pas automatiquement trois d'entre eux gratuitement. Pour exécuter Buy X Get Y storewide ou répétition, vous avez besoin d'une remise construite sur Shopify Functions, qui n'a pas un tel plafond de produits et peut réappliquer l'offre chaque fois que la quantité d'achat est atteinte.
Ce guide explique comment fonctionne Buy X Get Y natif, exactement où il s'arrête (le plafond de produits, le comportement sans répétition, la nuance de l'article le moins cher, et comment les variantes sont comptées), pourquoi ces limites existent, les contournements que les commerçants utilisent et pourquoi les brouillons de commande et les collections dupliquées cassent silencieusement les codes, l'analytique, et le checkout accéléré, et la façon basée sur Functions d'exécuter 3 pour 2 et buy-6-get-2 dans votre catalogue entier.
Buy X Get Y de Shopify a-t-il une limite de produit ?
Oui. Quand vous construisez une remise Buy X Get Y dans l'admin Shopify, vous choisissez quels produits ou collections le client doit acheter et lesquels obtiennent une remise. Ajouter ces articles éligibles un par un bute sur un plafond. Les commerçants sur les forums Shopify rapportent que le constructeur arrête de les laisser ajouter des produits une fois qu'ils atteignent 100, et le support Shopify a confirmé le même plafond dans ces fils. Dans un fil de partenaire Shopify largement lu intitulé"Chercher une contournement pour la limite de 100 produits de Shopify pour Buy X Get Y", un commerçant essayant de faire un simple 3 pour 2 sur un grand catalogue se voit dire qu'il y a une limite stricte de 100 produits et qu'aucun paramètre natif ne l'enlève.
Une note rapide sur la précision. La documentation publique de Shopify pour les développeurs décrit lesobjets de remise Buy X Get Yet leur comportement, mais elle n'imprime pas un "100" exact dans la référence d'API. Donc traitez 100 comme la limite largement rapportée que les commerçants et le support Shopify citent dans le Centre d'aide et la communauté, plutôt que comme un nombre gravé dans le contrat de la plateforme. Le point clé pratique ne change pas : Buy X Get Y natif n'est pas conçu pour couvrir un large catalogue entier, et une fois que vous dépassez le plafond vous ne pouvez pas ajouter plus de produits éligibles.
Le plafond mord le plus dur sur exactement les boutiques qui veulent cette promotion le plus. Une marque de vêtements 400-SKU fonctionnant "acheter n'importe quel 3, le moins cher gratuit" ne peut pas sélectionner tous les produits. Une boutique d'articles de maison avec 600 articles ne peut pas mettre sa gamme complète dans un mélange et assortissement 3 pour 2. Vous finissez soit par plafonner la promotion à un arbitraire 100 articles soit en la scindant en plusieurs remises, chacune avec sa propre liste d'éligibilité, ce qui est fragile et facile à mal faire.
PLACEHOLDER D'IMAGE (Image 1) : Le mur de 100 produits
Visuel suggéré : Un diagramme propre 16:9 sur un fond blanc. Une grande grille de produits de petites tuiles d'articles s'estompe du violet solide (les premiers 100, étiquetés "éligibles") en tuiles grisées (étiquetées "ne peut pas être ajouté"), avec une ligne verticale audacieuse en or marquée "limite de 100 produits" les séparant. Un petit compteur dans le coin lit "100 / 400 produits." Style vector plat, couleurs de marque violet et or, étiquettes sans-serif, pas de photographie.
Comment fonctionne réellement Buy X Get Y natif ?
Buy X Get Y, parfois appelé BXGY ou BOGO, est l'un des types de remise intégrés de Shopify. Il récompense un client avec des articles remisés ou gratuits une fois qu'il achète une quantité éligible d'autres articles. C'est une remise de classe de produit, ce qui signifie qu'elle réduit le prix de lignes de panier spécifiques plutôt que le sous-total de la commande ou l'expédition.
Les moitiés "le client achète" et "le client obtient"
Chaque remise Buy X Get Y a deux moitiés. Le côté "le client achète" définit le déclencheur : une quantité minimale (ou une dépense minimale) de produits ou collections que vous choisissez. Le côté "le client obtient" définit la récompense : une quantité de produits ou collections qui deviennent gratuits ou remisés d'un pourcentage ou d'un montant fixe. Lamutation de création Buy X Get Yde Shopify expose exactement ces champs,customerBuysetcustomerGets, et les articles de chaque côté peuvent être des produits ou des collections. Une configuration classique est l'achat 2 d'une collection, obtenir 1 de la même collection gratuit, ce qui produit l'offre familière "acheter 2, obtenir 1".
La nuance de l'article le moins cher
Pour une promotion de style "3 pour 2", l'intention est que le moins cher des trois articles éligibles devienne gratuit. Buy X Get Y natif peut rendre l'article "obtien" gratuit, mais il n'a pas de mode dédié "toujours remettre l'article éligible le moins cher du panier" de la manière que les commerçants supposent souvent. Quand les listes d'achat et d'obtien se chevauchent (le client achète et obtien de la même collection), Shopify applique bien la remise à la ligne éligible moins chère, ce qui se rapproche de gratuit-le-moins-cher pour un seul ensemble. Le problème commence quand le panier contient plus d'un ensemble, parce que l'offre ne continue pas à trouver et libérer l'article suivant le moins cher à mesure que les quantités augmentent. C'est le problème de répétition, couvert ci-dessous.
Comment les variantes sont comptées
Buy X Get Y fonctionne au niveau du produit et des variantes, ce qui est une force et un piège. Vous pouvez inclure des variantes spécifiques, ce que le commerçant veut quand seulement certaines tailles ou couleurs devraient être éligibles. Mais l'éligibilité est toujours une liste finie de produits ou collections, donc une boutique qui veut "n'importe quelle variante de n'importe quel produit, mélange et assortiment" court droit sur le plafond de produits. Vous ne pouvez pas exprimer "le catalogue entier, toutes les variantes, acheter n'importe quel 3" comme une seule règle native une fois que le catalogue dépasse le plafond.
Pourquoi Buy X Get Y natif ne peut pas se répéter ?
C'est le deuxième mur, et pour de nombreuses boutiques c'est pire que le plafond de produits. Buy X Get Y natif s'applique un nombre limité de fois par commande plutôt que de se réappliquer pour chaque ensemble éligible du panier. La mutation de création propre de Shopify inclut un champusesPerOrderLimitet l'exemple documenté le définit à1, signifiant que la remise est accordée une seule fois pour cette commande. Il n'y a pas de bascule native qui dit "réappliquer cette offre automatiquement chaque fois que le client achète un ensemble éligible supplémentaire."
Jouez-le. Vous exécutez "acheter 6, obtenir 2 gratuit." Un client ajoute 12 articles éligibles à son panier, clairement deux ensembles complets. Il s'attend à 4 articles gratuits. Buy X Get Y natif lui en donne 2, parce que l'offre s'est déclenchée une fois et s'est arrêtée. La même chose casse un 3 pour 2 storewide : un client avec 9 articles éligibles dans le panier devrait obtenir 3 gratuit (trois ensembles de trois), mais la remise native en libère seulement 1. L'affiche promo du commerçant dit une chose et le checkout en dit une autre, ce qui érode la confiance et génère des tickets de support.
Les commerçants décrivent vouloir exactement ce pattern dans les forums : "acheter 6 obtenir 2 gratuit, acheter 9 obtenir 3 gratuit," un ratio qui mise à l'échelle avec la quantité du panier. Buy X Get Y natif n'a pas été construit pour recalculer par ensemble, donc l'offre sous-livre ou force le commerçant à plafonner la promotion de manière que les clients trouvent déroutante.
Pourquoi le plafond de 100 produits existe-t-il ?
Le plafond n'est pas une cruauté arbitraire. Les remises natives stockent leur éligibilité comme une liste explicite de droits de produit ou collection attachée à l'enregistrement de remise, et Shopify garde cette liste bornée pour que la remise reste rapide à évaluer sur chaque panier et au checkout. Une remise qui devrait scanner une liste non bornée de milliers de produits spécifiques sur chaque mise à jour du panier serait plus lente et plus difficile à garder cohérente sur la page du panier, le checkout, et les checkouts accélérés. Borner la liste de droits garde les remises natives prévisibles.
Le choix de conception qui enlève le plafond est d'arrêter de stocker une liste géante de produits individuels et d'évaluer à la place l'éligibilité avec logique au runtime. C'est exactement ce que Shopify Functions fait. Au lieu de "voici 400 ID de produits spécifiques," une Function peut être informée "tout article portant cette étiquette" ou "tout article dans cette collection" et décider, article par article, à mesure que le panier est calculé, si chaque ligne est éligible. Parce que la règle est logique plutôt qu'une liste stockée, la taille du catalogue n'a plus d'importance. C'est la même architecture que Shopify elle-même pointe les commerçants vers pour le comportement de remise que le constructeur natif ne peut pas exprimer.
PLACEHOLDER D'IMAGE (Image 2) : Éligibilité basée sur liste par rapport basée sur logique
Visuel suggéré : Une illustration de panneau divisé 16:9. Panneau gauche étiqueté "Natif : liste stockée" montre un enregistrement de remise tenant une pile fixe de 100 cartes de produit avec un tampon "plein" rouge. Panneau droit étiqueté "Functions : une règle" montre une puce de règle unique lisant "tag = sale" avec une flèche s'éventaillant en une grille illimitée de tuiles de produit, toutes cochées vert. Un séparateur central. Couleurs de marque violet et or, style vector plat, pas de photographie.
Quels contournements les commerçants essaient-ils, et pourquoi cassent-ils ?
Parce que Buy X Get Y natif s'arrête court, les boutiques cherchent des hacks. Chacun échange le plafond pour un problème différent, généralement pire.
Remises dupliquées, une pour 100 produits
Le mouvement évident est de scinder le catalogue en morceaux de 100 et créer une remise Buy X Get Y distincte pour chaque morceau. C'est un peu qui marche jusqu'à ce que vous pensiez au panier. Un client qui achète deux articles éligibles qui se trouvent tomber dans différents morceaux ne déclenche pas la quantité d'achat d'une seule remise, donc la promotion échoue silencieusement pour les paniers mixtes. Vous multipliez également votre maintenance : chaque nouveau produit doit être classé dans le bon morceau, et Shopify limite combien de remises actives vous pouvez exécuter. Cette approche combat le but entier de la promotion, qui est de laisser les clients mélanger et assortir librement sur la gamme.
Brouillons de commande avec remises manuelles
Une suggestion courante est de construire la commande en tant que brouillon dans l'admin, appliquer la remise à la main, et envoyer au client une facture. Cela enlève bien le plafond de produits, mais cela casse les choses qui rendent une vitrine fonctionner. Un flux de brouillon de commande n'est pas le checkout normal : il ne laisse pas le client appliquer ses propres codes de remise en plus, il ne fonctionne pas par l'analytique standard de la même manière, et il contourne complètement les checkouts accélérés. Shop Pay, Apple Pay, et Google Pay les acheteurs ne voient jamais un brouillon de commande construit à la main, donc vos clients convertissant le plus rapidement ne peuvent pas utiliser l'offre du tout. Les brouillons de commande sont bien pour la vente occasionnelle par téléphone. Ils ne sont pas un mécanisme pour exécuter une promotion en libre-service à l'échelle.
Le truc "produit de bundle faux"
Pour la tarification d'ensemble répétée, certains commerçants créent un seul produit faux au prix du total d'ensemble, par exemple un produit "3 pour 2 bundle" au prix de deux articles, et cachent les vrais produits. Cela détruit l'inventaire (le SKU de bundle est découplé du stock réel), détruit le merchandising (les clients ne peuvent pas naviguer et choisir librement), et détruit le reporting (les ventes s'accumulent sous un faux SKU). Cela ne peut pas non plus exprimer "n'importe quel 3 de cette large gamme," qui est la flexibilité qu'un mélange et assortissement 3 pour 2 est supposé donner.
Le pattern sur les trois : chaque contournement échange une promotion propre, en libre-service, checkout-native pour quelque chose de manuel, fragile, ou invisible pour les acheteurs qui convertissent mieux. Aucun d'eux ne restaure ce que les commerçants veulent réellement, qui est un comportement Buy X Get Y natif sans le plafond et avec une logique de répétition appropriée.
Comment exécuter Buy X Get Y storewide, répétition avec Shopify Functions
Le fix durable est une remise construite sur Shopify Functions, le même moteur côté serveur que Shopify utilise pour laisser les apps personnaliser la logique de remise. Un Buy X Get Y basé sur Functions résout les deux murs à la fois.
D'abord, l'éligibilité devient une règle au lieu d'une liste. Vous délimitez l'offre par étiquette ou par collection, et la Function évalue chaque ligne de panier par rapport à cette règle au moment du calcul. Il n'y a pas de liste de droits de 100 produits à remplir, donc un catalogue de 400 produits ou 4 000 produits est traité de la même manière. Les nouveaux produits qui correspondent à l'étiquette s'inscrivent automatiquement au moment où vous les ajoutez, sans remise à ré-éditer.
Deuxièmement, l'offre peut se répéter. Une Function peut réappliquer le ratio achat-obtien pour chaque ensemble éligible du panier, donc "acheter 3, obtenir 1 gratuit" devient 2 gratuit à 6 articles et 3 gratuit à 9 articles, dans une seule offre. La même logique pilote "acheter 6, obtenir 2 gratuit" doublant à 4 gratuit à 12 articles. Et parce que la Function fonctionne à l'intérieur du pipeline de checkout propre de Shopify, la page du panier, la page de checkout, et les checkouts accélérés calculent tous le résultat identique, donc un acheteur Shop Pay obtient exactement ce que le tiroir du panier promettait.
Troisièmement, le comportement de l'article le moins cher devient explicite. Une Function peut être informée de toujours remettre l'article le moins cher éligible dans chaque ensemble, ce que vrai 3 pour 2 signifie, ou d'appliquer un pourcentage au lieu de complètement gratuit pour une offre plus douce. Selon la documentation de développeur de Shopify, lemodèle de remise Buy X Get Ya des limitations documentées et des considérations, et Functions sont le chemin supporté pour aller au-delà.
Exemple travaillé : un 3 pour 2 storewide et un buy-6-get-2 répétition
Rendons les deux promotions concrètes.
Promotion A : 3 pour 2 sur un catalogue de 400 produits
Une boutique de vêtements veut "acheter n'importe quel 3, obtenir le moins cher gratuit" sur sa gamme entière de 400 SKU, et veut que les nouveaux articles se joignent automatiquement. Avec une offre basée sur Functions, l'éligibilité est une étiquette (dire,promo-3for2) appliquée au catalogue entier, la quantité d'achat est 3, la quantité obtien est 1, la remise est 100 pour cent de l'article éligible le moins cher, et la répétition est activée.
Voici comment un panier réel se résout.
Buy X Get Y natif ne peut pas exprimer cela à deux niveaux : il ne peut pas couvrir 400 produits dans une liste d'éligibilité, et même dans un ensemble couvert il libérerait seulement un article pour le panier de 9 articles au lieu de trois. L'offre basée sur Functions gère à la fois la taille du catalogue et la répétition.
Promotion B : un acheter-6-obtenir-2 répétition
Une marque de snacks exécute "acheter 6 barres, obtenir 2 gratuit," et l'affiche promo implique qu'elle devrait doubler pour un panier de 12 barres. La configuration est la quantité d'achat 6, la quantité obtien 2, répétition activée, 100 pour cent de réduction des articles obtien.
Un panier de 12 barres obtient 4 barres gratuites, deux répétitions de l'ensemble 6 pour 2, qui est exactement ce que l'affiche promettait. Buy X Get Y natif, s'appliquant une seule fois par commande, donnerait 2 barres gratuites pour le même panier de 12 barres et sous-vendrait silencieusement l'offre.
Le point des deux tableaux n'est pas que les mathématiques sont difficiles. C'est que Buy X Get Y natif s'arrête au premier ensemble et à 100 produits, et une offre basée sur Functions continue.
Exécutez cela de manière fiable avec Stackable
Si vous préférez configurer cela plutôt que de construire une Shopify Function personnalisée,Stackableexécute Buy X Get Y au-delà des limites natives, honnêtement et dans les vraies règles de Shopify.
- Pas de plafond de 100 produits. Vous délimitez l'éligibilité par étiquette, collection, ou une liste explicite sans limite supérieure, donc un 3 pour 2 storewide couvre votre catalogue entier et les nouveaux produits qui correspondent à la règle s'inscrivent automatiquement.
- La logique de répétition est une seule bascule. "Acheter 3, obtenir 1 gratuit" se réapplique à mesure que le panier augmente, donc 6 articles obtient 2 gratuit et 9 articles obtient 3 gratuit, et "acheter 6, obtenir 2 gratuit" double à 4 gratuit à 12 articles, tout dans une seule offre.
- L'article-le-moins-cher-gratuit est la valeur par défaut, et vous pouvez la passer à un pourcentage pour une affaire plus douce, ou fixer la remise à un article spécifique.
- Les mathématiques fonctionnent à l'intérieur d'uneShopify Function, donc la page du panier, le checkout, et les checkouts accélérés comme Shop Pay calculent tous le même résultat. Il n'y a pas de hack de brouillon de commande, pas de faux SKU de bundle, et pas de dérive theme-versus-checkout.
Installez Stackable gratuitement et lancez un 3 pour 2 sur toute la boutique, répétable et juste au centime près, sur usestackable.com/pricing. 🚀
Le résumé
- Buy X Get Y natif plafonne le nombre de produits que vous pouvez marquer comme éligibles, une limite que les commerçants et le support Shopify rapportent largement comme 100, donc il ne peut pas couvrir un grand catalogue dans une seule règle.
- Buy X Get Y natif s'applique aussi un nombre fixe de fois par commande, donc il ne se répète pas : un panier de 9 articles sur un 3 pour 2 libère 1 article, pas 3, et un panier de 12 barres sur buy-6-get-2 libère 2, pas 4.
- Les contournements échangent tous le plafond pour un problème pire : les remises dupliquées cassent le mélange et l'assortissement, les brouillons de commande contournent les codes et le checkout accéléré, et les faux SKU de bundle détruisent l'inventaire et le reporting.
- Le plafond existe parce que les remises natives stockent l'éligibilité comme une liste bornée. Shopify Functions évaluent l'éligibilité comme une règle au runtime, donc la taille du catalogue n'a plus d'importance.
- Un Buy X Get Y basé sur Functions exécute storewide et peut se répéter par ensemble, toujours remettant l'article le moins cher éligible, avec le même total sur la page du panier, le checkout, et Shop Pay.
- Les outils comme Stackable vous donnent aucun plafond de produits, une bascule de répétition, et article-le-moins-cher-gratuit par défaut, donc un vrai 3 pour 2 sur votre catalogue entier est quelques paramètres plutôt qu'une Function personnalisée.
Articles connexes
- BOGO et Buy X Get Y au-delà du plafond de 100 produits: exécutez 3 pour 2 storewide avec logique de répétition et article-le-moins-cher-gratuit.
- Empilement de remise, bien fait: comment les trois commutateurs par classe se combinent pour décider ce qui s'applique ensemble.
- Cassures de quantité et niveaux de volume: récompensez les plus gros paniers avec tarification étagée par produit.
- Comment l'empilement de remise fonctionne dans Shopify: pourquoi natif n'applique que le plus élevé, et comment combiner correctement les offres.
- Offres achat-multiple répétées qui recalculent par ensemble: "4 pour GBP 10, 8 pour GBP 20" qui recalcule pour chaque ensemble.
- Tarification Stackable: plans, le niveau gratuit, et ce que chacun inclut.


