Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.



Section


Column
width50%

Table of Contents

Warning

Firefox user notice:

Please use a different web browser to view this document.

Sorry for the inconvenience.




Column
width35%

Magento 2 Customer Segmentation is a tool for segmenting customers according to their sales history, buying behavior and other personal details. 

Compatibility: Magento Open Source 2.3.X - 2.4.X, Magento Commerce 2.3.X. - 2.4.X

Product Page


...

Section


Column
width50%

Command Line Installation

Panel
borderWidth2px
borderStylesolid

1. Backup your web directory and store database


Panel
borderWidth2px
borderStylesolid

2. Download the Customer Segmentation installation package


Panel
borderWidth2px
borderStylesolid

 3. Upload the contents of the Customer Segmentation installation package to your store root directory


Panel
borderWidth2px
borderStylesolid

 4. In the SSH console of your server, navigate to your store root folder:

No Format
cd path_to_the_store_root_folder

run the following command:

No Format
php -f bin/magento module:enable Aheadworks_CustomerSegmentation

then:

No Format
php -f bin/magento setup:upgrade

after:

No Format
php -f bin/magento setup:static-content:deploy



Panel
borderWidth2px
borderStylesolid

5. Flush the store cache; log out from the backend and log in again


Note

Make sure the installation is done from the FTP administrator account. Otherwise, set 775 permissions to the store root directory after the extension has been deployed.



Column
width50%

Composer Installation

Panel
borderWidth2px
borderStylesolid

If you are installing an extension from Aheadworks for the first time, you need to add our composer repository to your Magento store:

Panel
borderWidth2px
borderStylesolid

1. Login to your ssh console and navigate to your store folder:

Panel
borderWidth2px
borderStylesolid
cd path_to_the_store_root_folder

Run the following command:

Panel
borderWidth2px
borderStylesolid
composer config repositories.aheadworks composer https://dist.aheadworks.com/

On successful execution of the command you will be able to use the composer to install the extensions.



Panel
borderWidth2px
borderStylesolid

To install the extension:

2. Login to your ssh console and navigate to your store folder:

Panel
borderWidth2px
borderStylesolid
cd path_to_the_store_root_folder



Panel
borderWidth2px
borderStylesolid

 3. Run the following command to install the latest version of the extension:

Panel
borderWidth2px
borderStylesolid
composer require aheadworks/module-customer-segmentation

if you need to install a specific version, run this command:

Panel
borderWidth2px
borderStylesolid
composer require aheadworks/module-customer-segmentation:<version>


Tip

Specify the version of the extension in <version>


Panel
borderWidth2px
borderStylesolid

When prompted, enter Public Key (Username) and Private Key (Password):
screenshot-1.pngImage RemovedImage Added


Note

Both Public Key (Username) and Private Key (Password) can be found in the Composer Access page My Projects and Licenses in your personal account on our site:image-20190522-140823.pngImage Removed
Note that the password will not be displayed for security reasons.

Image Added



Panel
borderWidth2px
borderStylesolid

4. Enable the extension:

Panel
borderWidth2px
borderStylesolid
php -f bin/magento module:enable <Module_Name>


Tip

Add the product name in <Module_Name>

Next, register the extension:

Panel
borderWidth2px
borderStylesolid
bin/magento setup:upgrade

Recompile your Magento store if you are in the Production mode:

Panel
borderWidth2px
borderStylesolid
bin/magento setup:di:compile

To verify that the extension is enabled, run this command:

Panel
borderWidth2px
borderStylesolid
bin/magento module:status

Clean store cache, by running the following command:

Panel
borderWidth2px
borderStylesolid
bin/magento cache:clean

Log out and Log in the backend again.




Updating Customer Segmentation for Magento 2

Section


Panel
borderWidth2px
borderStylesolid

1. Download the updated extension file from Marketplace or another extension developer. Take note of the module-name and version.


Panel
borderWidth2px
borderStylesolid

2. Export the contents to your Magento root.


Panel
borderWidth2px
borderStylesolid

3. If a composer package exists for the extension, run one of the following.

Update per module name:


No Format
composer update Aheadworks/<Module_Name>

Updater per version:


No Format
composer update Aheadworks/<Module_Name>:<Module_Version>



Panel
borderWidth2px
borderStylesolid

4. Run the following commands to upgrade, deploy, and clean the cache.


No Format
php bin/magento setup:upgrade --keep-generated
php bin/magento setup:static-content:deploy
php bin/magento cache:clean




Introducing Customer Segmentation for Magento 2


Section

Introduction

The Customer Segmentation extension for Magento 2 presents a tool to draw various segments of customers according to a number of customized rules and conditions. With the extension you are able to: 

  • Segment both registered and guest customers;
  • Customize rules and conditions for segmentation against a variety of parameters;
  • Use customers purchase track record, personal details and other information as parametres for segmentation;
  • Integrate the extension with the native Magento Newsletter and Cart Price Rules;
  • Move segments to groups;
  • Export segmented data to CSV or XML.

What's New?

