To provide specific customers with access to all your products, including old and future collections, while ensuring that other customers cannot access those products through manual link editing, you can consider implementing customer accounts and password protection.
Here’s a possible approach:
Enable customer accounts: In your Shopify admin, navigate to “Settings” and then “Checkout.” Under the “Customer accounts” section, select the option to “Accounts are required.” This will require customers to create an account or log in to make a purchase.
Manually approve customer accounts: To control who can access all products, manually review and approve customer account registrations. This way, you can grant access to loyal customers who you want to provide special access.
Use password protection for your website: Enable password protection for your storefront. This setting can be found under “Online Store” > “Preferences” in your Shopify admin. By enabling password protection, you restrict access to your entire website. Only customers who have the password can access your storefront.
Share the password with selected loyal customers: Share the password directly with the loyal customers you want to provide access to all your products. This can be done via email or through a secure communication channel.
By combining customer accounts, manual approval, and password protection, you can create a system where only approved customers with the correct password can access your entire product range, including both old and future collections. Other customers who attempt to access your products through manual link editing will be blocked by the password protection.
Option One:
It sounds like what might work is tagging those loyal customers, then requiring customers have that tag to checkout using custom code. So it would go like this:
Create a tagging method. I would use Shopify flow to trigger the action of adding a tag to the customer after they’ve completed whatever action is required of them. For current customers, you can create a filtered customer list and bulk tag them.
Require customers to visit the cart page to checkout, or register the code on the ATC event. The code could go like this:
Option Two:
Another solution is to use an app such as Latch. You can create a lock on any number of products, and limit it to only customers specific tags. So just create your tagging flow, then setup the lock in the app. You can also upsell customers who don’t meet the requirements, if they need to have purchased a specific product before hand.
Fair disclosure, I’m the main developer behind the app.
Let me know if either of those options work or if I can elaborate on anything!