This article covers:
By default, Shopify shows all variants that belong to a product on the product page.
You can control variant visibility natively through sales channel settings, or use apps or theme logic for more advanced, rule-based needs.
Review the main ways to hide specific variants:
Hide variants by disabling them for online sales
Use this when a variant should stay in your catalog but never appear on the storefront.
- Open the product in your Shopify admin.
- Select the variant you want to hide.
- In Sales channels and apps, uncheck Online Store.
The variant remains usable for drafts, POS, or apps, but won’t appear on the product page.
Use a variant-control app
If variants need to be hidden based on rules (availability, tags, customer groups), an app is more flexible.
| App | Main features | Rating |
|---|---|---|
| Globo Product Options & Variant | Hide variants by rules, show only valid selections, and support conditional logic | ⭐ 4.9 (3,471) |
| OPTIS Product Options & Variant | Hide or show variants based on tags, availability, or customer groups; advanced conditions | ⭐ 5.0 (1,731) |
| Camouflage: Hide Sold Variants | Automatically hides sold-out or restricted variants; simple setup | ⭐ 5.0 (242) |
These apps hide variants without changing your product structure.
Hide variants with custom theme code
Custom Liquid and JavaScript let you hide specific variants on the product page while keeping them available for internal workflows.
To do this, edit your theme’s product.liquid or main-product.liquid template and filter out the variants you don’t want to display.
Split variants into separate products
If only a few variants need to stay hidden, converting them into separate products can simplify your setup.
Each product gets its own description, images, and visibility settings, so you can control what customers see.
FAQ
How can I hide only one variant without hiding the whole product?
Disable that specific variant in Sales channels and apps, or use a variant-restriction app to hide it selectively.
How do I hide unavailable variants?
Most themes already gray out unavailable variants. To hide them completely, use a variant app or add custom code to remove variants with no inventory.
How do I remove variants that should not appear at all?
Disable them for the online store channel, or use custom code to filter them out of your product template.
Shopify supports several ways to limit catalog visibility to approved customers. The best option depends on your plan and setup.
Review the following methods to give select customers access:
Use Shopify B2B features
Shopify's B2B features let you assign catalogs to selected companies. Only logged-in buyers with access to a catalog can see or purchase its products.
Core B2B features, including company profiles and up to three catalogs, are available on the Basic, Grow, and Advanced plans. Shopify Plus adds extras such as unlimited catalogs and direct catalog assignment to company locations.
Use an app to control catalog visibility
Access-control apps let you hide products or collections from visitors who do not meet your requirements.
| App | Pricing | Rating |
|---|---|---|
| Addify ‑ Catalog Visibility | From $2.99/month with a 7-day free trial. | ⭐ 4.3/5 (4) |
| Locksmith (Lightward) | From $12/month with a 15-day free trial. | ⭐ 4.7/5 (291) |
| Wholesale Lock Manager: B2B | $9/month with a 14-day free trial. | ⭐ 4.5/5 (116) |
You can grant access based on customer tags, email domains, or private login rules, depending on how you want to segment your audience.
Hide the entire storefront with a password
Use this for private or invite-only stores, not selective products.
- In your Shopify admin, go to Online Store, then open Preferences.
- In Password protection, select Restrict access to visitors with the password.
- Enter a secure password and save.
Only visitors who have the password can access the storefront.
You can also require customers to log in before checkout, but since anyone can create an account, this doesn't limit access to approved customers. To restrict the storefront to specific accounts, use an access-control app such as Locksmith.
FAQ
How can I offer early product access to subscribers only?
You can tag subscribers automatically and show products only to customers with that tag.
How can I restrict one product so only certain customers can purchase it?
Restrict the product to tagged customers using an app or Liquid conditions.
Can I set customer-specific default products on a basic Shopify store?
Yes. You can use customer tags or simple Liquid rules to show different products to different groups.
Prices may appear as $0 when a product has variants that are unavailable or not priced correctly. This happens when Shopify or your theme cannot find a valid price for the selected variant.
Review the most common causes and how to fix them:
1. Default variant shows $0 on the product page
Most themes load the first variant by default. If that variant has an empty price, the product may display $0.
- In your Shopify account, go to Products.
- Open the product.
- Check the price of each variant.
- Make sure the first variant has a valid price.
- Reorder variants if needed so the correct one appears first.
2.Theme displays $0 for out-of-stock variants
Some themes show $0 when a variant is unavailable rather than hiding the price.
To fix this:
- Update your theme to the latest version.
- If you have custom code, adjust the price display logic so it shows either:
- The first available variant’s price, or
- The product’s full price range instead of $0.
3. An app or script is overriding the storefront price
Pricing apps or scripts can override your theme’s price display. If the app fails to load variant pricing correctly, the product page may show $0 as a fallback.
To confirm this:
- Temporarily disable pricing-related apps or scripts.
- Preview the product on a copy of your theme.
- If the price displays correctly, the issue comes from the app or script, not your product data.
4. A CSV import or bulk edit created variants with empty prices
After a CSV import or bulk edit, products sometimes end up with extra variants or incomplete variant rows. If Shopify preselects one of these variants, the storefront will show $0.
To fix it:
- In your Shopify account, go to Products.
- Open Variants and delete or correct any unexpected variants.
- Re-import your CSV after making sure all price columns are filled.
Your product price is one of the first things customers notice. Shopify lets you adjust where prices appear, how they look, and how discounts are communicated.
Review the main customization options below.
Change where the price appears (theme editor)
Most Online Store 2.0 themes let you reorder the Price block.
- In your Shopify account, go to Online Store, then open Themes.
- Click Customize.
- Open the Product or Collection template.
- Drag the Price block to your preferred position.
- Preview your changes, then click Save.
Change the price color, size, or font
- In the theme editor, open Theme settings.
- Go to Colors and Typography.
- Adjust the settings that affect price text, then Save.
Customize sale labels and badges
If your theme supports sale badges/labels, you can usually change them without code.
- Open the relevant section (often Product information or Featured product).
- Edit the sale badge/label settings, then Save.
These controls help you highlight discounts or create a style that matches your branding.
Change the price output with code
Use this method if your theme settings do not support the change you need.
- In your Shopify account, go to Online Store, then open Themes.
- Click Edit code.
- Open the price snippet (often Snippets →
price.liquid). - Make your changes, then test both a regular product and a discounted product.
Use apps to automate pricing labels and messaging
Apps add urgency, tiered pricing, and advanced discount messaging without editing code.
| App | Best for | Pricing | Rating |
|---|---|---|---|
| Flair Product Badges + CRO | Highlight deals with badges, labels, countdowns, and urgency messaging. | From $29/month. | ⭐ 5.0/5 (230) |
| Discount Ninja Promo Engine | Advanced automatic and stacked discounts, gifts, multi‑level promo rules, and scheduling | From $49/month. | ⭐ 4.4/5 (177) |
| B2B Wholesale, Volume Discount | Manage wholesale pricing, tiered & volume discounts, and custom pricing for B2B customers | From $29.90/month | ⭐ 4.3/5 (780) |
FAQ
How do I remove compare-at prices from my product and catalog pages?
If your theme has a setting to hide compare-at prices, use that first. Otherwise, remove the compare-at output from your price snippet (often Snippets → price.liquid) so it no longer renders on product and collection cards.
How can I replace product prices with a message like “Price on request”?
Update the product template or price snippet to show a custom message when a product meets your condition (for example, when the price is hidden or when a specific tag is present).
How can I hide prices for specific products only?
You can hide prices for selected products by tagging them (e.g., hide-price) and wrapping your price block in a Liquid condition that checks for that tag. You can then display either the standard price or a replacement message.
There are several ways to add a “Free Shipping” message under the product title on your collection pages. The best option depends on your theme and how much customization you need.
Review the main ways to add a free shipping label:
Add a text block in your theme editor
Use this method if your theme supports Text or Custom content blocks inside product cards.
- In your Shopify account, go to Online Store, then open Themes.
- Click Customize.
- Open a Collection page.
- Select the Product grid section.
- Check whether your theme allows adding a text block inside the product card.
- Enter a message such as Free shipping and position it under the title or price.
This is the simplest option, but it is only available in some Online Store 2.0 themes.
Use a product label/badge app
If your theme doesn’t support text blocks, or you want consistent styling and rules, a badge app is the easiest solution
These apps can show “Free Shipping” labels based on tags, collections, or promotions without editing theme code.
| App | Pricing | Rating |
|---|---|---|
| Flair Product Badges + CRO | From $29/month (14-day free trial). | ⭐ 5.0/5 (230) |
| DECO Product Labels & Badges | Free plan, paid from $9/month (free trial available). | ⭐ 5.0/5 (1,043). |
| Fordeer: Product Labels & Badges | Free plan, paid from $4.99/month (3-day free trial). | ⭐ 4.5/5 (104). |
FAQ
How do I add text under the product price in the Dawn theme?
In most Dawn versions, you can use a theme text block or CSS. A quick CSS approach uses a pseudo-element targeting the price selector:
For more control, insert a small Liquid snippet directly in the product card or main product section.
How do I remove the “Shipping calculated at checkout” text?
Go to Online Store → Themes → Edit default theme content and clear or replace the text.
Or hide it with CSS pasting this:
Shopify doesn’t include subcategories by default.
To organize products in a category or subcategory structure, you can use separate collections and display them with nested menu links.
Review the common setup for creating subcategories:
Create collections for each category and subcategory
Collections group your products, either manually or automatically based on tags or conditions.
- In your Shopify account, go to Products, then open Collections.
- Click Create collection and enter a name.
- Choose whether products are added manually or automatically.
- Click Save.
Arrange subcategories in the navigation
Use the menu editor to nest subcollections under a main category for dropdowns or mega menus.
- In your Shopify account, go to Online Store, then open Navigation.
- Open your Main menu.
- Add each collection as a menu item.
- Drag subcollections under a main category to create a nested structure.
Use product tags to automate subcategories
Tags let Shopify sort products into the right subcategory automatically, reducing manual updates.
- In your Shopify account, go to Products, then open All products.
- Open a product.
- In Tags, add relevant tags, then click Save.
- Go to Products, then open Collections.
- Click Create collection and select Automated.
- Set the condition to Product tag is [your tag], then click Save.
Now, any product with that tag will appear in the corresponding subcategory collection automatically.
FAQ
How can I create subcategories within a collection?
On Shopify, you can’t create subcategories inside one collection. Instead, create separate collections and nest them in your menu.
How do I add a product to a subcategory?
Add it to the subcategory collection manually or tag it according to the automated collection rules so it’s included automatically.
Collection pages can feel “locked” when your theme only exposes the product grid in the editor. You can still add sections like banners, text, FAQs, or custom features with the right setup for your theme.
Review the following options to customize your collection page in Shopify:
1. Customize the collection template in the theme editor (no code)
If your theme is Online Store 2.0, you can add sections to collection templates directly.
- In your Shopify account, go to Online Store, then open Themes.
- Click Customize.
- From the page selector, open Collections, then select Default collection.
- Click Add section, add the sections you need (for example, Image banner, Rich text, or Custom liquid), and reorder them.
- Click Save.
2. Enable sections by editing the collection template
If your theme doesn’t show Add section on collection pages, even though it’s an Online Store 2.0 theme, you need to edit the collection template.
- In your Shopify account, go to Online Store, then open Themes.
- Click Edit code.
- Open Templates, then select
collection.json. - Add the section to the
sectionslist and include it in theorderlist. - Click Save, then return to Customize to configure the section.
This method is more technical than using the theme editor, but it is the standard approach when the template includes only the product grid.
3. Use a page builder app
Page builder apps also let you add custom sections and design elements on collection pages without editing theme files.
| App name | Description | Starting price | Ratings |
|---|---|---|---|
| PageFly Landing Page Builder | Page builder for collection, product, and landing pages | Free plan available; paid plans from $18/month (Pay‑as‑you‑go) | ⭐ 4.9 / 5 |
| Instant Section & Page Builder | Visual editor with reusable section and page templates. | Free plan available; paid plans from $39/month | ⭐ 5.0 / 5 |
| GemPages Landing Page Builder | Page builder with marketing- and conversion-focused blocks. | Free plan available; paid plans from $29/month | ⭐ 4.9 / 5 |