Note
This concept is valid from Intershop 7.10.5.3.
To create customer-specific views of catalogs and products, there is the Catalog View feature. However, the demand for personalization rises to a point where Catalog Views are no longer sufficient. Catalog Views are suited for a handful of views, e.g., for customer segments. They are not suited for thousands of different views, individually for each customer.
The new approach are Customer-Specific Assortments. They work with the search index and allow a more flexible configuration without performance loss.
It is possible to include or exclude products for specific customers. This is done via custom attributes either at the product or at the customer.
With the corresponding configuration many possible applications of this feature are available. Some options are:
If a product is included, there is nothing special. The customer can see and purchase the product.
If a product is excluded for a specific customer, the following behavior applies:
To create assortments, it is necessary to carefully analyze the project requirements. Some examples are given here. However, this can be extended in projects.
Basically, product attributes are compared with customer attributes.
Use case:
The shop has a general assortment for all customers. In addition, there are products which are especially made for one (or very few) customers. In a B2B context, these products are also visible for all users of the customer.
Info
This example and related settings apply to the intronics Business channel.
To implement customer-specific products, do the following:
Value: <customer ID>, e.g., OilCorp (so the product will only be visible for users of the respective customer, i.e., OilCorp in this case)
Note that the content of the CustomerID depends on the channel and its application type. For example, in inSPIRED-INTRONICS it denotes a single customer while in inSPIRED-inTRONICS_Business it is a business customer (OilCorp, AgroNet) having multiple users.
Provide all mandatory data:
Field | Value |
---|---|
Display Name | CustomerID |
AttributeID | CustomerID |
Data Type | Multiple String |
The configuration is set up once. However, all changes to the product data require an update of the search index to become effective.
Use case:
Similar to the previous one. A shop has a general assortment for all customers. However, some products should be hidden for some customers.
Differences:
Customer-specific assortments are currently in progress. The provided feature set is fully functioning, but it still has some limitations. Over time the feature set will grow.
Page caching works on customer segment level. With customer-specific assortments this mechanism needs to be used carefully. Since especially product lists can be highly individual now, caching per customer segment is no longer useful.
The recommendation here is to disable page caching of such pages.
Note:
This section applies until Intershop Commerce Management 7.10.7.3, for later versions this limitation no longer applies.
The mega menu in the storefront is not fully compatible with customer-specific assortments. It evaluates the "online" flag of categories and catalog views to define if a category is visible there or not. If categories are empty, because the search index filters out all contained products for the current customers, this category is still visible - and empty.
Note:
This section applies until Intershop Commerce Management 7.10.10.1, for later versions this limitation no longer applies.
The category page is not fully compatible with customer-specific assortments. It evaluates the "online" flag of categories and catalog views to define if a category is visible there or not. If categories are empty, because the search index filters out all contained products for the current customers, this category is still visible - and empty.
Note:
The filter navigation in the sidebar is fed from the search index, so empty categories are filtered out there.
The quick order form in a B2B shop allows to order by product ID. Entering a product ID which is excluded for the current customer is still possible.
In such a case the product will not be added to the cart. However, an error message including name, image and price of the product is shown.
This feature is designed to allow a much greater flexibility than Catalog Views. Nevertheless the amount of data is not unlimited.
Example: Using custom attributes at the product as described above is designed for customer-specific products. The assumption is that the amount of customers who can see one product is either "all" or a low number. Approximately 5000 values for one custom attribute have been tested and were working. Nevertheless, the actual amount in a real scenario can be different, depending on the length of the values, amount of products in the channel, etc. The bottleneck is the memory of the database while the search index is built.
If you can foresee that the number of values for one attribute will be larger, please consider an alternative setup of the assortment, e.g., instead of comparing a product attribute to a customer ID, you can compare it with the customer segment ID. Alternatively, you can maintain the data at category level instead of product level.