Comment segmenter vos clients via des groupes dans PrestaShop 1.7 ?

Publié le 19 juin 2019 par Amerigeau @arnaudmerigeau

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 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 ".

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.

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 ".

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

Vous avez aimé cet article ? Notez-le avec les étoiles ! Merci !