Proposer la livraison gratuite avec un code promo dans WooCommerce semble, à première vue, être une fonctionnalité basique. Pourtant, c’est l’une des limites structurelles du fonctionnement natif de WooCommerce. Ce n’est ni un bug, ni une mauvaise configuration, mais un choix d’architecture qui influence directement les stratégies de promotion liées à la livraison.
WooCommerce ne gère pas les codes promo de livraison gratuite de la même manière que les réductions sur produits ou sur panier. La livraison gratuite est considérée comme une méthode distincte et non comme une remise appliquée aux frais de livraison existants. Cette distinction a des conséquences importantes sur ce que vous pouvez réellement proposer à vos clients.
Les codes promo dits de « livraison gratuite » ne font en réalité qu’activer une méthode spécifique appelée « livraison gratuite ». Ils n’appliquent aucune remise sur les frais de livraison déjà configurés et servent uniquement de déclencheur pour rendre disponible cette méthode.
Le principal inconvénient de ce fonctionnement est que la méthode native « livraison gratuite » ne permet pas au client de choisir son transporteur. Une fois activée, elle se substitue aux autres options comme Colissimo, Mondial Relay ou tout autre mode de livraison. Le client perd donc le contrôle de son choix, ce qui peut poser problème sur une boutique professionnelle où la flexibilité est essentielle.
Autrement dit, il n’est pas possible, via un coupon standard, de rendre gratuites les méthodes de livraison déjà configurées. WooCommerce considère la livraison gratuite comme une méthode distincte, et non comme une remise appliquée aux transporteurs existants. Cette limitation est inscrite dans le cœur du système et ne peut pas être contournée sans développement spécifique.
La solution consiste à créer un type de coupon capable d’appliquer une remise équivalente aux frais de livraison, directement sur les méthodes existantes, sans altérer leur affichage ni leur logique. C’est précisément ce que WooCommerce ne peut pas faire nativement.