Hide price on $0 products on a collection page

Topic summary

Goal: hide prices for $0 products on collection pages while keeping prices for non-zero items visible, and keep $0 products listed (with buyers redirected to a salesperson).

  • Site URL/password were shared for review; the merchant had temporarily hidden all prices to demo for a client.

  • Admin method suggested: uncheck “Online Store” under Product availability. Merchant rejected this because it hides the product entirely.

  • Theme (Liquid) approach: edit the collection item template to render the price only when product.price > 0. The price markup may be in an included snippet, so the condition must wrap that output.

    • Liquid is Shopify’s theme templating language; this change targets collection pages and similar sections.
  • Maintenance concern: scattering Liquid conditions across collections, featured sections, and through future theme updates can be hard to maintain.

    • Latest update proposes using an app to manage price visibility centrally (example referenced: Madgic Hide Price) so products stay visible but prices show only under set conditions.

Outcome: no confirmed fix implemented. Clear options are conditional theme logic vs. an app-based visibility solution; decision pending.

Summarized with AI on December 15. AI used: gpt-5.

Hey! I was wondering if anyone knows if there is any way to hide the price from $0 products on a product collection page?

1 Like

Hello, @ashleymarcelino

Welcome to the Shopify community!
and Thanks for your Good question.

Please share your site URL,
So I will check and provide a solution here.

http://safedesign.myshopify.com/

password is: shophere

Ideally, for products with a price I would like to be able to see it on the collection page!

Thanks!

@ashleymarcelino

Thanks for URL

sorry, but i can see 0 prices.

Hi @ashleymarcelino ,

You can do it from admin. Here are the following steps Login into your shopify store account. Then click on all products. Then search the product which has zero price and edit that product. There is a option on the right hand side “Product availability”. Click on manage and untick “Online Store” Then click on done and save.

@KetanKumar I hid all of the prices in order to show my client but I was hoping theres a way just to hide the price of specific products

@Pankaj_Gupta When I try this, it hides the product completely from the website. I would still like for the product to be visible on the site where if they would like to buy they would be redirected to a salesman.

You’ll have to find where the price occurs in the collection page and make a condition for it:

{% if product.price > 0 %}
  {{ product.price }}
{% endif %}

It may not just be the product objects price property, it may be an included snippet. But the above logic says that if the product price is greater than 0, show it, otherwise do not.

1 Like

We had a similar setup where products needed to stay visible, but prices should only appear under certain conditions.

The Liquid approach works initially, but once you apply it across collections, featured sections, and future theme updates, it becomes hard to maintain. We ended up treating this as a price visibility issue rather than a pricing issue, which made things much easier to manage.

This reference on this matches the approach we followed.

That makes sense, and I agree with that approach. Treating it as a price visibility rule rather than a pricing change is definitely the more scalable solution, especially when the same logic needs to apply across collections, featured sections, and future theme updates.

I’ve seen the same issue with Liquid-only conditions becoming difficult to maintain as the theme evolves. Following a centralized visibility approach, like the one referenced, should keep things cleaner and more future-proof. I’m happy to align with that method and implement it consistently across the relevant sections.

Let me know if you’d like this behavior limited strictly to collection pages or extended elsewhere as well.

Hey there! A great way to hide the price of your $0 products on the collection page is to set those products to the Unlisted status in your Shopify admin. Here’s why this works and how it functions:

First, let’s break down what the Unlisted status does:

  • Hides from public channels: Unlisted products won’t show up in your collection pages, search results, or any public sales channels by default. This means their prices (including $0 ones) won’t be visible to regular visitors browsing your store.
  • Still accessible via direct link: Even though they’re hidden publicly, you can share the direct product URL with specific customers (e.g., for free gifts, custom orders, or exclusive perks). Anyone with the link can view and purchase the product normally.
  • No need for code tweaks: Unlike custom CSS/liquid hacks that might break theme updates, using the Unlisted status is a native Shopify feature—so it’s stable and easy to manage.

To set a product to Unlisted:

  1. Go to your Shopify admin → Products
  2. Select the $0 product you want to hide
  3. Scroll to the Sales channels and apps section
  4. Uncheck all public sales channels (e.g., Online Store)
  5. Click Save—the product will now be Unlisted

This method ensures your $0 products stay hidden from collection page price displays while still letting you share them with targeted audiences when needed!