5 Ways to Hide Products on Shopify (2026 Guide)
Explore the best 5 ways to hide products on Shopify. Learn how to manage visibility, protect pricing, and create a tailored shopping experience for buyers.
Cookies help us enhance your experience on our site by storing information about your preferences and interactions. You can customize your cookie settings by choosing which cookies to allow. Please note that disabling certain cookies might impact the functionality and features of our services, such as personalized content and suggestions. Cookie Policy
Cookie PolicyThese cookies are strictly necessary for the site to work and may not be disabled.
InformationThese cookies are strictly necessary for the site to work and may not be disabled.
| Cookie name | Description | Lifetime | Provider |
|---|---|---|---|
| _ce.clock_data | Store the difference in time from the server's time and the current browser. | 1 day | Crazy Egg |
| _ce.clock_event | Prevent repeated requests to the Clock API. | 1 day | Crazy Egg |
| _ce.irv | Store isReturning value during the session | Session | Crazy Egg |
| _ce.s | Track a recording visitor session unique ID, tracking host and start time | 1 year | Crazy Egg |
| _hjSessionUser_2909345 | Store a unique user identifier to track user sessions and interactions for analytics purposes. | 1 year | HotJar |
| _hjSession_2909345 | Store session data to identify and analyze individual user sessions. | 1 day | HotJar |
| apt.uid | Store a unique user identifier for tracking and personalization. | 1 year | Mageplaza |
| cebs | Store user preferences and settings. | Session | Mageplaza |
| cf_clearance | Store a token that indicates a user has passed a Cloudflare security challenge. | 1 year | Cloudflare |
| crisp-client | The crisp-client/session cookie is used to identify and maintain a user session within the Crisp platform. It allows the live chat system to recognize returning users, maintain chat history, and ensure continuity in customer service interactions. | Session | Crisp |
| _ga | Store a unique client identifier (Client ID) for tracking user interactions on the | 2 years | |
| _ga_7B0PZZW26Z | Store session state information for Google Analytics 4. | 2 years | |
| _ga_JTRV42NV3L | Store session state information for Google Analytics 4. | 2 years | |
| _ga_R3HWQ50MM4 | Store a unique client identifier (Client ID) for tracking user interactions on the website. | 2 years | |
| _gid | Store a unique client identifier (Client ID) for tracking user interactions on the website. | 1 day | |
| _gat_UA-76130628-1 | Throttle the request rate to Google Analytics servers. | 1 day |
Advertising cookies deliver ads relevant to your interests, limit ad frequency, and measure ad effectiveness.
InformationAdvertising cookies deliver ads relevant to your interests, limit ad frequency, and measure ad effectiveness.
| Cookie name | Description | Lifetime | Provider |
|---|---|---|---|
| _gcl_au | The cookie is used by Google to track and store conversions. | 1 day | |
| __Secure-3PAPISID | This cookie is used for targeting purposes to build a profile of the website visitor's interests in order to show relevant and personalized Google advertising. | 2 years | |
| HSID | This security cookie is used by Google to confirm visitor authenticity, prevent fraudulent use of login data and protect visitor data from unauthorized access. | 2 years | |
| __Secure-1PSID | This cookie is used for targeting purposes to build a profile of the website visitor's interests in order to show relevant and personalized Google advertising. | 2 years | |
| SID | This security cookie is used by Google to confirm visitor authenticity, prevent fraudulent use of login data and protect visitor data from unauthorized access. | 2 years | |
| APISID | This cookie is used by Google to display personalized advertisements on Google sites, based on recent searches and previous interactions. | 2 years | |
| __Secure-1PAPISID | This cookie is used for targeting purposes to build a profile of the website visitor's interests in order to show relevant and personalized Google advertising. | 2 years | |
| __Secure-3PSID | This cookie is used for targeting purposes to build a profile of the website visitor's interests in order to show relevant and personalized Google advertising. | 2 years | |
| SSID | This cookie is used by Google to display personalized advertisements on Google sites, based on recent searches and previous interactions. | 2 years | |
| SAPISID | This cookie is used by Google to display personalized advertisements on Google sites, based on recent searches and previous interactions. | 2 years | |
| __Secure-3PSIDTS | This cookie collects information about visitor's interactions with Google services and ads. It is used to measure advertising effectiveness and deliver personalised content based on interests. The cookie contains a unique identifier. | 2 years | |
| __Secure-1PSIDTS | This cookie collects information about visitor's interactions with Google services and ads. It is used to measure advertising effectiveness and deliver personalised content based on interests. The cookie contains a unique identifier. | 2 years | |
| SIDCC | This security cookie is used by Google to confirm visitor authenticity, prevent fraudulent use of login data, and protect visitor data from unauthorized access. | 3 months | |
| __Secure-1PSIDCC | This cookie is used for targeting purposes to build a profile of the website visitor's interests in order to show relevant and personalized Google advertising. | 1 year | |
| __Secure-3PSIDCC | This cookie is used for targeting purposes to build a profile of the website visitor's interests in order to show relevant and personalized Google advertising. | 1 year | |
| 1P_JAR | This cookie is a Google Analytics Cookie created by Google DoubleClick and used to show personalized advertisements (ads) based on previous visits to the website. | 1 month | |
| NID | Show Google ads in Google services for signed-out users. | 6 months |
Analytics cookies collect information and report website usage statistics without personally identifying individual visitors to Google.
InformationAnalytics cookies collect information and report website usage statistics without personally identifying individual visitors to Google.
| Cookie name | Description | Lifetime | Provider |
|---|---|---|---|
| _dc_gtm | Manage and deploy marketing tags through Google Tag Manager. | 1 year | |
| 1P_JAR | Gather website statistics and track conversion rates for Google AdWords campaigns. | 1 month | |
| AEC | 1 month | ||
| ar_debug | Debugging purposes related to augmented reality (AR) functionalities. | 1 month | Doubleclick |
| IDE | The IDE cookie is used by Google DoubleClick to register and report the user's actions after viewing or clicking on one of the advertiser's ads with the purpose of measuring the effectiveness of an ad and to present targeted ads to the user. | 1 year | Doubleclick |
| ad_storage | Enables storage, such as cookies (web) or device identifiers (apps), related to advertising. | 1 year | |
| ad_user_data | Sets consent for sending user data to Google for online advertising purposes. | 1 year | |
| ad_personalization | Sets consent for personalized advertising. | 1 year | |
| analytics_storage | Enables storage, such as cookies (web) or device identifiers (apps), related to analytics, for example, visit duration. | 1 year |
Vinh Jacker | 03-17-2025
With the support of the new generation of UI grid in Magento 2, you can create or change the gird with XML file which uses external php file for getting all part needed. In this article, I will show you how to add edit or delete action in Magento 2. Specifically, I take the example of the grid action such as edit in catalog product grid or delete preview in pages cms grid.
Let’s explore the process of adding edit or delete action through the below steps!
The vendor/magento/module-catalog/view/adminhtml/ui_component/product_listing.xml file is responsible for UI grid of product list in backend, and the actions inside this file:
<item name="fieldAction" xsi:type="array">
<item name="provider" xsi:type="string">product_listing.product_listing.product_columns.actions</item>
<item name="target" xsi:type="string">applyAction</item>
<item name="params" xsi:type="array">
<item name="0" xsi:type="string">edit</item>
<item name="1" xsi:type="string">${ $.$data.rowIndex }</item>
</item>
</item>
It tells to grid: while the current row gets the URL form edit action, the important part is the last part of file:
<actionsColumn name="actions" class="Magento\Catalog\Ui\Component\Listing\Columns\ProductActions">
<argument name="data" xsi:type="array">
<item name="config" xsi:type="array">
<item name="indexField" xsi:type="string">entity_id</item>
<item name="sortOrder" xsi:type="number">200</item>
</item>
</argument>
</actionsColumn>
By using the class Magento\Catalog\Ui\Component\Listing\Columns\ProductActions, the UI grid adds all actions related to it to class in path vendor/magento/module-catalog/Ui/Component/Listing/Columns/ProductActions.php.
public function prepareDataSource(array $dataSource)
{
if (isset($dataSource['data']['items'])) {
$storeId = $this->context->getFilterParam('store_id');
foreach ($dataSource['data']['items'] as &$item) {
$item[$this->getData('name')]['edit'] = [
'href' => $this->urlBuilder->getUrl(
'catalog/product/edit',
['id' => $item['entity_id'], 'store' => $storeId]
),
'label' => __('Edit'),
'hidden' => false,
];
}
}
return $dataSource;
}
Now, it is time for you to add your action.
Firstly, you need a grid plugin in your module, add event after and push your action inside Ibnab/CustomAction/etc/adminhtml/di.xml (where Ibnab is YouVendor, CustomAction is YourMode):
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
<type name="Magento\Catalog\Ui\Component\Listing\Columns\ProductActions">
<plugin name="prepare_data_source_after" type="Ibnab\CustomAction\Plugin\Adminhtml\ProductActions"/>
</type>
</config>
Then, you need to create your class in Ibnab/CustomAction/Plugin/Adminhtml/ProductActions .php and push:
<?php
namespace Ibnab\CustomAction\Plugin\Adminhtml;
use Magento\Framework\View\Element\UiComponent\ContextInterface;
use Magento\Framework\Url;
class ProductActions {
protected $urlBuilder;
protected $context;
public function __construct(
ContextInterface $context, Url $urlBuilder
) {
$this->urlBuilder = $urlBuilder;
$this->context = $context;
}
public function afterPrepareDataSource($productActions, $result) {
if (isset($result['data']['items'])) {
$storeId = $this->context->getFilterParam('store_id');
foreach ($result['data']['items'] as &$item) {
$item[$productActions->getData('name')]['preview'] = [
'href' => $this->urlBuilder->getUrl('catalog/product/view', ['id' => $item['entity_id'], '_nosid' => true]),
'target' => '_blank',
'label' => __('ُPreview'),
];
}
}
return $result;
}
}
Above are the detailed instructions for adding edit or delete mass actions in Magento 2. I hope that this article will be helpful for you to manage your online store more effectively. If you have any questions or want to give some opinions, feel free to leave a comment below.
Jacker is the Chief Technology Officer (CTO) at Mageplaza, bringing over 10 years of experience in Magento, Shopify, and other eCommerce platforms. With deep technical expertise, he has led numerous successful projects, optimizing and scaling online stores for global brands. Beyond his work in eCommerce development, he is passionate about running and swimming.
Related Post
5 Ways to Hide Products on Shopify (2026 Guide)
Explore the best 5 ways to hide products on Shopify. Learn how to manage visibility, protect pricing, and create a tailored shopping experience for buyers.
Magento 2 Abandoned Cart Tracking: How to Measure Recovery Performance
Learn how to track and measure abandoned cart recovery performance in Magento 2 such as KPIs, native reporting gaps, and how to use Mageplaza's built-in ACE reports to find what's working and optimize your emails.
What is a Hyvä Developer? What They Do, Cost & How to Choose (2026) - Mageplaza
Learn what a Hyvä developer does, how much it costs, and how to choose the right one. A complete guide for Magento merchants planning a Hyvä project.
How to Build Customer Loyalty in E-commerce: 7 Proven Strategies
Discover how to build a customer loyalty system that drives repeat purchases and long-term growth, with actionable tactics for every store size.
GTM Debugging on Magento: A Complete Troubleshooting Guide
GTM not working on your Magento store? This guide shows you exactly where tracking breaks and how to fix it, from product pages to order confirmation.
5 Ways to Hide Products on Shopify (2026 Guide)
Explore the best 5 ways to hide products on Shopify. Learn how to manage visibility, protect pricing, and create a tailored shopping experience for buyers.
Magento 2 Abandoned Cart Tracking: How to Measure Recovery Performance
Learn how to track and measure abandoned cart recovery performance in Magento 2 such as KPIs, native reporting gaps, and how to use Mageplaza's built-in ACE reports to find what's working and optimize your emails.
What is a Hyvä Developer? What They Do, Cost & How to Choose (2026) - Mageplaza
Learn what a Hyvä developer does, how much it costs, and how to choose the right one. A complete guide for Magento merchants planning a Hyvä project.
How to Build Customer Loyalty in E-commerce: 7 Proven Strategies
Discover how to build a customer loyalty system that drives repeat purchases and long-term growth, with actionable tactics for every store size.
GTM Debugging on Magento: A Complete Troubleshooting Guide
GTM not working on your Magento store? This guide shows you exactly where tracking breaks and how to fix it, from product pages to order confirmation.