Comment segmenter vos clients via des groupes dans PrestaShop 1.7 ?

PrestaShop
  • Accueil
  • Blog
  • Comment segmenter vos clients via des groupes dans PrestaShop 1.7 ?

Tous vos clients n’ont pas les mêmes goûts et les mêmes attentes. C’est pour cela qu’il faut segmenter vos clients ! Voyons donc comment segmenter vos clients avec des groupes dans PrestaShop 1.7.

Comment créer et gérer les groupes clients dans PrestaShop 1.7 ?

PrestaShop 1.7 comme les anciennes versions du logiciel e-commerce garde la fonction « groupes clients » ce qui peut être très pratiques dans certaines situations comme celles-ci :

  • je veux afficher un prix HT pour certains clients
  • je veux autoriser l’accès à une catégorie seulement pour certains clients
  • je veux segmenter ma base client pour prévoir une opération
  • je veux créer une réduction ciblée pour un groupe de clients
  • je veux afficher un module seulement pour certains clients

Voici comment créer un groupe client et comment l’administrer dans PrestaShop 1.7, tout se passe dans le back office > Paramètres de la boutique > Clients > onglet « Groupes ».

segmentation-groupe-client-prestashop-17
utilisez les groupes clients pour mieux cibler les attentes clients !

 

segmentation-groupe-client-prestashop-17-1
Offrez simplement un avantage à vos meilleurs clients !

 

segmentation-groupe-client-prestashop-17-2
Utilisez à fond PrestaShop pour une satisfaction client accrue !

 

Comment choisir l’accès d’une catégorie pour un groupe client ?

Comment gérer l’accès d’une catégorie pour un ou plusieurs groupes clients dans PrestaShop 1.7 ?
C’est assez simple puisque c’est une fonction de base de PrestaShop. Rendez-vous dans le back office > Catalogue > Catégories > choisissez une catégorie> éditez les groupes ayant l’accès.

segmentation-groupe-client-prestashop-17-4
créez une boutique privée en quelques clics !

 

Comment afficher un élément spécifique pour un groupe client ?

Après avoir survolé les fonctions de base de PrestaShop 1.7, on va se pencher sur un cas précis : afficher un élément pour un groupe client.
Quand je parle d’élément, ça peut être un onglet de menu, un message, le bloc message cadeau, le numéro de téléphone, etc. Vous avez compris l’idée !
Pour cela, il faut d’abord récupérer les groupes clients du visiteur / client concerné.
Créez le fichier override/classes/controller/FrontController.php en modifiant la fonction process() comme ceci :

public function process()
{
    //On assigne la variable $cookie
    global $cookie;
    //On teste si le visiteur est client
    if($cookie->id_customer != 0){
        //On récupère la méthode pour trouver les groupes d'un client
        $Cgroups = Customer::getGroupsStatic($cookie->id_customer);
        //On teste chaque résultat du tableau
        foreach($Cgroups as $Cgroup){
            //Si le client appartient au groupe désiré (ici le groupe 4)
            if ($Cgroup == 4){
                //On créé la variable smarty qui servira de test
                $this->context->smarty->assign(array(
                    'groupe_teste' => '1',
                ));
                //On stoppe la boucle, plus besoin de continuer
                break;
            }
        }
    }
}

Pensez à bien vider le cache et supprimer le fichier var/cache/prod/class_index.php ou var/cache/dev/class_index.php.
Vous pouvez à présent utiliser la condition suivante pour afficher ou non un élément dans un template de votre thème ou de vos modules :

{if $groupe_teste}
<p>Élément affiché si le client appartient au groupe client.</p>
{/if}

Dans cet exemple, seuls les clients appartenant au groupe client ID = 4 peuvent voir le paragraphe.

Comment améliorer les performances de PrestaShop avec les groupes clients ?

C’est plutôt l’inverse en fait.
Si malgré tout vous n’utilisez pas les groupes clients : désactivez-les !
La fonction groupes clients demande de la ressource et une option simple et rapide s’offre à vous.
Rendez-vous dans le back office > Paramètres avancés > Performances > décochez l’option « Groupes de clients ».

