GuideLast updated September 14, 2026
How to age gate specific products on Shopify
If you sell one age-restricted line alongside a catalog that is not restricted at all, a sitewide age gate makes every shopper answer for a product most of them never wanted. Here is how to gate the products that need it and leave the rest alone.
Choose which visits need an age check
A sitewide age gate is a wall in front of your homepage. Every visitor sees it, including the ones arriving from a search for a product with no age restriction at all. Each of them has to answer a question before they see anything you sell.
For a store that sells only restricted goods, that is correct behavior. For a mixed catalog it is a tax. A lifestyle brand selling apparel alongside CBD, or a homeware brand selling barware, pays that tax on every unrestricted visit. The people most affected are new visitors, who have the least patience for a modal and the least reason to trust you yet.
Check each app’s targeting options and plan requirements before choosing it.
What Shopify gives you to target with
Shopify has no built-in age gate, so targeting comes from data already on your products. Two things are worth building rules on:
- Product tags. Free-form labels on a product, editable in bulk from the Products list. Good for a scattered set of items that does not map to how your store is organized.
- Collections. Groups you already maintain, either manual or automated by condition. Good when the restricted set is a category you merchandise anyway, such as Spirits or Hemp.
Tags are the more precise tool and collections are the cheaper one at scale. A store with 500 spirits does not want to tag 500 products; a store with a dozen restricted items scattered across categories does not want a collection for them.
Tag the products you need to gate
In your Shopify admin:
- Go to Products and filter or search for the items you need to restrict.
- Select them with the checkboxes, then choose Add tags from the bulk actions.
- Apply one tag you will use consistently. Something explicit like
age-gate-21beats something clever, because the next person to touch the catalog has to guess correctly.
Pick the tag name before you tag anything, and write it down somewhere your team will find it. The most common way product-level gating fails is a typo: one product tagged age-gate21 sits outside every rule you wrote, and nothing warns you.
Decide what the gate should do, not just where it appears
Choose the information and control you need after the popup appears.
A gate that appears on a product page is a display control. It decides what a visitor is shown. A shopper who disables JavaScript, or who has a direct link to your cart, has not been shown it. That is fine for a brand-safety gate and thin if you are relying on it as a compliance control.
Stopping the order requires something running on Shopify’s side rather than in the browser, evaluated when the cart is submitted. On Shopify that means a checkout validation function. Ask any app you are evaluating whether the block is enforced server-side or only rendered in the storefront, because both get described as “age verification”.
Self-declaration is not identity verification. Hatchway asks shoppers to declare their age. A shopper who answers untruthfully passes. That is worth knowing before you rely on one.
If your rules require you to actually confirm who someone is, you need document or biometric verification, which is a different category of product. Do not buy a self-declaration gate expecting it to satisfy that.
Check your rules match reality before you trust them
After you set a rule, confirm which products it actually matches. A rule that matches nothing looks identical to a rule that is working, because in both cases you browse your store and see no gate on the products you were not looking at.
Open a restricted product in an incognito window and confirm the gate fires. Then open an unrestricted one and confirm it does not. Then check your cart: a gate on the product page that lets a direct add-to-cart through has not done the job.
Where Hatchway fits
We built Hatchway Age Gate around this problem. Tag-based targeting is free on every plan, including custom tag names, because charging to undo a limitation we imposed is a poor way to start. Collection targeting is on the paid plans, where catalog size makes it worth something.
Growth adds analytics by product, age threshold, reason, and locale. Pro adds reference lookup and CSV records, plus opt-in Online Store checkout enforcement.
It is a self-declaration gate. It does not verify identity, and we say so on the terms page rather than in the small print.