Les produits variables sont comment la plupart des véritables boutiques WooCommerce vendent. Des T-shirts en cinq tailles, trois couleurs. Des lampes en deux finitions, trois normes de prise. Des chaises dans douze options de tissu. Le créateur de boutique choisit WooCommerce parce qu'il gère cela sans une pile de plugins.
Ensuite le propriétaire de la boutique ajoute un plugin de chat pour aider les acheteurs à affiner. Les fissures commencent en un jour.
Je me suis assis avec les propriétaires de boutiques regardant leur nouvel outil de chat dire à un acheteur « oui, c'est en stock en taille 10 marine » quand la variante réelle était vendue hier. Ou citer un prix de vente sur une variante qui n'a pas de prix de vente. Ou énumérer les variantes que la vitrine filtre parce qu'elles sont désactivées pour un pays spécifique.
Les produits variables ne sont pas des cas limites. Ils sont le produit. Si l'outil de chat se trompe sur les variantes, il se trompe sur le catalogue.
Où les produits variables deviennent désordonnés
Trois choses rendent les produits variables WooCommerce différents d'une liste de produits plate :
- Le stock vit sur la variante, pas le parent. Le produit parent peut afficher « en stock » tandis qu'une combinaison taille+couleur spécifique est vendue.
$product->is_in_stock()sur le parent dit une chose,$variation->get_stock_quantity()de la variante dit autre chose. - Le prix vit aussi sur la variante. Le produit parent WooCommerce porte une gamme de prix (« 29,00 $ - 49,00 $ »). Le prix réel que l'acheteur paie dépend de la variante qu'il choisit, plus les règles de catalogue, plus la tarification basée sur les rôles si la boutique l'utilise.
- Les filtres de visibilité s'appliquent par variante. Variantes désactivées, termes d'attribut cachés, « valeurs de formulaire par défaut » que la boutique définit pour orienter l'acheteur vers un choix populaire. La vitrine respecte tout cela. Un simple scrape ne le fait pas.
Un plugin de chat qui ne lit que les données de produit parent induira en erreur l'acheteur avec confiance. Trois messages plus tard, l'acheteur frappe le paiement et trouve la variante grisée. Ils s'en vont.
Les trois modes d'échec que je vois le plus
1. Scraping de vitrine au lieu de synchronisation de catalogue
De nombreux plugins de chat de type widget tirent les données de produits en frappant la vitrine et en analysant le HTML. La raison est attrayante : aucun plugin à installer, aucun webhook à configurer, il suffit de pointer vers l'URL.
Le problème : la vitrine ne restitue que ce que la page actuelle affiche. Le tableau des variantes d'une page de produit peut paginer, charger lentement au choix des attributs ou ignorer les variantes que le visiteur actuel ne peut pas acheter. L'outil de chat finit avec une vue partielle du catalogue.
Pire encore, quand la boutique met à jour le stock d'une variante, le scrape peut être vieux de quelques heures. L'acheteur demande « le marine est-il en stock », et le chat dit oui parce que le scrape du matin dit oui.
2. Lire le parent, ignorer la variante
Certains plugins s'installent correctement et se connectent à save_post. Ils lisent l'objet de produit parent et appellent cela fait. Les variantes sont traitées comme une liste de combinaisons d'attributs, pas comme des éléments de première classe avec leur propre stock, prix, image et SKU.
Si vous demandez un outil de chat construit de cette façon « quel est le prix du marine en taille 10 », il répond avec la gamme de prix du parent. Ou il choisit le prix de variante le plus bas parmi toutes les combinaisons. De toute façon, il ment à l'acheteur.
3. Synchronisation sans événements au niveau de la variante
WooCommerce déclenche des hooks distincts pour les changements de variante : woocommerce_save_product_variation, woocommerce_update_product_variation et woocommerce_update_product du parent. Un plugin de chat qui n'écoute que les événements au niveau du parent manquera les changements d'inventaire que le gestionnaire de magasin fait à partir de la grille des variantes.
Les mises à jour de stock sont le cas le plus courant. Le gestionnaire de magasin bascule une seule variante sur « en rupture de stock » parce que le compte du fournisseur est arrivé bas. L'objet de produit parent ne change pas. Aucun save_post ne s'exécute. L'outil de chat continue à le recommander pendant des heures, parfois des jours.
Ce qu'un outil de chat conscient de la variante doit savoir
Pour que le chat réponde correctement, il a besoin de cinq éléments de données par variante :
- La combinaison d'attributs (taille : 10, couleur : marine, matériau : coton).
- Statut et quantité du stock pour cette combinaison, tenus à jour en quelques secondes d'un changement côté boutique.
- Le prix de vente réel après les règles de catalogue, les horaires de vente et les ajustements basés sur les rôles ou les pays que la boutique applique.
- Si la variante est activée et visible au contexte de l'acheteur.
- L'image spécifique à la variante quand il y en a une, afin que l'acheteur voie la bonne teinte.
Le dernier importe plus qu'il ne le semble. Montrer la photo de stock du parent quand l'acheteur demande à propos du marine est le genre de petit détail qui dit tranquillement à l'acheteur que le chat ne sait pas le catalogue. Ils cessent de lui faire confiance.
Comment Emporiqa gère cela
Le plugin Emporiqa accroche les événements de sauvegarde de variante directement. Quand un gestionnaire de magasin édite une variante unique dans l'admin, le plugin émet un webhook avec le parent + les données complètes de cette variante : termes d'attribut, stock, prix, image, SKU. Emporiqa réindexe la variante. Le chat reflète le changement en quelques secondes.
Le plugin exécute aussi une synchronisation initiale qui traverse chaque variante, pas seulement le parent, donc le premier index est complet dès le départ.
Pour les boutiques avec logique de variante personnalisée (champs ACF sur les variantes, filtres de prix personnalisés, catalogues basés sur les rôles), le plugin expose un filtre WordPress :
add_filter('emporiqa_variation_data', function($data, $variation) {
$data['custom_label'] = get_field('custom_label', $variation->get_id());
return $data;
}, 10, 2);
C'est la couture. Peu importe ce que votre boutique fait au niveau de la variante, exposez-le via le filtre et le chat le voit.
Comment tester un plugin de chat sur vos produits variables en cinq minutes
Avant de vous engager dans un plugin de chat, installez-le sur une boutique bac à sable ou staging et exécutez ces quatre requêtes :
- Stock par combinaison. Choisissez une variante qui est en stock. Demandez au chat : « le [couleur] en taille [N] est-il en stock ? » Ensuite marquez-le en rupture de stock depuis l'admin WooCommerce et posez la même question 30 secondes plus tard. La réponse devrait changer.
- Prix par combinaison. Choisissez une variante avec un prix différent du minimum de gamme du parent. Demandez : « quel est le prix du [combinaison] ? » Le chat devrait donner le prix exact de la variante, pas la gamme du parent.
- Variante cachée. Désactivez une variante dans l'admin (la case « Activé » dans la ligne de variante). Demandez au chat à propos de cette combinaison. Il ne devrait pas la recommander.
- Image sur la recommandation. Demandez : « montrez-moi un [couleur] [produit]. » Le chat devrait retourner l'image spécifique à la variante quand elle existe, pas l'image principale de la galerie du parent.
Si le chat échoue sur l'un de ces éléments, le mode d'échec en est un parmi les trois ci-dessus. La boutique fuira les revenus au bas de l'entonnoir et vous ne le verrez pas dans le tableau de bord du chat car le chat pense avoir répondu correctement.
Ce que cela ne fait pas
Certaines limites honnêtes qui méritent d'être énoncées :
- Le chat n'écrit pas au stock de votre variante. Si l'acheteur achète, le panier et le paiement passent par WooCommerce normalement et le stock diminue là. Le chat lit, il ne gère pas l'inventaire.
- La logique de variante personnalisée nécessite toujours le filtre. Si votre boutique a une personnalisation lourde (tableaux de prix personnalisés, tarification de rôle B2B, catalogues régionaux), attendez-vous à écrire un petit filtre pour exposer cette logique. La synchronisation par défaut couvre le stock que WooCommerce voit.
- Les réservations ne sont pas supportées. Le chat ne retient pas le stock pour l'acheteur pendant qu'il décide. Si une variante a une unité et que deux acheteurs demandent dans la même minute, le deuxième perdra au paiement.
Pourquoi cela importe au bas de l'entonnoir
La plupart des tableaux de bord d'outils de chat mesurent les conversations et les résolutions. Aucune de ces métriques ne capture l'échec de la variante. Le chat a répondu avec confiance, l'acheteur est allé au paiement, la variante était vendue. L'acheteur ferme l'onglet. Le tableau de bord du chat compte une conversation réussie.
Si vous vendez des produits variables, l'outil de chat qui traite correctement les variantes fermerait mesurables plus de ventes que celui qui ne le fait pas. Le test de cinq minutes ci-dessus est le moyen le moins cher de savoir lequel vous payez.
Lecture connexe sur WooCommerce + chat : comment le plugin Emporiqa gère les boutiques multilingues WPML et Polylang, l'impact de la migration HPOS sur les outils de chat, et survivre à la charge de pointe du Black Friday. Pour la présentation complète de la configuration WooCommerce, voir pourquoi la plupart des plugins de chat WooCommerce arrivent mal l'architecture.
Essayez la démo en direct à demo.emporiqa.com avec une requête de produit variable ou installez le plugin sur une boutique bac à sable et exécutez le test des quatre requêtes ci-dessus. Les étapes de configuration sont dans la documentation WooCommerce.