Module Magento 2 pour la récupération des paniers abandonnés avec les fonctionnalités suivantes :
- détection des paniers abandonnés
- scoring du panier avec l’IA ou l’heuristique
- génération d’e-mails de récupération de panier
- génération optionnelle de coupons
- conversations avec un assistant d’achat IA
- panneau d’administration et analytique
- endpoints REST API et commandes CLI
Présentation
Le module aide à récupérer les paniers abandonnés dans Magento 2 en détectant les paniers inactifs, en évaluant l’intention d’achat et en envoyant des e-mails avec un lien sécurisé pour restaurer le panier. Selon la configuration, il peut fonctionner dans deux modes :
- mode
heuristic, sans IA externe - mode
OpenAI, avec analyse IA, génération de contenu d’e-mails et conversations avec l’assistant
Déroulement typique :
- Le client ajoute des produits au panier.
- Le client quitte la boutique sans passer commande.
- Une fois le délai d’inactivité configuré écoulé, le panier est marqué comme abandonné.
- Le module attribue un scoring au panier.
- Si le score est suffisamment élevé, un e-mail de récupération est envoyé.
- L’e-mail peut contenir un coupon de réduction ainsi qu’un lien vers la page de l’assistant IA.
- Si le client revient et passe commande, le panier est marqué comme récupéré.
Prérequis
Avant l’installation, assurez-vous que la boutique répond aux exigences suivantes :
- Magento 2 avec accès à CLI
- cron Magento fonctionnant correctement
- envoi des e-mails transactionnels configuré dans Magento
- HTTPS activé sur le storefront
- si le mode IA est utilisé : compte OpenAI API avec facturation active et clé API
Recommandations opérationnelles :
- mode production pour la boutique live
- template d’e-mail testé et expéditeur correctement configuré
- politique de confidentialité tenant compte de l’utilisation de services IA, si le mode OpenAI est activé
Installation
* = en production, utilisez l’option --keep-generated
Type : Composer
Ajoutez le repository Composer à la configuration :
composer config repositories.ai.abandoned.cart vcs https://github.com/kowalco/ai-abandoned-cartAjoutez le token d’accès au repository GitHub privé :
composer config --global --auth github-oauth.github.com Installez le module via Composer :
composer require kowal/module-ai-abandoned-cart
Ensuite, exécutez :
bin/magento module:enable Kowal_AiAbandonedCartbin/magento setup:upgradebin/magento setup:di:compilebin/magento cache:flushChecklist après installation
Après l’installation, vérifiez :
- si le module est activé dans Magento
- si le schéma de base de données a été installé par
setup:upgrade - si le cron Magento fonctionne correctement
- si la boutique envoie des e-mails transactionnels
- si le storefront utilise des adresses HTTPS correctes
Commandes de vérification utiles :
bin/magento module:status Kowal_AiAbandonedCartbin/magento cron:runbin/magento cache:flushConfiguration
Magento Admin :
Stores -> Configuration -> Kowal -> AI Abandoned Cart
Pages d’administration :
Marketing -> AI Abandoned Cart
Champs de configuration
Paramètres les plus importants :
Enable ModuleActive ou désactive l’ensemble du module.Cart Inactivity Threshold (minutes)Définit après combien de minutes d’inactivité un panier actif doit être considéré comme abandonné.AI ProviderValeurs disponibles :Heuristic FallbackOpenAI
OpenAI API KeyRequis uniquement lorsqueAI Providerest défini surOpenAI.Minimum Intent ScoreSeuls les paniers dont le score est égal ou supérieur à cette valeur sont éligibles à l’envoi d’un e-mail de récupération.Enable Dynamic CouponsActive la génération de coupons à usage unique pour certains paniers abandonnés.Maximum Coupon DiscountDéfinit la limite supérieure de la remise en pourcentage générée automatiquement.Maximum Failed Email AttemptsDéfinit le nombre de tentatives d’envoi échouées autorisées avant que le module cesse de réessayer.Email Address for Message CopiesDestinataire BCC optionnel pour les messages de récupération.Enable AI Assistant LinkSi l’option est activée, l’e-mail de récupération contiendra un lien sécurisé vers la page de l’assistant IA.Conversation Expiration Time (minutes)Définit la durée de validité du lien vers l’assistant IA.Batch SizeDéfinit le nombre de paniers traités lors d’un seul cycle de détection, de scoring et d’envoi d’e-mails.Cart Analysis PromptUtilisé lorsque le scoring IA est actif.Email Generation PromptUtilisé pour générer le contenu des e-mails en mode IA.Conversation PromptUtilisé par l’assistant IA pendant la conversation avec le client.
Configuration initiale recommandée
Pour commencer, un ensemble de paramètres sûr est :
Enable Module:YesCart Inactivity Threshold (minutes):30AI Provider:Heuristic FallbackouOpenAIMinimum Intent Score:0.45Enable Dynamic Coupons:YesMaximum Coupon Discount:5Maximum Failed Email Attempts:3Enable AI Assistant Link:YesConversation Expiration Time (minutes):1440Batch Size:100
Mode Heuristic vs mode OpenAI
Mode Heuristic
Utilisez ce mode si vous souhaitez commencer sans intégration avec une IA externe.
Dans ce mode, le module :
- détecte les paniers abandonnés
- calcule l’intent score à partir de règles métier intégrées
- envoie des e-mails de récupération
- peut générer des coupons
- peut continuer à proposer la page de l’assistant, mais les réponses seront basées sur la logique intégrée plutôt que sur OpenAI
Mode OpenAI
Utilisez ce mode si vous recherchez une personnalisation plus poussée.
Dans ce mode, le module peut en plus :
- analyser le contexte du panier à l’aide d’OpenAI
- générer un contenu d’e-mail plus personnalisé
- gérer les conversations avec l’assistant IA au sujet des produits du panier
- utiliser les descriptions de produits, les produits associés, up-sell et cross-sell dans les réponses
Configuration d’OpenAI
Pour activer le mode OpenAI :
- Créez une clé API dans le compte OpenAI Platform.
- Dans Magento Admin, allez dans
Stores -> Configuration -> Kowal -> AI Abandoned Cart. - Définissez
AI ProvidersurOpenAI. - Collez la clé dans le champ
OpenAI API Key. - Enregistrez la configuration.
- Videz le cache Magento.
Informations importantes :
- les abonnements ChatGPT et la facturation API sont deux choses distinctes
- l’utilisation de l’API est facturée indépendamment par OpenAI
- en mode IA, le prompt et le contexte du panier sont envoyés à OpenAI
Cron Jobs
Le module utilise les crons Magento pour le traitement automatique.
Tâches cron configurées :
kowal_ai_abandoned_cart_detectkowal_ai_abandoned_cart_scorekowal_ai_abandoned_cart_email
Leur fonctionnement :
detect: recherche les paniers inactifs éligibles comme paniers abandonnésscore: calcule l’intent score et le reason codeemail: envoie les e-mails de récupération et enregistre les logs
Si le cron Magento ne fonctionne pas, le module ne traitera pas automatiquement les paniers.
Premier test après configuration
Après l’installation et la configuration, effectuez un test end-to-end complet :
- Ouvrez le storefront en tant que client non connecté.
- Ajoutez un ou plusieurs produits au panier.
- Démarrez le checkout et saisissez une adresse e-mail.
- Quittez le checkout sans passer commande.
- Attendez que le seuil d’inactivité configuré soit dépassé.
- Lancez le cron ou les commandes CLI manuellement.
- Confirmez que le panier apparaît dans le panneau d’administration.
- Confirmez que l’e-mail de récupération a été envoyé.
- Ouvrez le lien de restauration du panier depuis le message.
- Si l’option est activée, ouvrez le lien vers l’assistant IA et envoyez un message de test.
Séquence CLI manuelle :
bin/magento kowal:ai:cart:detectbin/magento kowal:ai:cart:scorebin/magento kowal:ai:cart:send-emailsPages d’administration
Le module ajoute des pages d’administration dédiées sous :
Marketing -> AI Abandoned Cart
Sections disponibles :
DashboardAperçu des paniers détectés et récupérés.Recovery AnalyticsStatistiques d’efficacité de récupération et indicateurs opérationnels.ConversationsHistorique des conversations avec l’assistant IA liées aux paniers abandonnés.Email LogsRegistre des messages de récupération envoyés et échoués.
Ces pages sont particulièrement utiles pendant le déploiement, car elles permettent de vérifier que la détection, le scoring, l’envoi des e-mails et le suivi des paniers récupérés fonctionnent correctement.
Contenu des e-mails et expérience client
Chaque e-mail de récupération peut contenir :
- un objet personnalisé
- un contenu de message personnalisé
- un récapitulatif des produits du panier
- la valeur du panier
- un lien sécurisé pour restaurer le panier
- un coupon de réduction à usage unique optionnel
- un lien optionnel vers l’assistant IA
Parcours client :
- Le client reçoit un e-mail.
- Le client clique sur le lien de restauration et revient à son panier enregistré.
- Le client peut éventuellement ouvrir la page de l’assistant depuis le message.
- L’assistant peut répondre aux questions sur les produits, comparer les options et rediriger le client vers le checkout.
Fonctionnement des coupons
Si les coupons dynamiques sont activés, le module peut générer un coupon lorsque :
- la valeur du panier est suffisamment élevée
- l’intent score suggère qu’une remise peut aider
- la remise calculée ne dépasse pas le maximum configuré
Règles intégrées actuelles :
- les paniers inférieurs à 100 unités de la devise de la boutique ne reçoivent pas de coupon
- les paniers avec un intent score élevé ne reçoivent pas de coupon
- les paniers à intention plus faible peuvent recevoir une remise, généralement 3 % ou 5 %, limitée par la configuration
Les coupons générés sont :
- à usage unique
- limités par client
- associés à une règle de panier Magento partagée pour le niveau de remise et la boutique concernés
CLI
Vous pouvez lancer le module manuellement depuis CLI, en particulier lors des tests et du diagnostic.
bin/magento kowal:ai:cart:detectbin/magento kowal:ai:cart:scorebin/magento kowal:ai:cart:send-emailsSignification des commandes :
kowal:ai:cart:detectDétecte les paniers abandonnés.kowal:ai:cart:scoreAttribue aux paniers un scoring et un reason code.kowal:ai:cart:send-emailsEnvoie les messages de récupération pour les paniers éligibles.
Sécurité
Les liens de restauration du panier et de l’assistant utilisent des tokens signés.
Le payload du token contient :
quote_idemailstore_idexpires_at
Le token est validé par :
- vérification de la signature
- contrôle de la date d’expiration
- vérification de la propriété du panier
Le client reçoit ainsi un lien sécurisé associé à un panier précis et limité dans le temps.
Résolution des problèmes
Les paniers ne sont pas détectés
Vérifiez :
- si la quote est toujours active
- si le panier contient des produits
- si la quote n’est pas associée à une commande finalisée
- si l’adresse e-mail du client a été capturée
- si le seuil d’inactivité est dépassé
- si le cron Magento fonctionne
Les paniers sont détectés, mais les e-mails ne sont pas envoyés
Vérifiez :
- si
Enable Moduleest activé - si
Minimum Intent Scoren’est pas défini trop haut - si l’envoi d’e-mails fonctionne dans Magento
- si la limite
Maximum Failed Email Attemptsn’a pas été atteinte - si l’adresse e-mail associée au panier est correcte
Le mode OpenAI est activé, mais le score IA n’est pas utilisé
Vérifiez :
- si
AI Providerest défini surOpenAI - si
OpenAI API Keyest correctement renseigné - si le serveur autorise les connexions sortantes vers l’API OpenAI
- si le compte OpenAI dispose d’une facturation active
Si l’appel OpenAI échoue, le module basculera vers le comportement heuristique intégré.
Le lien vers l’assistant IA s’ouvre, mais les réponses sont générales
Vérifiez :
- si le mode OpenAI est actif
- si le prompt de conversation est correctement configuré
- si le lien est toujours valide et n’a pas expiré
Remarques pour une utilisation en production
Avant le lancement en production, il est recommandé de :
- vérifier le contenu des e-mails et le branding
- tester la politique de coupons avec des règles métier réelles
- vérifier les exigences de confidentialité et de compliance
- tester les prompts IA sur le catalogue et le ton de communication de la boutique
- surveiller les premiers jours de fonctionnement dans
Dashboard,ConversationsetEmail Logs
Informations nécessaires lors d’une demande de support
Lors du signalement d’un problème, préparez :
- la version de Magento
- la version de PHP
- le mode de la boutique : developer ou production
- l’information indiquant si le cron fonctionne
- l’information indiquant si le problème se produit en mode
heuristicouOpenAI - un exemple de quote ID ou l’adresse e-mail du client concerné par le problème
- les entrées appropriées des logs d’exceptions ou des logs système Magento





















