Ultimate Cart Recovery - Guide utilisateur (FR)

Récupérez les paniers abandonnés sur Adobe Commerce / Magento Open Source grâce à des séquences multicanales automatisées (email, SMS, WhatsApp, webhook), des coupons dynamiques, des campagnes de win-back et un tableau de bord du chiffre d'affaires récupéré.

Ce guide couvre l'utilisation quotidienne du module côté marchand. Pour l'installation détaillée, voir Installation ou le guide d'installation Marketplace. Pour étendre le module (canaux personnalisés, événements), voir le guide développeur.


1. Installation rapide

Via Composer (recommandé)

composer require visicrea/module-ultimate-cart-recovery
bin/magento module:enable Visicrea_UltimateCartRecovery
bin/magento setup:upgrade
bin/magento setup:di:compile        # mode production uniquement
bin/magento cache:flush

Via package (.zip)

Décompressez l'archive dans app/code/Visicrea/UltimateCartRecovery, puis lancez la même séquence module:enable → setup:upgrade → cache:flush.

Vérifiez l'activation :

bin/magento module:status Visicrea_UltimateCartRecovery

2. Activation de la licence

  1. Achetez une licence sur le portail Visicrea - vous recevez une clé au format VCR-XXXX-XXXX-XXXX-XXXX.
  2. Saisissez-la dans Stores → Configuration → Visicrea → Ultimate Cart Recovery → License (champs « License server URL » et « License key »). L'activation se fait via cet écran de configuration ; il n'existe pas de commande CLI dédiée à l'activation en V1.
  3. Le module vérifie la licence une fois toutes les 24 h (cron ValidateLicense). Si le serveur est injoignable, une période de grâce de 7 jours s'applique, suivie d'une bannière croissante pendant 30 jours. Au-delà, l'envoi des messages est désactivé (le tableau de bord et les données restent consultables). Les hôtes de dev/staging (dev, staging, preprod, test, local, localhost, ou le mode developer) ne consomment jamais la licence.

Vous pouvez consulter l'état de la licence à tout moment :

bin/magento ucr:debug:license

3. Assistant de configuration (Setup Wizard)

À la première ouverture d'Ultimate Cart Recovery dans l'admin (tant que wizard_completed = 0), un assistant en 8 étapes vous guide :

  1. Licence - saisie et validation de votre clé.
  2. Périmètre boutique - quelles vues de boutique sont actives.
  3. Expéditeurs - identité d'expéditeur, réglages Mailgun/SMTP.
  4. Canaux - activation de l'email et, en option, du SMS/WhatsApp/webhook.
  5. Règle - création de votre première séquence de relance.
  6. Cron - confirmation que le cron Magento tourne (un contrôle de santé non bloquant est exécuté).
  7. Test - envoi d'un véritable email de test à l'adresse de votre choix.
  8. Fin - validation et passage en production.

Vous pouvez relancer la configuration à tout moment via Stores → Configuration ou rouvrir l'assistant depuis le menu Visicrea → Setup Wizard.

4. Fonctionnement de la détection

Trois crons (toutes les 10 minutes) animent le pipeline :

Trois crons quotidiens complètent le dispositif : DetectInactiveCustomers (win-back), CleanupExpiredCoupons (purge des coupons expirés), PurgeOldData (rétention) et ValidateLicense.

Mode dry-run (Ultimate Cart Recovery → General → Dry-run mode) : exécute tout le pipeline sans envoyer quoi que ce soit - idéal pour valider vos règles en toute sécurité. Les messages sont journalisés en queued puis jamais avancés.

5. Création de règles de relance

Sous Ultimate Cart Recovery → Rules :

Arbre de conditions

Les conditions sont stockées en JSON (conditions_serialized). Champs autorisés : cart_total, initial_cart_total, cart_items_count, currency_code, language_code, is_guest, customer_id, store_id, status, current_step. Opérateurs : eq, neq, gteq, lteq, gt, lt, in, nin, contains. Tout champ hors de cette liste blanche est évalué à false (sécurité par défaut).

Variables de template

Les variables disponibles dans les templates incluent {{customer_firstname}}, {{cart_items}}, {{cart_total}}, {{restore_url}}, {{coupon.code}} et {{unsubscribe_url}} (la liste complète figure dans l'éditeur de template).

Le délai (delay_minutes) est compté depuis l'heure d'envoi de l'étape précédente (étapes 2 à 5) ou depuis first_seen_at (étape 1).

6. Canaux

Tester rapidement l'envoi SMS :

bin/magento ucr:test:sms

7. Coupons

Une règle peut attacher un coupon généré dynamiquement (format VCR{tracking_id}-{hex}), construit sur une règle de prix panier (Cart Price Rule) Magento existante. Lorsque use_coupon = 1, l'étape doit pointer vers un coupon_sales_rule_id ; le module crée un code par couple (tracking_id, step_id). Le champ coupon_validity_hours fixe l'expiration. Les coupons expirés sont purgés chaque jour par CleanupExpiredCoupons - uniquement ceux préfixés VCR, jamais les autres codes du marchand partageant la même règle.

bin/magento ucr:cleanup-coupons   # forcer la purge à la demande

8. RGPD

9. Tableau de bord

Ultimate Cart Recovery → Dashboard affiche le chiffre d'affaires récupéré, le taux de conversion et la performance par canal (orientée CTR). Le revenu est enregistré dans la devise de base de la boutique, à partir du base_grand_total figé de la commande (montant réellement encaissé, cohérent avec les rapports de ventes natifs Magento).

10. Droits d'accès (ACL)

Trois niveaux, sous Ultimate Cart Recovery :

11. Dépannage

Symptôme À vérifier
Aucun panier détecté Le cron Magento tourne-t-il ? bin/magento cron:run ; vérifier le seuil d'abandon et enabled = 1.
Aucun email envoyé Dry-run activé ? Expéditeur configuré ? Destinataire dans la liste de désinscription ? Licence valide ?
Bannière de licence affichée bin/magento ucr:debug:license - vérifier la connectivité au serveur de licences.
Inspecter un panier précis bin/magento ucr:debug:cart {quote_id} (les tokens sont masqués).
Forcer une exécution bin/magento ucr:detect, ucr:process, ucr:check-conversions.

Journaux : var/log/visicrea_ucr.log (et var/log/visicrea_ucr_debug.log en mode debug).

12. Support

Contact : florent@visicrea.fr. Indiquez vos versions Magento / PHP, la version du module, et l'extrait de log pertinent.