La limite de quantité native de Shopify se réinitialise à chaque nouveau checkout. Passez une commande à la limite, finalisez-la, démarrez-en une autre — et le compteur revient à zéro. Pour les drops limités, c'est la plus grosse faille de la gestion de commandes de Shopify. Les revendeurs le savent. Les bots le savent. Les marchands le découvrent à leurs dépens, généralement juste après qu'un drop ait été liquidé en cinq minutes par trois personnes.

Cet article explique ce que « par checkout » veut vraiment dire en pratique, pourquoi la limite native de Shopify fonctionne ainsi, quelles apps de la catégorie limites de commandes appliquent de vraies règles par client, et comment le suivi inter-commandes fonctionne réellement.
Vous savez déjà qu'il vous faut des limites par client et vous voulez les étapes de configuration ? Sautez au guide des limites de commandes par client pour le walk-through. Cet article est l'explication conceptuelle qui le précède.
Le problème : la limite native de Shopify se réinitialise à chaque checkout
Shopify vous permet de définir une limite d'achat par produit — par exemple, « maximum 2 par commande ». Cette règle est attachée au produit ou à la variante et validée au moment de la construction du panier. Tant qu'un seul checkout contient 2 unités de cet article ou moins, la commande passe. Quand la commande est finalisée, le client peut démarrer un nouveau checkout. Le produit autorise toujours 2 par commande. Il en achète donc 2 de plus.
Il n'y a aucune agrégation inter-checkouts intégrée. La couche checkout de Shopify a accès au panier en cours, au client courant (s'il est connecté) et aux produits du panier. Elle n'a pas, par défaut, accès à « combien de ce produit ce client a-t-il acheté ces 30 derniers jours ». Cette information vit dans la table des commandes — que Shopify n'interroge pas lors de la validation du checkout.
Ce n'est pas un bug. La limite native de Shopify a été conçue pour la protection de l'inventaire et la sécurité haut-volume : empêcher le panier d'accepter 10 000 unités en une fois. Elle n'a jamais été conçue comme une fonctionnalité anti-revendeurs.
Ce que veut dire « par checkout » en pratique — le mode d'emploi d'un revendeur
Si vous vendez des drops limités sur Shopify avec la limite native de « 2 par commande », voici le playbook que joue un revendeur :
- 9 h 59 — drop annoncé pour 10 h
- 10 h 00 min 00 s — ouvre la page produit, ajoute 2 au panier, finalise, paie
- 10 h 00 min 45 s — même navigateur, rouvre la page produit, ajoute 2, finalise, paie
- 10 h 01 min 30 s — troisième checkout, même méthode
- 10 h 02 min 15 s — quatrième checkout
- 10 h 03 min 00 s — cinquième checkout
En trois minutes, une seule personne a acheté 10 unités d'un drop censé être à « 2 par client ». Même compte client Shopify. Même e-mail. Même adresse de livraison. Même carte. La limite native a fait son travail à chaque checkout — et a laissé passer les cinq. Le temps que le vrai fan rafraîchisse son navigateur à 10 h 05, le drop est épuisé.
Les fils de communauté des drops sneakers, des releases streetwear et des lancements de collectibles documentent ce schéma encore et encore. La frustration marchande est universelle : « J'ai mis 2 par client, pourquoi un client a-t-il acheté 10 ? » La réponse, c'est que la règle disait « 2 par checkout », pas « 2 par client ».
Ce que veut dire « par client » — suivre les achats au fil des commandes
Une limite par client plafonne le total cumulé d'achats d'un seul acheteur, sur l'ensemble de ses commandes, sur une période configurée. La règle n'est plus « 2 par checkout » — c'est « 2 par client par drop » ou « 2 par client à vie » ou « 1 par client par semaine ».
Pour que cela fonctionne, l'app doit faire trois choses que la limite native de Shopify ne fait pas :
- Identifier le client sur plusieurs checkouts
- Maintenir un registre du nombre d'unités achetées par chaque client sur la période configurée
- Valider contre le registre à chaque checkout — côté serveur, pour ne pas pouvoir être contourné via les URL directes de checkout
C'est la différence d'architecture entre une app par checkout et une app par client. C'est aussi pourquoi la plupart des apps de limites de commandes sont par checkout : elles s'intègrent à la validation par produit existante de Shopify et ne maintiennent jamais de registre client.
Quelles apps Shopify sont par checkout vs par client
Sur les principales apps de limites de commandes Shopify, seul un petit sous-ensemble applique de vraies limites par client au niveau du checkout. La répartition :
| App | Application par client | Notes |
|---|---|---|
| OrderRules | Oui — au checkout via Shopify Functions | Basé sur le Customer ID Shopify. Connexion requise ; checkout invité bloqué tant que les limites par client sont actives. |
| DC Customer Order Limits | Oui — au checkout | Limites à vie et intégration Shopify Flow. Plan Pro à 14 $/mo. |
| KOR Order Limits | Par tag seulement (plan Pro) | Demande un étiquetage manuel des clients — plus faible qu'un suivi par registre. |
| Avada Order Limits | Non — par checkout seulement | Plus grande base d'installations, mais aucun suivi inter-commandes. |
| MinMaxify | Non — par checkout seulement | Min/max par produit — même limite que le natif. |
| MinCart | Non — par checkout seulement | Règles au niveau panier, pas de registre client. |
| Pareto Order Limits | Non — par checkout seulement | Plan gratuit, règles produit basiques. |
| LIMITER (MageComp) | Non — par checkout seulement | Facturation annuelle, seulement 4 avis. |
Voir la comparaison hub des apps de limites de commandes Shopify pour les notes, tarifs et recommandations d'usage sur les huit. Pour la comparaison dédiée des deux apps qui appliquent vraiment les limites par client, voir OrderRules vs DC Customer Order Limits.
Il existe aussi une catégorie d'apps de niche, mono-usage — Limit Once (Wandelic) et UR: Limit 1 Item Per Customer (UnReact) — qui gèrent la règle par client mais uniquement la règle par client. Elles couvrent un drop, sur un produit, avec une règle. Pour quoi que ce soit de plus complexe, c'est une impasse.
Les trois façons d'identifier les limites par client
Quand une app dit qu'elle applique des limites par client, la question suivante est : comment identifie-t-elle le client ? La réponse détermine la résistance au contournement.
Customer ID Shopify — pour les acheteurs connectés, le customer ID est l'identifiant le plus fort. Il n'est pas falsifiable en vidant les cookies, en changeant de navigateur ou en passant en navigation privée. Un client connecté est identifié de manière unique, et le registre d'OrderRules s'appuie sur cet ID.
Adresse e-mail — pour les checkouts invités, certaines apps se rabattent sur l'e-mail saisi au checkout. Un revendeur qui enchaîne plusieurs checkouts invités sur le même e-mail se fait attraper. Le contournement consiste à utiliser différents e-mails par checkout — assez facile pour rester une vraie préoccupation pour les drops adverses.
Adresse de livraison — même avec différents e-mails, des commandes répétées vers la même adresse sont détectables, et certains marchands vérifient ce pattern (« 10 faux comptes mail, tous livrant à l'appartement du revendeur ») après coup.
OrderRules prend la voie la plus stricte : les limites par client exigent une connexion, donc le checkout invité est bloqué tant qu'elles sont actives et chaque commande comptabilisée est liée à un customer ID. C'est le bon choix pour les cas adverses (drops sneakers, collectibles, produits attirant les scalpers) — voir le playbook anti-scalping pour le modèle de menace complet.
Pourquoi le checkout invité casse les limites par client (et comment y remédier)
La source la plus courante des plaintes « la limite par client n'a pas marché », c'est l'abus du checkout invité. Un revendeur qui utilise une adresse e-mail différente à chaque checkout invité apparaît comme une personne différente à chaque fois — à moins que l'app impose la connexion.
OrderRules impose la connexion : tant que les limites par client sont actives, le checkout invité est bloqué et le client doit se connecter. Le customer ID devient la source de vérité. C'est le bon réglage pour les drops limités, les collections exclusives et tout scénario où l'arbitrage de revendeurs est la menace dominante. Comme cela s'applique à toute la boutique, mettez-le en balance avec la friction au checkout sur une boutique généraliste.
DC Customer Order Limits propose un comportement similaire sur son palier Pro. Les autres apps purement par checkout n'ont pas de réponse significative ici — par conception, elles ne suivent pas inter-commandes, donc le checkout invité leur est indifférent.
Quand le par checkout est en fait correct
Toute limite n'a pas besoin d'être par client. Pour certains cas, le par checkout est approprié et le par client est de la surenchère :
- Plafonds de sécurité inventaire — « pas plus de 100 de ce SKU dans une seule commande » pour empêcher des commandes en gros accidentelles. Par checkout est la bonne règle — les catalogues Shopify B2B peuvent fixer un maximum par variante pour les acheteurs entreprises. (Les plafonds produit d'OrderRules sont différents : un total partagé entre tous les acheteurs par jour, semaine ou mois.)
- Quantités case-pack B2B — « doit être commandé par multiples de 6 » ou « minimum 12 par SKU ». Par checkout fonctionne, car la règle porte sur la forme de la commande, pas sur l'historique client.
- Valeur de commande minimale pour le wholesale — « 500 $ minimum panier ». Par checkout a du sens — la règle porte sur le total panier, pas sur l'acheteur. OrderRules ne fixe pas de minimum sur le total du panier ; l'application Checkout Blocks de Shopify gère les limites de valeur de commande sur tous les forfaits, pour tous les clients ou uniquement le B2B.
Le point de décision est de savoir si la règle se soucie de qui achète ou de ce qu'il y a dans le panier. Si « qui » compte, il faut du par client. Si seul « ce qu'il y a » compte, le par checkout suffit.
Configurer de vraies limites par client sur OrderRules
Les étapes de configuration sont documentées dans le guide des limites de commandes par client, mais en version courte :
- Installez OrderRules depuis la Shopify App Store
- Allez dans Customer Limits et créez une règle
- Choisissez le type de limite — nombre de commandes, quantité totale ou dépense totale
- Choisissez la période — quotidienne, hebdomadaire, mensuelle, annuelle, 30 jours glissants ou à vie
- Vérifiez que la connexion est exigée — le checkout invité est bloqué tant que les limites par client sont actives
- Testez avec un compte client — passez une commande à la limite, puis essayez-en une deuxième
L'application se fait via Shopify Functions, qui valide le checkout côté serveur. Shop Pay, Apple Pay, Google Pay et les URL directes de checkout passent par la même validation — donc aucun contournement côté client. Pour le détail technique sur le fonctionnement de la Checkout Validation de Shopify Functions, voir comment OrderRules utilise les checkout validation functions.
En résumé
Si votre problème est « une personne a acheté 10 unités d'un produit que j'avais réglé à 2 par commande », le problème n'est pas que la limite a échoué — c'est que vous avez réglé une règle par checkout là où il fallait une règle par client. La limite native de Shopify est par checkout. La plupart des apps de limites de commandes sont par checkout. Seules OrderRules et DC Customer Order Limits appliquent de vraies limites par client au niveau du checkout.
Pour les drops limités, les configurations anti-revendeurs, les releases exclusives et tout produit où la distribution équitable fait partie de la promesse de marque, le par client est le type de règle qui colle à l'intention du marchand. Pour tout le reste — plafonds d'inventaire, case packs B2B, paniers minimum — le par checkout convient.
Vous voulez voir la répartition appli par appli ? Lisez le hub de comparaison des apps de limites de commandes Shopify. Pour la comparaison dédiée entre les deux apps qui appliquent du par client au checkout, voir OrderRules vs DC Customer Order Limits. Et pour le cadre anti-scalping plus large qui utilise les limites par client comme une couche de défense, voir le guide anti-scalping.