Customer Segmentation for Magento 2 as of version 1.2.0 supports integration with Company Accounts for Magento 2



Customizing segments


Section

To start work with the Magento 2 Customer Segmentation go to Customers> Customer Segmentation by Aheadworks > Customer Segments. 

Customer Segments Page

This is where you may view, edit the segments as well as add new ones. The segments are allocated into a table with four columns: Rule ID, Segment, Website, Status and Newsletter Subscription Status, which represent some most important details of segments settings. The table is easily customizable and searchable with the 'Columns', 'Default View' and 'Filters' active elements on the top right of the page.

Info

Should you require further support beyond the present manual click 'Customer Segments' folding list and opt for Get Support.  

You may enable, disable or delete available segments individually or in bulk. Tick the boxes next to the chosen segments on the left of the table, click the 'Actions' folding list and opt for an operation.

To edit a segment click the active link of the segment name, to add a new segment click the 'Add New Segment' button on the top right of the page. These operations will take you to the Edit/New Segment page. 

New Segment and Edit Segment Pages

The New Segment and Edit Segment pages look identical, the name suggests the operation you are to do with the segment. This is where you may alter or add all the details of the segment, define rules for segmentation, and look up for matched customers.

The image below reflects some basic details you are suggested to provide for each segment. They are as follows:

  • Status - enable or disable the segment here;
  • Segment Name -  provide a name for the segment;
  • Description - give details on the segment;
  • Assign to Website/Store view - the extension will index the data from the selected websites and store views only;
  • Newsletter Subscription Status - opt for a subscription status of customers who fall under the segment. 

Info

The extension will reindex all enabled segments daily, so it is recommended to disable the unused ones to save time on reindexing.

Prior settings of the segment sorted, you may now proceed to the Conditions block of the segment.

Conditioning the segments

The Conditions block of the Edit/New Segment page allows:

  • Validating Customer Emails - enter the emails of the customers you think fall under segmentation for quick and fast check thereof
  • Customizing rules for segmentation -  condition the rules for segmentation
Info

Unlike building a whole segment, the Validating Customer Emails option doesn't require reindexing, so it is a good option to verify whether the rule you have created is correct.

To add conditions for segmentation click   and choose an attibute for conditioning. For further configuration proceed to the 'ALL', 'TRUE', 'IS', '...' and other clickable parameters to alter them in accordance with your rule.

Note

From a performance perspective, it is recommended to put date conditions on a level as high as possible

When the rule is set, proceed to one of the following:

  • New segment - click the 'Save' button and reindex the rule.
  • Edit segment - click the 'Save' button, reindex the rule and refresh the page.

Run the following commands for reindexing:

Panel
borderWidth2px
borderStylesolid

 1. In the SSH console of your server, navigate to your store root folder:

No Format
cd path_to_the_store_root_folder

run the following command:

No Format
php -f bin/magento index:reindex aw_customer_segmentation



Info

Please proceed to the Segmentation Use Cases to familiarise yourself with some examples of most demanded rules for segmentation.


To delete a condition click .

Once the rule is set, saved and reindexed, you will be able to check the customers who match the segmentation, move them to groups or export to CSV. 

Checking segmented customers

After reindexing is done, scroll down the Edit/New Segment page to the 'Matched Customers' block to check the customers who match the segmentation. The list comes as a table with the following columns, the names of which speak for their content: Name, Email, Group, Country, Phone, Zip, State, City and Address. You may customize the view of the table the 'Columns', 'Default View' and 'Filters' active elements on the top right of the page.

To export the segment click 'Exportand choose the format of the file: CSV or XML.

To move the segment to a group select the customer entries, click 'Actions' and then 'Move to customer group'. A list of groups available will pop-up, where you will be able to finilize the operation.




Integrating Customer Segmentation


Section

Logic of disabled segments

Intergration with Customer Segmentation presumes that the cooperating module will either receive a list of segments or feature the segment criteria and segments in rule conditioning. All segments, enabled and disabled, will be shown in the list/rule. The disabled segments will have a corresponding indication of thereof. 

If a disabled segment is selected in a rule, the rule will not trigger. If several segments are selected and some of them are enabled, the rule will be validated only against the enabled segments.  

Info

Example:

A vendor creates a generic offer for customers representing a few segments. When one of the segments is disabled, no customer from this segment will receive the offer. Customers from other enabled segments, on the contrary, will keep on receiving the offer.

Logic of multiple websites

Magento 2 allows setting up multiple websites. The Multiple Website feature means that you can run more than one website from the similar Magento installation. You manage multiple websites from a single domain dashboard. 

If a segment is selected from Website2, for a rule from Website1, that rule will not be applied. Make sure the segments come from the same website as the rules.  

Be careful removing the websites (stores, store views). When a website is removed, the link between the segment and the site is removed too. Consequently, the segment can be assigned to none of the available websites. Manual segment updating by a store admin may then be required.

More on Magento 2 Multiple Websites.

Integration with native Magento 2 modules

Customer Segmentation for Magento 2 allows for a few useful integrations, which help your promotional campaigns be more targeted and therefore effective. Once installed the module will integrate itself into the Cart Price Rules and Native Magento Newsletter.

