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, y compris les checkouts invités sur le même e-mail
- 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 | Customer ID + e-mail + empreinte d'adresse. Strict-login en option. |
| 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 3 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 d'abord sur cet ID.
Adresse e-mail — pour les checkouts invités, l'e-mail saisi au checkout est l'identifiant suivant en force. Un revendeur qui enchaîne plusieurs checkouts invités sur le même e-mail se fait attraper par le registre. Le contournement consiste à utiliser différents e-mails par checkout — assez facile pour rester une vraie préoccupation pour les drops adverses.
Empreinte d'adresse de livraison — même avec différents e-mails, des commandes répétées vers la même adresse sont détectables. OrderRules calcule une empreinte d'adresse normalisée et l'utilise comme identifiant tertiaire. Cela attrape le pattern « 10 faux comptes mail, tous livrant à l'appartement du revendeur ».
Pour les cas du quotidien (plafonds quotidiens boulangerie, limites de dépenses sur comptes B2B, règles par mois sur produit renouvelable), la combinaison customer ID + e-mail attrape plus de 95 % des cas sans forcer la connexion. Pour les cas adverses (drops sneakers, collectibles, produits attirant les scalpers), le mode strict-login est le bon choix — 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 suive aussi l'empreinte d'adresse ou impose la connexion.
OrderRules gère cela de deux façons :
- E-mail + empreinte d'adresse de livraison (par défaut) — attrape les commandes multi-e-mails vers la même adresse. Suffisant pour la plupart des cas.
- Mode strict-login (optionnel) — bloque entièrement le checkout invité pour les produits sous règles par client. Le client doit se connecter. Le customer ID devient la source de vérité, et le suivi par e-mail/adresse n'est plus la défense principale. 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.
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 — « max 100 de ce SKU par commande » pour empêcher des commandes en gros accidentelles. Par checkout est la bonne règle.
- 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.
- MOQ pour le wholesale — « 500 $ minimum panier ». Par checkout a du sens — la règle porte sur le total panier, pas sur l'acheteur.
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 ou à vie
- Pour les drops adverses, activez le mode strict-login
- Testez avec un brouillon de commande — passez-en un à la limite, puis essayez-en un 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.