segmentation-groupe-client-prestashop-17-3
Améliorer la vitesse de PrestaShop en 1 clic !

 

Comment segmenter mes clients dans les anciennes versions de PrestaShop ?

J’ai rédigé un article concernant les groupes clients dans PrestaShop 1.4 ce qui vous permet d’assurer le support de boutiques vieillissantes : Segmentez vos clients avec un override groupe client prestashop

Si vous n’avez pas le temps ou les compétences pour segmenter les clients de votre boutique PrestaShop, je peux m’en charger !

Contactez-moi

 

10 commentaires sur “Comment segmenter vos clients via des groupes dans PrestaShop 1.7 ?

  1. Bonjour,
    Malgré ma rigueur, je n’arrive pas à mettre en place override pour afficher un bloc spécifique.
    J’ai seulement changé la condition des groupe client en mettant != pour le groupe spécifique car je souhaite que tout les groupe sauf un voient la div.. mais ça ne marche pas. Faut-il charger seulement la fonction process dans l’override ou bien tout le fichier frontcontroller modifié ?

  2. Bonjour,
    Merci pour cet article, cela repondait complétement à mon interrogation du moment. Mais l’application ne fonctionne pas :
    J’ai fait la création de l’override avec l’integration de la function process() indiqué.
    J’ai juste modifié le groupe 4 par le groupe 11 qui correspond au groupe voulu.
    Lors de l’ajout de la condition dans le tpl souhaité ( pour moi my-account) cela ne fonctionne pas.
    J’ai essayé d’afficher simplement {groupe_teste} pour voir si la variable contenait bien 1 mais cela n’affiche rien.
    Prestashop 1.7.5 dans mon cas.
    Une idée ?
    Merci.

    1. Bonjour Mathieu,
      Difficile à dire, je penche pour un cache à vider et le fichier class_index.php à supprimer déjà.

  3. Désolé, je laisse encore un commentaire,… Simplement pour indiquer que je n’ai malheureusement pas reussi a faire marcher le script.
    Par contre, la variable {$customer.id_default_group} existe par défaut dans la section mon compte, je peux donc l’utiliser sans faire d’override. Merci quand même pour l’article, j’espere que d’autre arriverons à le mettre en oeuvre.

  4. Bonjour Arnaud,

    Merci beaucoup pour ce tuto ! C’est limpide et cela marche très bien pour ma part.
    Je souhaite également me servir de ce code pour afficher des mentions suivant la règle de taxe active.

    Est ce qu’il y aurait une également une méthode static qui permet de récupérer cela ?
    Merci

    Roland

    1. Bonjour Roland,
      Je ne pense pas de tête car c’est la raison qui m’avait poussé à réaliser ce tuto 😉

  5. Salut,

    Merci pour ton site, Il y à plein d’informations très utilise lorsqu’on souhaite personnaliser un peu sa boutique.

    Pour ma part je cherche une solution pour créer un nouveau groupe de client pour restreindre les modes de paiement disponibles.

    Sur presta on à donc 3 groupes par défaut
    – Visiteur : (Toutes les personnes sans compte client ou non connectées.)
    – Invité : (Clients ayant passé une commande avec la commande express (guest checkout).)
    – Client : (Le groupe défini pour vos clients enregistrés et identifiés.)

    Mais est-il possible de créer un groupe « Client actif » ?
    Ce serait un groupe des clients enregistrés, identifiés mais aussi ayant passé au moins une commande.

    Je souhaiterais afficher certains modes de paiement uniquement pour les clients ayant déjà fait au moins 1 commande.

    Merci pour ta réponse.

    Cordialement

    1. Bonjour Ulrich,
      Merci pour le retour, ça fait plaisir 🙂
      Pour créer un groupe de clients dans PrestaShop c’est le chapitre 1.
      Par défaut, ça n’est pas possible automatiquement.
      Cependant, tu peux créer ce groupe puis ajouter les clients dedans si ils ont commandé.
      Ce module fait le job https://parg.co/bm5S.
      Sinon c’est une requête sql qu’il faut lancer dans PHPmyadmin 😉

Laisser un commentaire

Consultez les autres articles