Hide products from customers in Magento 2. Allows for hiding particular products from particular customers in Magento 2. Suitable for customizing user experience and targeting products for specific customers.
You can control the product customer visibility via easy to use interface directly from product edit page in Magento 2 backend.
| Lifetime updates | 180 days of free support included ...more |
Adds ability to control product visibility per customer in Magento 2. You can set which customers have access to specific products or hide products from all others but few ones. You can define action to apply or message to display for users without access to specific products.
Rules include:
1. Hide product(s) from selected users
2. Show product(s) only to selected users
3. Hide product(s) from other users
The module comes with handy import and export features that allow you to define and manage product visibility in easy-to-handle CSV (Comma Separated Files). You can create a simple Excel sheet where you can define your product visibility rules and import them into the extension config.
The extensions provides a REST API support which you can use to manage product visibility.
The API allows you to create rules, delete rules, get existing rules or purge all rules at once.
It is suitable for managing customer product visibility remotely.
This extension for Magento 2 allows you to hide specific products from specific customers. You can control product access directly from the product edit page in Magento admin panel (see Fig. 1 below)
The module comes with 3 rules with regards to product visibility
Rule 1 - Hide products from selected users
Intent: Explicitly restrict certain products from specific logged-in users.
Behaviour
Guest (non-logged) users → See all products.
Logged-in users → See all products EXCEPT those explicitly hidden for them.
Rule 2 - Show products to selected users
Intent: Explicitly allow certain products to certain users while still showing unrestricted products to everyone.
Behaviour
Guest users → See only products without explicit permissions.
Logged-in users → See:
Products explicitly allowed to them
Products with no explicit permissions
Rule 3 - Hide products from other users
Intent: Make explicitly assigned products private to selected users.
Behaviour
Guest users → See only products without explicit permissions
Logged-in users → See only products explicitly allowed to them
The extension provides easy to use interface. You can quickly adjust the customers who should not see currently edited product.
Fig. 1

All our products come with a 6 full months (180 days) of premium support. To report a bug, use our Premium Help Desk available in your account at Anowave.
Really flexible module, expected a few issues with cache but it worked just fine. Support is also very polite and responds quickly! Great work guys!
Yes, I recommend this product
This extension can be installed in a few minutes, by going through the following steps:
If you need to upgrade the database, run the following command line:
php -f bin/magento setup:db-schema:upgrade
Find below information on how to use the built-in REST API to manage product visibility programmatically.
REST ENDPOINTS / PARAMETERS
GET rules (filter)
http://localhost/mage.2.1.7/rest/V1/rules/get
Method: POST
Request body: {"complexFilter":"{}"}
PARAMETER REQUIRED FORMAT
complexFilter Yes JSON encoded value
DELETE rule
http://localhost/mage.2.1.7/rest/V1/rules/delete
Method: POST
Request body: {"rule":"{\"rule_id\":13}"}
PARAMETER REQUIRED FORMAT
rule Yes JSON encoded value
rule.rule_id Yes Number
CREATE rule
http://localhost/mage.2.1.7/rest/V1/rules/create
Method: POST
Request body: {"rule":"{\"pvc_product_id\":1,\"pvc_customer_id\":12}"}
PARAMETER REQUIRED FORMAT
rule Yes JSON encoded value
rule.pvc_product_id Yes Number
rule.pvc_customer_id Yes Number
PURGE rule
http://localhost/mage.2.1.7/rest/V1/rules/purge
Method: POST
Request body: {"rule":"{\"customer_id\":1}"}
PARAMETER REQUIRED FORMAT
rule Yes JSON encoded value
rule.pvc_product_id Yes Number
rule.pvc_customer_id Yes Number
The extension provide a custom event that you can use to hook to and manage product visibility from your own extension and/or plugin.
Event name: pvc_filter_ids
@param \Magento\Framework\DataObject transport
(
ids,
rule,
rule_label,
is_logged
customer_id
)
Anowave is an extension developer for Magento 1.x and Magento 2.x platforms. We provide a wide range of premium extensions for our in-house and public clients. The extensions we offer extend the capabilities of Magento and provide bespoke functionality. They also fill some gaps in the functionality provided by the base platform and help customers choose Magento as their preferred eCommerce platform.
The extensions we offer are part of our full-range Magento service, which also includes a Premium Helpdesk where customers can speak with actual software engineers and have their issues resolved without hassle. Premium-labeled modules also include free installation, configuration, testing, etc.