Cart Price Rules Integration

To fine-tune the coupons as well as some other discounts which are to be applied at check-out or in cart with regard to a particular customer segment go to Marketing > Cart Price Rules. Pick up a rule from the list or start a new one. Complete the essentials and move down to the Customer Segments. Here you will find a list of segments available for selection.

Note

Once you make up your choice and finalize the settings, the discount or coupon will be available only to registered customers in the chosen segment.


More on native Magento cart price rules.

Native Magento Newsletter Integration

To personalize you email newsletters you may resort to a Customer Segments block too. This time you will have to proceed to Marketing > Newsletter Queue. Click a queue for editing and scroll the list of settings down to the Customer Segments block.  Finalize the queue, save the newsletter, and it will only be delivered to those registered customers who fall into the chosen segment.

More on native Magento newsletters.

Integration with Aheadworks modules

Content Management modules

Customer Segmentation for Magento 2 can noticeably enhance the functionality of a few Aheadworks modules, basically meant to display all sorts of content, namely:

Customer Segmentation for Magento 2 allows specifying the display of content to customer segments. 

Note

For the present extension to integrate well with Rich Banner Slider and Automatic Related Products please enable the "Compatibility with frontend extensions" option in Stores → Configuration → Aheadworks → Customer Segmentation.  

It is not essential to have the option enabled for other extensions from the list above since they do not display cachable content, based on customer segments. Having it otherwise will not affect the operation of the modules, though will increase the number of cached files and subsequently (though not necessarily at a radical extend) slow down the store.


Warning

It’s highly recommended to keep Customer Segmentation index updated. Refresh Full Page Cache after any modifications to the segments to eliminate incorrect content on the frontend.

Company Accounts

Integration with Company Accounts for Magento 2 allows Customer Segmentation for Magento 2 to specify companies into segments, which can then be used to fine-tune various marketing campaigns.

When the Company Accounts for Magento 2 module is enabled on the store, the Create/Edit Segment page has the following updates:

  • The Apply To configuration option is added to the Conditions tab. This is where you can specify if the segment is to include customers or companies. Thereby the two alternatives of the drop-down: Customer (by default) / Company. When Company is selected, the rule configuration block exchanges customer attributes to the company ones.

  • The Company column is added to the Matched Customers grid. The column can be filtered, sorted and hidden.

If a Company matches the rule, all members of the Company get into the given segment.

A note to developer

To get the array of segment ids assigned to a customer, a developer is to use an instance of the class:

No Format
Magento\Framework\App\Http\Context, method getValue(), parameter $name = 'aw_cs_customer_segment_ids'

see the following constant for reference

No Format
 Aheadworks\CustomerSegmentation\Model\Customer\Context::CONTEXT_AW_CS_SEGMENT_IDS




Customer Segmentation Use Cases


Section

Below you may find some sample rules for segmentation of customers alonside the explanations for the use cases.

1. List of clients who ordered a specific product at least 2 times

“Number of Orders equals or greater than 2” filters out the customers who have only 1 order which contains 2 items of the same SKU. If this is not essential, you can set that value to 1.

2. List of clients who made a purchase at least 3 times since 11/01/2017

3. List of clients who made a purchase at least two times during the past year for a global amount equals or greater than 200€

4. List of clients who ordered products of a specific brand in May 2019

5. List of clients who ordered products of a specific brand in the last 3 months

Same idea as in the previous example with the only difference: Date From/To is replaced with the Date Period.

Note

From a performance perspective, it is recommended to put the date conditions on a level as high as possible. For example, same result can be obtained should you do otherwise, however, such configuration will require an additional subrequest. While this will not be noticeable in smaller stores, it can save some time on reindexing in the stores with 100k+ orders.


6. List of clients who ordered a product from the specific categories

7. List of clients who has the order(s) with a total of 100€ or more

8. List of clients whose billing address is not in USA

9. List of clients who have an account but did not order

In this example, all customer groups were selected.

10. List of female clients older than 50 years old

11. List of clients who used a promotion code at least once

12. List of clients who bought a printer more than a year ago, but didn’t order ink or toner for the last year

Uninstalling Customer Segmentation



Section


Column
width50%

Manual Removal


Panel

1. Disable the module by executing the following commands:

No Format
php bin/magento module:disable Aheadworks_CustomerSegmentation
php bin/magento setup:upgrade



Panel

2. Remove the extension files from the following folder:

No Format
app/code/Aheadworks/CustomerSegmentation




Column
width50%

Automatic Removal (via Composer)

Panel

1. Disable the module by executing the following commands:

No Format
php bin/magento module:uninstall <Module_Name>





Section


Product Page

Need Customization?


You can always find the latest version of the software, full documentation, demos, screenshots, and reviews on http://ecommerce.aheadworks.com
License agreement: https://ecommerce.aheadworks.com/end-user-license-agreement/
Contact Us: http://ecommerce.aheadworks.com/contacts/
Copyright © 2020 Aheadworks Co. http://www.aheadworks.com

...