DataFirefly Inflation Pricing pour WooCommerce
Augmenter les prix WooCommerce en masse tout en conservant des prix psychologiques comme 59, 89 ou 569.
Ce que fait le plugin
DataFirefly Inflation Pricing applique un pourcentage à tout ou partie de votre catalogue WooCommerce, puis recale chaque prix obtenu sur une échelle de prix psychologiques que vous définissez. Une hausse de 3 % sur un produit à 59 € ne donne pas 60,77 € mais 60,90 €, ou 69 € si vous préférez des entiers finissant par 9.
Le parcours complet se fait en trois temps : vous décrivez le périmètre et le pourcentage, le plugin calcule tous les nouveaux prix et vous les présente dans un tableau, puis vous validez. Rien n’est écrit en base avant cette validation, et chaque ancien prix est conservé pour permettre une annulation.
Installation
- Téléchargez l’archive ZIP depuis votre compte client DataFirefly.
- Dans l’administration WordPress, allez dans Extensions puis Ajouter une extension et cliquez sur Téléverser une extension.
- Sélectionnez le fichier ZIP, installez puis activez.
- Un nouveau menu apparaît dans WooCommerce, Inflation Pricing.
L’activation crée deux tables : wp_df_inflation_campaigns pour les campagnes et wp_df_inflation_items pour les lignes de prix. Le préfixe suit celui de votre installation.
Prérequis : WordPress 5.8 ou supérieur, WooCommerce 6.0 ou supérieur, PHP 7.4 ou supérieur. Le plugin déclare sa compatibilité avec HPOS et les blocs panier et commande dès son initialisation.
Les trois écrans
Nouvelle campagne
C’est l’écran de travail principal. Il regroupe trois cartes : Augmentation, Périmètre et Arrondi. Vous y construisez la campagne puis lancez l’aperçu.
Historique
La liste de toutes les campagnes avec leur statut. Depuis cette page vous consultez le détail ligne à ligne d’une campagne, vous appliquez une campagne restée en attente, vous annulez une campagne appliquée ou vous supprimez une campagne devenue inutile.
Règles d’arrondi
Les réglages globaux : paliers d’arrondi, sens, garantie d’augmentation, base de calcul TTC ou HT, taille des lots, comportement à la désinstallation. Un simulateur en bas de page affiche le résultat sur des prix d’exemple.
Comprendre les paliers d’arrondi
Un palier se définit par trois valeurs :
- S’applique jusqu’à : la borne haute de la tranche de prix concernée. La valeur 0 signifie aucune limite, et désigne donc le palier qui traite tous les prix au-dessus des autres paliers.
- Pas : l’écart entre deux prix possibles.
- Terminaison : le décalage appliqué à cet écart.
Le prix final vaut toujours pas multiplié par un entier, plus la terminaison. Quelques exemples :
- Pas 10, terminaison 9 donne 9, 19, 29, 59, 89, 569, 899
- Pas 1, terminaison 0,90 donne 9,90, 14,90, 60,90, 99,90
- Pas 5, terminaison 4 donne 24, 29, 124, 129, 134
- Pas 0,50, terminaison 0,40 donne 4,40, 4,90, 9,40, 9,90
- Pas 100, terminaison 99 donne 599, 1299, 2499
La terminaison doit rester inférieure au pas, sinon elle n’a plus d’effet visible. Un pas de 1 avec une terminaison de 9 produit simplement tous les entiers.
Le palier est choisi sur le prix d’origine
Pour éviter qu’un produit situé juste sous une borne ne bascule dans une tranche beaucoup plus grossière, le palier retenu est celui du prix actuel du produit, pas celui du prix calculé. Un article à 19,90 € reste donc traité par le palier des petits prix même si la hausse le fait passer au-dessus de 20 €.
Le compromis entre lisibilité et précision
C’est le point le plus important à comprendre avant de lancer une campagne. Plus l’échelle d’arrondi est grossière, plus la variation réelle s’écarte du pourcentage demandé.
Prenons une hausse de 3 % sur un produit à 59 €. Le prix brut calculé vaut 60,77 €. Selon l’échelle choisie :
- Pas 1, terminaison 0,90 donne 60,90 €, soit +3,2 %
- Pas 5, terminaison 4 donne 64 €, soit +8,5 %
- Pas 10, terminaison 9 donne 69 €, soit +16,9 %
Aucun plugin ne peut contourner cette arithmétique : si vous exigez des prix entiers finissant par 9, l’écart minimal entre deux prix vaut 10 €, ce qui représente 17 % à 59 €. Le plugin ne masque pas ce fait, il le rend visible avant l’écriture grâce au simulateur, à la colonne Variation de l’aperçu et au plafond par campagne.
Une règle simple : le pas doit rester petit devant les prix de la tranche. Un pas de 1 sur des prix entre 20 et 100 € donne des écarts de 1 à 5 %, ce qui reste cohérent avec une inflation annuelle. Un pas de 10 sur cette même tranche ne l’est pas.
Les préréglages
Cinq préréglages remplissent le tableau des paliers en un clic depuis l’onglet Règles d’arrondi.
- Équilibré : le réglage par défaut. Jusqu’à 10 € pas 0,50 terminaison 0,40, jusqu’à 100 € pas 1 terminaison 0,90, jusqu’à 300 € pas 5 terminaison 4, au-delà pas 10 terminaison 9. La variation réelle reste comprise entre 2 et 5 % pour une consigne à 3 %.
- Entiers finissant par 9 : jusqu’à 100 € et au-delà, pas 10 terminaison 9. Vous obtenez exactement 59, 89, 569, 899. Les écarts sur les petits prix sont importants.
- Entiers finissant par 4 ou 9 : pas 5 terminaison 4 sous 100 €, pas 10 terminaison 9 au-delà. Un compromis courant en retail.
- Décimales finissant par ,90 : pas 1 terminaison 0,90 sous 100 €, pas 10 terminaison 9,90 au-delà.
- Aucun arrondi psychologique : pas 0,01 terminaison 0. Le pourcentage est appliqué au centime près.
Les préréglages ne sont qu’un point de départ. Vous pouvez ajouter, retirer ou modifier des paliers librement, puis enregistrer.
Sens d’arrondi et garantie d’augmentation
Sens
- Prix psychologique le plus proche : le comportement recommandé. Le prix calculé bascule vers la valeur la plus proche de son palier, au-dessus ou en dessous.
- Toujours vers le haut : le prix monte systématiquement au cran supérieur. Les marges sont protégées mais les hausses réelles dépassent souvent la consigne.
- Toujours vers le bas : le prix descend au cran inférieur. À réserver aux baisses de prix.
Garantie d’augmentation
Avec le sens au plus proche, un petit pourcentage peut être entièrement absorbé par l’arrondi. Une hausse de 3 % sur 59 € donne 60,77 €, et le prix le plus proche sur une échelle de 10 reste 59 € : le prix ne bouge pas.
L’option Ne jamais laisser l’arrondi annuler l’augmentation corrige ce cas en poussant au cran suivant tant que le résultat reste inférieur ou égal au prix de départ. Elle n’agit que sur les pourcentages positifs. Pour une baisse de prix, décochez-la.
Arrondi sur le prix TTC ou sur le prix stocké
WooCommerce stocke les prix hors taxes ou taxes comprises selon le réglage Saisir les prix avec la taxe. Si votre boutique stocke des prix HT et affiche des prix TTC, arrondir la valeur stockée ne produit rien de lisible côté client : 49,17 € HT affiché avec 20 % de TVA donne 59,00 € TTC, mais 49,00 € HT donne 58,80 € TTC.
Le réglage Arrondir sur propose deux comportements :
- Le prix vu par le client, TTC : le plugin convertit le prix stocké en TTC via la classe de taxe du produit, applique l’arrondi sur cette valeur, puis reconvertit en HT avec quatre décimales avant enregistrement. C’est le réglage par défaut.
- Le prix stocké : l’arrondi s’applique directement à la valeur enregistrée en base, sans conversion.
Si votre boutique stocke déjà des prix TTC, ou si la taxe est désactivée, les deux réglages produisent le même résultat. Les produits marqués comme non taxables ne subissent aucune conversion.
Construire une campagne
Carte Augmentation
- Nom de la campagne : facultatif, un nom horodaté est généré si vous le laissez vide.
- Pourcentage : positif pour une hausse, négatif pour une baisse. Deux décimales acceptées.
- Prix promo : voir la section dédiée plus bas.
- Ignorer un produit si la variation réelle dépasse X % : le garde-fou principal. Avec une consigne à 3 % et un plafond à 6 %, tout produit dont l’arrondi produirait une hausse supérieure à 6 % est écarté de la campagne, avec le motif indiqué dans l’aperçu. Laissez le champ vide pour désactiver ce contrôle.
Carte Périmètre
- Catégories à inclure : laissez vide pour traiter tout le catalogue. Les sous-catégories des catégories choisies sont automatiquement incluses.
- Catégories à exclure : prioritaire sur l’inclusion, sous-catégories comprises.
- Étiquettes : restreint aux produits portant l’une des étiquettes cochées.
- Types de produits : simple, variable, externe, groupé. Cocher variable traite les déclinaisons, pas le produit parent qui n’a pas de prix propre.
- État des produits : publié, brouillon, privé, en attente. Pour les déclinaisons, c’est l’état du produit parent qui est évalué.
- Prix de base compris entre : deux bornes facultatives évaluées sur le prix de base enregistré.
- Ignorer les produits actuellement en promotion : écarte les produits ayant un prix promo renseigné.
- Exclure ces ID ou UGS et Limiter à ces ID ou UGS : listes libres séparées par des virgules, des espaces ou des retours à la ligne. Les UGS sont résolues en identifiants au moment de la sélection. Sur un produit variable, indiquer l’ID du parent couvre toutes ses déclinaisons.
Carte Arrondi
Par défaut, la campagne utilise les règles globales, rappelées en haut de la carte. Cochez Remplacer les règles globales pour cette campagne pour ajuster le sens, la garantie d’augmentation et la base de calcul uniquement pour cette campagne. Les paliers eux-mêmes restent ceux des réglages globaux.
La case Lors d’une annulation, ignorer les produits modifiés après l’application détermine le comportement du rollback. Laissez-la cochée dans la grande majorité des cas.
Les prix promotionnels
Quatre modes sont proposés. Ils ne s’appliquent qu’aux produits ayant réellement un prix promo renseigné.
- Recalculer en conservant le même taux de remise : le mode par défaut. Un produit à 100 € affiché 80 € conserve sa remise de 20 % après la hausse. Le nouveau prix promo passe lui aussi par l’arrondi.
- Appliquer le même pourcentage : le prix promo subit exactement le même traitement que le prix de base.
- Ne pas toucher : le prix promo reste strictement inchangé. La remise affichée augmente donc mécaniquement.
- Supprimer le prix promotionnel : la promo est retirée, ainsi que ses dates de début et de fin.
Dans tous les cas, si le nouveau prix promo devait atteindre ou dépasser le nouveau prix de base, il est supprimé automatiquement pour éviter une incohérence côté boutique.
Aperçu et application
Le bouton Prévisualiser les nouveaux prix déclenche trois opérations successives, avec une barre de progression :
- Sélection des produits correspondant au périmètre et enregistrement de la file d’attente.
- Calcul du nouveau prix de chaque ligne, par lots.
- Affichage du tableau et des statistiques.
Le tableau affiche, pour chaque ligne, le produit avec un lien vers sa fiche, l’UGS, le prix actuel, le nouveau prix, la variation réelle en pourcentage, le prix promo avant et après, et le statut. Les lignes écartées portent le statut skipped et un motif : produit gratuit, aucun prix de base, prix déjà à la valeur cible, ou variation supérieure à la limite autorisée.
Le bouton Charger 50 lignes de plus pagine le tableau. Télécharger le CSV exporte l’intégralité de la campagne, y compris les lignes écartées, ce qui permet une relecture hors ligne ou une validation par un tiers.
Tant que vous n’avez pas cliqué sur Appliquer au catalogue, aucun prix n’a été modifié. La campagne reste consultable dans l’historique avec le statut Prête à appliquer, et peut être appliquée plus tard.
L’application se fait par lots via l’API produit de WooCommerce, ce qui garantit la mise à jour du prix affiché, de la table de recherche interne et des caches. Après chaque lot, les produits variables concernés sont resynchronisés pour que les prix minimum et maximum affichés en boutique restent corrects.
Annuler une campagne
Depuis l’écran Historique, une campagne au statut Appliquée propose un bouton Annuler. La restauration se fait par lots et remet chaque produit à son prix de base et à son prix promo d’origine.
Si l’option de sécurité était active à la création de la campagne, chaque produit est vérifié avant restauration : si son prix actuel ne correspond plus au prix appliqué par la campagne, la ligne est laissée de côté avec un message explicite. Cela évite d’écraser une modification manuelle réalisée entre-temps.
Supprimer une campagne efface également ses données de restauration. Une campagne appliquée puis supprimée ne peut plus être annulée.
Lignes de commande WP-CLI
Quatre commandes couvrent le même parcours sans passer par le navigateur, ce qui convient aux très gros catalogues et aux scripts de déploiement.
wp df-inflation preview --percent=3 --categories=15,22
wp df-inflation apply --campaign=12 --yes
wp df-inflation apply --percent=4.5 --types=simple,variable --sale=ratio --yes
wp df-inflation revert --campaign=12 --yes
wp df-inflation campaigns
Options disponibles : --percent, --name, --categories, --types, --sale (keep, percent, ratio ou remove), --campaign et --yes. La commande preview construit la campagne et affiche les statistiques sans rien écrire, elle renvoie l’identifiant à réutiliser avec apply.
Réglages globaux
- Paliers de prix : le tableau décrit plus haut, avec les boutons d’ajout, de retrait et les préréglages.
- Sens et Garantie de l’augmentation : valeurs par défaut proposées à chaque nouvelle campagne.
- Arrondir sur : base de calcul TTC ou prix stocké.
- Taille des lots : nombre de produits traités par requête, de 1 à 200. La valeur par défaut de 25 convient à la plupart des hébergements. Descendez à 10 en cas de délai d’exécution dépassé, montez à 50 ou 100 sur un serveur dédié.
- Désinstallation : si la case est cochée, la suppression de l’extension efface les deux tables et les options. Décochée, les données de campagne survivent à une réinstallation.
Personnalisation pour les développeurs
Deux filtres permettent d’intervenir sur le comportement du moteur.
// Ajuster un prix arrondi.
add_filter( 'df_inflation_rounded_price', function ( $result, $raw_price, $tier ) {
return $result;
}, 10, 3 );
// Modifier la liste des produits sélectionnés par une campagne.
add_filter( 'df_inflation_scope_rows', function ( $rows, $filters ) {
return $rows;
}, 10, 2 );
Toutes les actions d’administration exigent la capacité manage_woocommerce. Les requêtes AJAX sont protégées par un nonce et vérifient cette capacité côté serveur.
Dépannage
Aucun produit ne correspond au périmètre
Vérifiez que les types de produits cochés correspondent bien à votre catalogue et que les produits ciblés possèdent un prix de base renseigné. Un produit variable dont seules les déclinaisons portent un prix nécessite de cocher le type variable, pas le type simple.
La barre de progression se bloque
Réduisez la taille des lots dans les réglages, puis relancez. Un lot de 10 produits suffit sur les hébergements les plus contraints. La console du navigateur affiche le détail de la requête en échec.
Les nouveaux prix ne s’affichent pas en boutique
Videz le cache de votre extension de mise en cache et le cache serveur. Le plugin purge les transients WooCommerce des produits modifiés, mais n’a pas la main sur un cache de page tiers.
Les prix des produits variables sont incohérents
Les prix minimum et maximum affichés sur la fiche parent proviennent d’une synchronisation WooCommerce. Le plugin la déclenche après chaque lot. Si un écart persiste, l’outil WooCommerce, État, Outils, Vider les transients des produits force un recalcul complet.
Une variation réelle très supérieure à la consigne
C’est le comportement attendu sur une échelle grossière. Renseignez le champ de plafond par campagne pour écarter ces produits, ou ajoutez un palier plus fin sur la tranche de prix concernée.
Désinstallation
Désactiver l’extension ne supprime rien : les campagnes et les données de restauration restent en base. La suppression complète depuis la liste des extensions déclenche le nettoyage uniquement si l’option correspondante a été cochée dans les réglages avant la suppression.