Skip to content

Customer Segmentation


The Customer Segmentation module for Magento 2 allows you to segment customers based on their details and sales history. You can also use the created customer segment to create a cart price rule.


The customer Segmentation module is compatible with the following Magento platforms:

Community Edition (Open Source) Enterprise Edition (Commerce) Cloud Edition
2.3.0 - 2.4.* 2.3.0 - 2.4.* 2.3.0 - 2.4.*


Installing module using zip file

  • Unzip and paste the extension file into your root Magento folder.
  • Connect to your server by SSH.
  • Go to your Magento root folder.
  • To install the extension, perform this command:
php bin/magento setup:upgrade
php bin/magento setup:di:compile
php bin/magento setup:static-content:deploy

Composer installation

If this is your first time installing an Aitoc module, in that case, first, you will need to add your Aitoc composer repository. Please review the document to see how you can add the composer repository.

To install the module, you will need to run the following commands:

composer require aitoc/module-customer-segmentation
php bin/magento setup:upgrade
php bin/magento setup:di:compile
php bin/magento setup:static-content:deploy -f
  • To switch the extension on/off, perform these commands:
php bin/magento module:enable Aitoc_CustomerSegmentation
php bin/magento module:disable Aitoc_CustomerSegmentation
  • To update the module, use below command:
composer update aitoc/module-customer-segmentation

Create Customer Segment

Once the module is installed, go to Admin > Aitoc > CustomerSegmentation > Limit to customer segments.

Here you will see all the different segments that you have created.

Click the "Add new Segment" button to create a new segment. Here you will need to fill in the required details and create the condition for the customer segment you want to create.

Enable = Toggle button to Yes to enable the segment.

Segment Name = Enter the segment name here.

Description = Brief text or purpose for the created segment.

Scope = Select the Store view for which you want to create a segment. Only the selected store view customer will be part of the rule and segment you are creating.

Include newsletter subscribers = Select if you want to consider customers who have subscribed to the newsletter or all the available customers.


You can create a condition based on the customer's detail, address, and sales history. Only those customers whose record matches the created condition will be part and available in the segment.

As an example, in the above screenshot, the condition has been created so that the customers who have placed more than 5 order and the total order amount is more than 200, will be part of this segment only.

Once you have filled in the required information and created the condition, Save the Segment.

Included Customer

You will see the "Included Customer" tab for all the segments at the bottom. All the customer records in this tab match the created segment condition.

As you can see, based on the condition we have created, there are two customers available who have placed more than 5 orders, and the order total is more than 200.

Also, from here, you can select any customer and change their customer group using the action tab. Once you have selected any customer from the action tab, you can move the customer to any other customer group.


The cron job "update_matched_customers" updates the customer records under the Included Customer tab. The cron job runs every day at 4 am.

Cart Price rule

The module also extends the default Magento cart price rule functionality. It provides an option to create a rule for a specific segment.

When you create rules, you will get an option to select the available segment, so the role will apply to only those customers who are part of the selected segment. So in this way, you can create cart price rules for customers that are part of different customer groups.