Vous pouvez exécuter « acheter 1, obtenir le 2e à 50% de réduction » nativement sur Shopify, et la façon la plus propre est une réduction Buy X Get Y: le client achète un article au prix plein, et le deuxième article admissible est défini à 50% de réduction. Il y a aussi un deuxième itinéraire natif, une réduction « de montant sur les produits » avec une quantité minimale, mais elle réduit chaque unité admissible plutôt que uniquement la deuxième, donc ce n'est généralement pas le bon outil pour cette offre exacte. Le natif fonctionne pour une seule paire, mais il a des limites réelles: il ne se répète pas proprement sur de nombreuses paires dans un grand panier, son ciblage de l'article « deuxième » est grossier, et il peut entrer en conflit avec vos autres réductions car Shopify ne permet qu'une réduction produit par ligne de panier.
Ce guide couvre les deux méthodes natives étape par étape, explique la mécanique « ne pas appliquer la réduction aux N premières quantités » qui alimente l'offre, montre exactement où le natif échoue avec un exemple travaillé et un tableau, et exposé l'approche Shopify Functions quand vous avez besoin que l'offre se répète et s'empile de manière fiable.
Pouvez-vous faire « acheter 1, obtenir le 2e à 50% de réduction » sur Shopify nativement?
Oui. Shopify vous donne deux types de réductions natifs qui peuvent exprimer une certaine version de cette offre, et il est utile d'être précis sur ce que chacun fait réellement, car ils ne sont pas interchangeables.
Le premier est Buy X Get Y (Shopify l'appelle « Buy X get Y » dans l'admin, et BXGY dans l'API de développeur). C'est le bon outil natif pour « deuxième à demi-prix », car il sépare les articles qu'un client achète au prix plein des articles qu'ils obtiennent à une réduction. Vous lui dites que le client achète 1 et obtient 1 à 50% de réduction, et Shopify fait exactement cela.
Le deuxième est Réduction de montant sur les produits avec une quantité d'achat minimale. Celui-ci est tentant car vous pouvez dire « acheter 2, obtenir 50% de réduction », mais lisez les petits caractères: il réduit tous les articles admissibles, pas seulement le deuxième. « Acheter 2, 50% de réduction » ici signifie que les deux articles sont à demi-prix, ce qui représente une réduction effective de 25% sur la paire, pas « un au prix plein et un à demi-prix ». C'est une offre différente, et confondre l'une avec l'autre est la façon la plus courante dont les marchands se trompent.
Donc la réponse honnête est: utilisez Buy X Get Y pour un vrai « 2e article à 50% de réduction », comprenez que Réduction de montant sur les produits se comporte différemment, et sachez que les deux ont des limites une fois que votre panier dépasse une seule paire.
IMAGE PLACEHOLDER (Image 1): Deux itinéraires natifs vers une réduction du 2e article
Suggestion visuelle: Un diagramme propre 16:9 sur un fond blanc avec deux chemins étiqueté. Le chemin de gauche « Buy X Get Y » affiche deux cartes produit, la première au prix plein avec une petite étiquette « vous achetez » et la deuxième estampillée « 50% de réduction » avec une étiquette « vous obtenez ». Le chemin de droite « Réduction de montant sur les produits, min qté 2 » affiche deux cartes identiques estampillées « 50% de réduction » avec une légende « réduit chaque unité ». Une étiquette au centre lit « mêmes mots, mathématiques différentes ». Style vecteur plat, couleurs de marque violet et or, étiquettes sans serif, pas de photographie.
Méthode 1: Buy X Get Y, la façon native fiable
Buy X Get Y est construit pour exactement cette forme de promotion. Selon la documentation de développeur Shopify, une réduction BXGY stocke un ensemble « le client achète » (les articles et la quantité qu'un acheteur doit acheter) et un ensemble « le client obtient » (les articles et la quantité qui reçoivent la réduction, à un pourcentage que vous choisissez). Définir le pourcentage « obtenir » à 50% est ce qui le transforme en « 2e à demi-prix ».
Configurez-le dans l'admin
- Dans votre admin Shopify, allez à Réductions et cliquez sur Créer une réduction, puis choisissez Buy X get Y.
- Sous Le client achète, définissez la quantité minimale d'articles à 1, et choisissez les produits ou collections qui s'appliquent. Si vous voulez que l'offre fonctionne sur n'importe quel article d'un groupe, limitez-la à une collection.
- Sous Le client obtient, définissez la quantité à 1 et choisissez les mêmes produits ou collection pour que l'article « obtenir » provienne du même pool.
- Pour la valeur réductible, choisissez Pourcentage et entrez 50%.
- Sous Nombre maximum d'utilisations, décidez si l'offre peut s'appliquer plus d'une fois par commande. Ce paramètre unique est où la question « se répète-t-elle » vit, et nous y reviendrons dans la section des limites car c'est le crux de tout l'article.
- Définissez vos Combinaisons (si cela peut s'empiler avec les réductions produit, commande ou expédition), vos dates actives, et enregistrez.
Le résultat: un client avec deux articles admissibles dans le panier paie le prix plein pour un et demi-prix pour l'autre. Shopify applique la réduction à l'article le moins cher de l'ensemble « obtenir » par défaut, donc le client garde l'article le plus cher au prix plein. C'est le comportement standard et équitable pour une offre « 2e article », mais c'est aussi une contrainte que vous ne pouvez pas affiner nativement, ce qui importe si vous voulez spécifiquement que l'article moins cher soit au prix plein et l'article plus cher soit réduit.
Pourquoi c'est l'astuce « Ne pas appliquer la réduction aux N premières quantités »
Voici la mécanique que le sujet est nommé après. Dans Buy X Get Y, la quantité « le client achète » est la quantité que vous refusez de réduire. Quand vous réglez « acheter 1, obtenir 1 à 50% », vous dites à Shopify: ne réduisez pas la première unité, puis réduisez la suivante. Réglez « acheter 2, obtenir 1 à 50% » et vous dites « ne réduisez pas les deux premières quantités, puis réduisez la troisième de moitié ». La quantité d'achat est le contrôle « ignorer les N premiers », même si l'admin n'utilise jamais ces mots.
Ce cadre est utile car il se mappe directement sur la façon dont les applications de réduction tierces décrivent la même idée. Les applications comme Regios ou Checkout Boost exposent un curseur explicite « ignorer les N premières quantités » ou « quantité admissible au-dessus d'un seuil ». Shopify natif ne vous donne pas ce curseur exact sur une réduction de montant, mais Buy X Get Y vous donne le même résultat via la quantité d'achat. Si vous avez vu l'expression « ne pas appliquer la réduction aux N premières quantités = 1 » dans un fil de discussion, c'est une description d'une ligne d'une offre BXGY « acheter 1 obtenir 1 ».
Méthode 2: Réduction de montant sur les produits avec une quantité minimale (et pourquoi ce n'est pas la même offre)
Le deuxième itinéraire natif semble proche mais se calcule différemment, et il vaut la peine de comprendre pour que vous ne déployiez pas la mauvaise promotion.
Une réduction Réduction de montant sur les produits peut exiger une quantité minimale. L'API Shopify le modélise comme une exigence de quantité minimale, et la documentation donne l'exemple canonique d'une promotion « Acheter 3, Obtenir 10% de réduction » où la quantité minimale est définie à 3. Le détail clé: une fois que le panier atteint le minimum, le pourcentage s'applique à tous les articles admissibles, pas aux articles au-dessus du seuil.
Donc si vous construisez « Réduction de montant sur les produits, quantité minimale 2, 50% de réduction », un client qui achète deux articles obtient 50% de réduction sur les deux. C'est généreux, et parfois c'est ce que vous voulez, mais ce n'est pas « acheter 1 obtenir le 2e à 50% de réduction ». C'est « acheter 2, les deux à demi-prix ». Sur un article à 40 $, l'offre vrai 2e article facture 40 $ + 20 $ = 60 $, tandis que la version « réduction de montant min 2 » facture 20 $ + 20 $ = 40 $. Cet écart de 20 $ par paire est exactement la marge que vous n'aviez pas l'intention de céder.
Il n'y a pas de curseur natif sur Réduction de montant sur les produits qui dit « appliquer la réduction uniquement aux unités au-delà du minimum ». Cette capacité, le littéral « ne pas réduire les N premiers », est ce que les applications ajoutent. Nativement, si vous voulez uniquement le deuxième article réduit, Buy X Get Y est l'outil, et Réduction de montant sur les produits ne l'est pas.
Où le natif échoue: les limites que vous allez atteindre
Buy X Get Y natif gère une seule paire simple magnifiquement. Le trouble commence dès que votre panier ou votre promotion devient plus ambitieux. Voici les quatre murs que les marchands franchissent, tous réels et vaut la peine de connaître avant de lancer.
1. Il ne se répète pas proprement sur de nombreuses paires
C'est le gros. Un client qui veut votre offre « 2e à 50% de réduction » s'arrête rarement à deux articles. Ils en ajoutent six. Maintenant la question est si la réduction s'applique aux articles 2e, 4e et 6e (trois articles à demi-prix) ou une seule fois (un article à demi-prix, le reste au prix plein).
Buy X Get Y natif le contrôle via un seul paramètre utilisations maximales par commande. Si vous le laissez non limité, Shopify essaiera de réappliquer l'ensemble « acheter-obtenir » comme les quantités augmentent, mais ce comportement est grossier et devient imprévisible sur les produits, variantes et collections mixtes. Si vous le limitez, l'offre s'applique exactement une seule fois et les articles 4e et 6e paient le prix plein, ce qui frustre les clients qui s'attendaient à ce que chaque paire se qualifie. Il n'y a pas de mode natif « recalculer proprement par paire, pour toujours, sur n'importe quel mélange d'articles admissibles ». Les marchands sur les forums Shopify demandent à plusieurs reprises exactement ce comportement de répétition (« acheter 6 obtenir 2, acheter 9 obtenir 3 ») et découvrent que le natif ne peut pas l'exprimer de manière fiable.
2. Vous ne pouvez pas cibler finement quel article est le « 2e »
Le BXGY natif réduit l'article le moins cher de l'ensemble « obtenir », ce qui est généralement la valeur par défaut raisonnable. Mais si votre promotion a besoin d'une logique différente, par exemple toujours réduire l'article le plus cher, ou toujours l'article d'un sous-groupe spécifique, le natif ne vous donne pas ce contrôle. Vous obtenez le ciblage intégré Shopify ou rien.
3. Le plafond de 100 produits sur Buy X Get Y
Buy X Get Y natif limite le nombre de produits que vous pouvez attacher à une seule réduction. Une fois que votre ensemble admissible dépasse environ 100 produits, l'admin arrête de vous laisser ajouter plus, donc un « n'importe quel article, 2e à demi-prix » à l'échelle du magasin sur un catalogue de 400 SKU ne peut pas être construit comme une seule réduction native. La solution courante, la limitation à une collection, aide uniquement si votre catalogue admissible complet tient dans les collections que vous êtes prêt à gérer manuellement. Nous couvrons ce plafond en profondeur dans l'article lié ci-dessous.
4. Il peut entrer en conflit avec vos autres réductions
Buy X Get Y est une réduction de classe produit. Donc une réduction de volume, un pourcentage sur une collection, et la plupart du « prix de vente ». Selon la documentation de développeur Shopify, par défaut une seule réduction produit s'applique par ligne de panier. Si l'article d'un client se qualifie pour à la fois votre offre « 2e à 50% de réduction » et une vente « 20% de réduction sur cette collection » séparée, les deux sont des réductions produit, donc elles ne s'empileront pas sur la même ligne. Shopify garde celle qui vaut plus et abandonne silencieusement l'autre.
Empiler une deuxième réduction produit sur la même ligne est possible, mais seulement sur Shopify Plus, et uniquement via un mécanisme d'appariement à deux sens basé sur les tags que Shopify appelle l'empilement sur la même ligne. Sur n'importe quel forfait non-Plus, traitez « mon BOGO plus une autre réduction produit sur le même article » comme hors de question, et concevez autour de cela. L'empilement inter-classe (votre BOGO plus une réduction de commande plus l'expédition gratuite) fonctionne sur tous les forfaits, tant que chaque offre est définie pour se combiner.
IMAGE PLACEHOLDER (Image 2): Où le BOGO natif échoue
Suggestion visuelle: Une illustration 16:9 montrant un panier avec six chemises identiques. Au-dessus, deux résultats étiquetés. « Natif, limité à une utilisation » met en évidence uniquement la 2e chemise avec un badge 50% et les cinq autres au prix plein, marquées d'un petit drapeau rouge. « Ce que les acheteurs s'attendent » met en évidence les 2e, 4e et 6e chemises chacune à 50%, marquées d'une coche verte. Une légende ci-dessous lit « natif applique la paire une seule fois, pas par paire ». Style vecteur plat, couleurs de marque violet et or, pas de photographie.
Exemple travaillé: six chemises, une offre « 2e à 50% de réduction »
Rendons le problème de répétition concret. Un magasin vend des chemises à 40 $ chacune et exécute « acheter 1, obtenir le 2e à 50% de réduction ». Un client ajoute six chemises, un sous-total de 240 $ avant toute réduction. Voici comment la même promotion se paie de trois façons différentes.
Lisez ce tableau lentement, car chaque rangée est une promesse différente. Le BXGY natif limité sous-livre: le client s'attendait à trois chemises à demi-prix et en a obtenu une, donc il se sent trompé et peut abandonner. La version « réduction de montant sur les produits » livre en excès massif: elle réduit les six chemises de moitié, en cédant 120 $ alors que vous vouliez en donner 60 $. Seule la version consciente de la répétition paie ce que « acheter 1, obtenir le 2e à 50% de réduction » signifie vraiment à l'échelle: chaque paire obtient l'offre, le magasin cède exactement 60 $, et le client obtient exactement ce que la bannière promettait.
L'écart entre 220 $, 180 $ et 120 $ sur un seul panier de six articles est la raison entière pour laquelle cette offre est plus difficile qu'il n'y paraît. Le natif vous force à choisir entre sous-livrer et over-livrer, et ni l'un ni l'autre n'est ce que vous avez annoncé.
La façon Functions: un BOGO qui se répète et s'empile correctement
La correction fiable est de calculer l'offre à l'intérieur du pipeline de paiement Shopify avec une Shopify Function, donc les calculs s'exécutent côté serveur et s'appliquent de la même façon sur la page du panier, la page de paiement, et les paiements accélérés comme Shop Pay. Une réduction basée sur Functions peut exprimer la logique que le natif ne peut pas: réappliquer l'ensemble « acheter-obtenir » pour chaque paire dans le panier, cibler l'article le moins cher ou un article spécifique, couvrir un catalogue admissible illimité, et honorer vos règles de combinaison précisément.
C'est le modèle sur lequel Stackable est construit, et il reste honnête sur les vraies règles Shopify plutôt que de prétendre que les limites de la plateforme n'existent pas.
Exécutez cela de manière fiable avec Stackable
- Logique de répétition qui recalcule par paire. Activez la répétition et « acheter 1, obtenir 1 à 50% de réduction » se réapplique à mesure que le panier grandit, donc un panier de six articles obtient trois articles à demi-prix automatiquement, pas un. Le même paramètre scale une promo « acheter 6, obtenir 2 » à « acheter 12, obtenir 4 ».
- Pas de plafond de 100 produits. Définissez les articles admissibles par tag ou collection sans limites supérieures, donc un « 2e à demi-prix » à l'échelle du magasin couvre un catalogue de 400 SKU comme une seule campagne, et les nouveaux produits se joignent automatiquement.
- Ciblage de l'article le moins cher en lequel vous pouvez avoir confiance. La réduction marque l'article admissible le moins cher comme à demi-prix et met à jour en direct à mesure que le panier change, donc le client garde toujours l'article plus cher au prix plein.
- Curseurs de combinaison qui correspondent à Shopify un à un. Chaque offre a trois curseurs de combinaison, un pour chacune des réductions produit, commande et expédition, donc ce que vous réglez est ce que le paiement fait. L'empilement produit-sur-produit sur la même ligne est toujours Plus-only, et l'application vous le dit clairement plutôt que de le cacher.
- Un total partout. Parce que les calculs s'exécutent dans une Shopify Function, l'aperçu du panier et le frais final ne peuvent pas se séparer, y compris sur Shop Pay, Apple Pay, et Google Pay. Stackable ne réécrit jamais vos prix de produits, donc la désinstallation laisse votre catalogue exactement tel qu'il était.
Installez Stackable gratuitement et voyez votre « 2e à 50% de réduction » se payer correctement sur chaque paire à usestackable.com/pricing.
Comment configurer « 2e à 50% de réduction » étape par étape
Que vous alliez natif ou Functions-based, cette séquence vous garde hors des ennuis.
1. Écrivez la promesse exacte
Décidez précisément ce que « acheter 1, obtenir le 2e à 50% de réduction » signifie pour votre magasin. Est-ce que cela se répète sur chaque paire, ou s'applique-t-il une seule fois par commande? Est-ce qu'il s'applique à n'importe quel article, ou seulement à une collection? Quel article est réduit, le moins cher ou le plus cher? Répondre à cela en premier vous dit si Buy X Get Y natif est suffisant ou si vous avez besoin d'une logique de répétition.
2. Choisissez le bon type natif
Utilisez Buy X Get Y pour une véritable réduction du 2e article, avec la quantité d'achat agissant comme votre contrôle « ne pas réduire les N premiers ». Évitez Réduction de montant sur les produits avec une quantité minimale sauf si vous voulez vraiment que chaque article admissible soit réduit, car il réduira de moitié l'ensemble complet, pas seulement le 2e article.
3. Décidez le comportement de répétition délibérément
Définissez la valeur « utilisations maximales par commande » à dessein, pas par accident. Limité signifie un article à demi-prix par commande. La répétition native non limitée est grossière sur les paniers mixtes. Si vous avez besoin d'une répétition propre par paire sur un grand panier ou un panier mixte, c'est le signal de passer à une application basée sur Functions.
4. Définissez les combinaisons, puis respectez la règle par ligne
Dans la section Combinaisons, choisissez quelles classes cette offre s'empile avec. Rappelez-vous qu'une autre réduction produit ne s'empilera pas sur la même ligne du panier sauf si vous êtes sur Shopify Plus. Si vous exécutez à la fois une vente de collection et ce BOGO, décidez lequel vous voulez gagner, car le natif gardera uniquement la plus haute valeur par ligne.
5. Testez un panier à deux articles et un panier à six articles
Construisez un vrai panier de test avec exactement deux articles admissibles et confirmez qu'un est au prix plein et un est à demi-prix. Puis construisez un panier de six articles et lisez la ligne de résumé du paiement ligne par ligne: réduit-elle un article ou trois? C'est où vous attrapez le comportement de répétition avant vos clients. Les défaillances silencieuses sont l'ennemi, car une réduction qui s'applique silencieusement une seule fois ne lève jamais une erreur.
6. Vérifiez Shop Pay
Exécutez le panier de test de six articles via Shop Pay. Les réductions natives et basées sur Functions s'appliquent identiquement là-bas; tout ce qui repose sur JavaScript de thème est où le total du panier et le total facturé se séparent sur les paiements accélérés.
IMAGE PLACEHOLDER (Image 3): Le curseur de logique de répétition
Suggestion visuelle: Une capture d'écran de produit 16:9 d'un éditeur de campagne montrant une offre Buy X Get Y avec des champs « La quantité du client achète: 1, » « La quantité du client obtient: 1, » « Réduction: 50% de réduction, » et un curseur mis en évidence étiqueté « Répétez cette offre pour chaque paire admissible » activé, avec un résumé en anglais simple ci-dessous lisant « Un panier de 6 articles obtient 3 articles à 50% de réduction ». Style d'admin Shopify Polaris propre, accent de marque en violet. Référencez les docs/screenshot-manifest.md emplacement bogo-step-2 pour capturer l'écran réel plus tard.
En fin de compte
- Buy X Get Y est l'outil natif correct pour « 2e à 50% de réduction »: définissez le client achète 1, le client obtient 1 à 50%, et la quantité d'achat est votre contrôle « ne pas réduire les N premiers ».
- Réduction de montant sur les produits avec une quantité minimale est une offre différente. Elle réduit chaque article admissible, donc « min 2, 50% de réduction » réduit les deux articles de moitié, pas seulement le 2e.
- La répétition native est le point faible. Un seul paramètre « utilisations maximales par commande » ne peut pas se réappliquer proprement l'offre par paire sur un grand panier ou un panier mixte, donc les acheteurs sont sous-livrés ou vous over-livrez.
- Buy X Get Y natif limite les produits admissibles à environ 100 et réduit l'article le moins cher par défaut, sans contrôle de ciblage affiné.
- Buy X Get Y est produit-classe, donc il ne s'empilera pas avec une autre réduction produit sur la même ligne du panier sauf si vous êtes sur Shopify Plus. Elle se combine avec les réductions de commande et d'expédition sur tous les forfaits.
- Testez toujours un panier à deux articles et un panier à six articles et lisez la ligne de résumé du paiement ligne par ligne, puis vérifiez Shop Pay, car une réduction qui s'applique une seule fois ne lève jamais une erreur.
- Une application basée sur Shopify Functions comme Stackable ajoute la logique de répétition fiable, l'admissibilité illimitée, et le ciblage de l'article le moins cher qui transforment un BOGO natif single-pair en une vraie offre à l'échelle du magasin.
Articles connexes
- BOGO et Buy X Get Y, bien fait: logique de répétition et ciblage du moins cher gratuit que Buy X Get Y natif ne peut pas faire.
- Limite de 100 produits de Shopify sur Buy X Get Y: comment exécuter 3 pour 2 sur tout un catalogue au-delà du plafond natif.
- Comment l'empilement de réductions fonctionne sur Shopify: pourquoi le natif n'applique que la plus haute valeur, et comment combiner des offres sur les classes.
- Réductions de volume et sauts de quantité: comptez les unités du même produit, pas la collection entière.
- Empilement de réductions, bien fait: les trois curseurs de combinaison par classe avec un simulateur de panier en direct.
- Tarification Stackable: forfaits, le niveau gratuit, et ce que chacun inclut.



