Hello, I am trying to hide the price for a specific product but none of the previous methods works: by tag, by base.css. I also tried the help center assistant and I can’t find all those suggested functions. Could anyone give me a hand here please?? much appreciated!!!
Topic summary
A user running a Shopify store with the Debut theme is trying to hide the price for one specific product while keeping prices visible on all others. Previous attempts using product tags and CSS modifications have failed.
Solutions offered by community members:
- Apps: Suggestions to use third-party apps like “EasyCall – Call for Price” or “Hide Price & Add to Cart Button by Extendons”
- Liquid code with tags: Multiple users recommended adding a
hide-pricetag to the product and wrapping price output in conditional Liquid code ({% if product.tags contains 'hide-price' %}) - CSS targeting: One user suggested hiding price elements using CSS with the product tag condition
- Alternate template: Creating a separate product template without price display
Current status:
The user reports that tag-based Liquid solutions didn’t work in their case. After consulting Shopify support, they’re now exploring creating a standalone page or alternate template for the product. One community member noted that newer OS 2.0 themes make this much simpler (5-10 clicks in theme editor) and suggested migrating from the older Debut theme. The discussion remains open with multiple code examples and troubleshooting attempts shared.
Hiding the price for specific products on Shopify can be tricky if the theme you’re using doesn’t support custom conditions out of the box. Since editing base.css or using product tags didn’t work, it likely means your theme doesn’t have the right selectors or templates exposed for those methods.
Here are a few non-code workarounds you can try:
1. Use a “Call for Price” App:
Apps like:
- EasyCall – Call for Price
- Hide Price & Add to Cart Button by Extendons
These let you hide the price and replace it with a custom message like “Contact us for pricing” or a button that opens a contact form or phone dialer.
2. Create a Custom Product Template (No Coding Option via Shopify Customizer):
- From your Shopify Admin, go to Online Store > Themes > Customize
- Select the product you want to modify
- Duplicate the product template and hide the price section from the block settings (if your theme supports drag-and-drop customization)
- Assign this custom template only to the product(s) where you want the price hidden
3. Quick Manual Hack (if you’re okay using product description):
Remove the price from the product, mark it as “Unavailable,” and mention in the product description:
“Price available upon request. Click here to contact us.”
Let me know which theme you’re using. Some themes handle pricing visibility differently — I can give more exact steps if I know the theme name.
— EXperttechy| Shopify Store Setup & Marketing Expert
Hello, yes we can hide the product price. Could you please share your store URL amd the product page URL that you want to hide price for.
Hi @iPacific ,
Best method: Use a product tag and a Liquid condition
-
Add tag in your product like ‘hide-price’
-
Find where the price is rendered in your theme file.
then find {{ product.selected_or_first_available_variant.price | money }} in that file. -
Wherever you find the price output, wrap it like this:
{% if product.tags contains 'hide-price' %}
<span class="price-call">Contact us for price</span>
{% else %}
<span class="price">{{ product.price | money }}</span>
{% endif %}
Thank you so much for your reply, I am using Debut
Thank you so much for your reply, the store link is https://pacific-range-hood.myshopify.com/ and the product link is Pacific Range Hood
Thank you so much for your reply. I tried this but the price is still showing
Thank you so much for your reply. I added the code into product-template.liquid but the price is still showing
and you can use pacifichoods
Summary
{% case section.settings.media_size %}
{% when ‘small’ %}
{%- assign product_media_width = ‘medium-up–one-third’ -%}
{%- assign product_description_width = ‘medium-up–two-thirds’ -%}
{%- assign height = 345 -%}
{% when ‘medium’ %}
{%- assign product_media_width = ‘medium-up–one-half’ -%}
{%- assign product_description_width = ‘medium-up–one-half’ -%}
{%- assign height = 530 -%}
{% when ‘large’ %}
{%- assign product_media_width = ‘medium-up–two-thirds’ -%}
{%- assign product_description_width = ‘medium-up–one-third’ -%}
{%- assign height = 720 -%}
{% when ‘full’ %}
{%- assign product_media_width = ‘’ -%}
{%- assign product_description_width = ‘’ -%}
{%- assign height = 1090 -%}
{%- assign enable_image_zoom = false -%}
{% endcase %}
{%- for media in product.media -%}
{% include 'media', media: media, featured_media: featured_media, height: height, enable_image_zoom: enable_image_zoom, image_zoom_size: product_image_zoom_size, image_scale: product_image_scale %}
{%- endfor -%}
<noscript>
{% capture product_image_size %}{{ height }}x{% endcapture %}
<img src="{{ featured_media | img_url: product_image_size, scale: product_image_scale }}" alt="{{ featured_media.alt }}" id="FeaturedMedia-{{ section.id }}" class="product-featured-media" style="max-width: {{ height }}px;">
</noscript>
{% assign first_3d_model = product.media | where: "media_type", "model" | first %}
{%- if first_3d_model -%}
<button
aria-label="{{ 'products.product.view_in_space_label' | t }}"
class="product-single__view-in-space"
data-shopify-xr
data-shopify-model3d-id="{{ first_3d_model.id }}"
data-shopify-title="{{ product.title | escape }}"
data-shopify-xr-hidden
>
{% include 'icon-3d-badge-full-color' %}<span class='product-single__view-in-space-text'>{{ 'products.product.view_in_space' | t }}</span>
</button>
{%- endif -%}
{% if product.media.size > 1 %}
{% if product.media.size > 4 %}
{%- assign enable_thumbnail_slides = true -%}
{% endif %}
<div data-thumbnail-slider>
<div class="thumbnails-wrapper{% if enable_thumbnail_slides == true %} slider-active{% endif %}" data-slider>
{% if enable_thumbnail_slides == true %}
<button type="button" class="btn btn--link medium-up--hide thumbnails-slider__btn thumbnails-slider__prev thumbnails-slider__prev--{{ section.id }}" data-slider-button>
{% include 'icon-chevron-left' %}
<span class="icon__fallback-text">{{ 'sections.slideshow.previous_slide' | t }}</span>
</button>
{% endif %}
<ul class="product-single__thumbnails product-single__thumbnails-{{ section.id }}" data-slider-container>
{% if enable_thumbnail_slides == true %}
<div class="product-single__thumbnails-slider-track" data-slider-track>
{% endif %}
{% for media in product.media %}
<li class="product-single__thumbnails-item product-single__thumbnails-item--{{ section.settings.media_size }} {% if enable_thumbnail_slides == true %} product-single__thumbnails-item-slide{% endif %} js"{% if enable_thumbnail_slides == true %} data-slider-slide-index="{{ forloop.index0 }}" data-slider-item{% endif %}>
<a href="{{ media.preview_image | img_url: product_image_zoom_size, scale: product_image_scale }}"
class="text-link product-single__thumbnail product-single__thumbnail--{{ section.id }}"
data-thumbnail-id="{{ section.id }}-{{ media.id }}"
{% if enable_thumbnail_slides == true %} data-slider-item-link{% endif %}
{% if enable_image_zoom %}data-zoom="{{ media.preview_image | img_url: product_image_zoom_size, scale: product_image_scale }}"{% endif %}>
{%- capture thumbnailAlt -%}
{%- if media.media_type == 'video' or media.media_type == 'external_video' -%}
{{ 'sections.featured_product.video_thumbnail_alt' | t: imageAlt: media.alt | escape }}
{%- elsif media.media_type == 'model' -%}
{{ 'sections.featured_product.model_thumbnail_alt' | t: imageAlt: media.alt | escape }}
{%- else -%}
{{ 'sections.featured_product.gallery_thumbnail_alt' | t: imageAlt: media.alt | escape }}
{%- endif -%}
{%- endcapture -%}
<img class="product-single__thumbnail-image" src="{{ media.preview_image | img_url: '110x110', scale: 2 }}" alt="{{ thumbnailAlt }}">
{%- if media.media_type == 'video' or media.media_type =='external_video' -%}
<div class="product-single__thumbnail-badge">
{% include 'icon-video-badge-full-color' %}
</div>
{%- endif -%}
{%- if media.media_type == 'model' -%}
<div class="product-single__thumbnail-badge">
{% include 'icon-3d-badge-full-color' %}
</div>
{%- endif -%}
</a>
</li>
{% endfor %}
{% if enable_thumbnail_slides == true %}
</div>
{% endif %}
</ul>
{% if enable_thumbnail_slides == true %}
<button type="button" class="btn btn--link medium-up--hide thumbnails-slider__btn thumbnails-slider__next thumbnails-slider__next--{{ section.id }}" data-slider-button data-slider-button-next>
{% include 'icon-chevron-right' %}
<span class="icon__fallback-text">{{ 'sections.slideshow.next_slide' | t }}</span>
</button>
{% endif %}
</div>
</div>
{% endif %}
</div>
<div class="grid__item {{ product_description_width }}">
<div class="product-single__meta">
<h1 class="product-single__title">{{ product.title }}</h1>
<script>window.performance.mark('debut:product:title_visible');</script>
<div class="product__price">
{% include 'product-price', variant: current_variant, show_vendor: section.settings.show_vendor %}
</div>
{%- if cart.taxes_included or shop.shipping_policy.body != blank -%}
<div class="product__policies rte" data-product-policies>
{%- if cart.taxes_included -%}
{{ 'products.product.include_taxes' | t }}
{%- endif -%}
{%- if shop.shipping_policy.body != blank -%}
{{ 'products.product.shipping_policy_html' | t: link: shop.shipping_policy.url }}
{%- endif -%}
</div>
{%- endif -%}
{% capture "form_classes" -%}
product-form product-form-{{ section.id }}
{%- if section.settings.enable_payment_button and product.has_only_default_variant %} product-form--payment-button-no-variants {%- endif -%}
{%- if current_variant.available == false %} product-form--variant-sold-out {%- endif -%}
{%- endcapture %}
{% form 'product', product, class:form_classes, novalidate: 'novalidate', data-product-form: '' %}
{{ form | payment_terms }}
{% unless product.has_only_default_variant %}
<div class="product-form__controls-group">
{% for option in product.options_with_values %}
<div class="selector-wrapper js product-form__item">
<label for="SingleOptionSelector-{{ forloop.index0 }}">
{{ option.name }}
</label>
<select class="single-option-selector single-option-selector-{{ section.id }} product-form__input"
id="SingleOptionSelector-{{ forloop.index0 }}"
data-index="option{{ forloop.index }}"
>
{% for value in option.values %}
<option value="{{ value | escape }}"{% if option.selected_value == value %} selected="selected"{% endif %}>{{ value }}</option>
{% endfor %}
</select>
</div>
{% endfor %}
</div>
{% endunless %}
<select name="id" id="ProductSelect-{{ section.id }}" class="product-form__variants no-js">
{% for variant in product.variants %}
<option value="{{ variant.id }}"
{%- if variant == current_variant %} selected="selected" {%- endif -%}
>
{{ variant.title }} {%- if variant.available == false %} - {{ 'products.product.sold_out' | t }}{% endif %}
</option>
{% endfor %}
</select>
{% if section.settings.show_quantity_selector %}
<div class="product-form__controls-group">
<div class="product-form__item">
<label for="Quantity-{{ section.id }}">{{ 'products.product.quantity' | t }}</label>
<input type="number" id="Quantity-{{ section.id }}"
name="quantity" value="1" min="1" pattern="[0-9]*"
class="product-form__input product-form__input--quantity" data-quantity-input
>
</div>
</div>
{% endif %}
<div class="product-form__error-message-wrapper product-form__error-message-wrapper--hidden{% if section.settings.enable_payment_button %} product-form__error-message-wrapper--has-payment-button{% endif %}"
data-error-message-wrapper
role="alert"
>
<span class="visually-hidden">{{ 'general.accessibility.error' | t }} </span>
{% include 'icon-error' %}
<span class="product-form__error-message" data-error-message>{{ 'products.product.quantity_minimum_message' | t }}</span>
</div>
<div class="product-form__controls-group product-form__controls-group--submit">
<div class="product-form__item product-form__item--submit
{%- if section.settings.enable_payment_button %} product-form__item--payment-button {%- endif -%}
{%- if product.has_only_default_variant %} product-form__item--no-variants {%- endif -%}"
>
<button type="submit" name="add"
{% unless current_variant.available %} aria-disabled="true"{% endunless %}
aria-label="{% unless current_variant.available %}{{ 'products.product.sold_out' | t }}{% else %}{{ 'products.product.add_to_cart' | t }}{% endunless %}"
class="btn product-form__cart-submit{% if section.settings.enable_payment_button and product.selling_plan_groups == empty %} btn--secondary-accent{% endif %}"
{% if settings.enable_ajax %}aria-haspopup="dialog"{% endif %}
data-add-to-cart>
<span data-add-to-cart-text>
{% unless current_variant.available %}
{{ 'products.product.sold_out' | t }}
{% else %}
{{ 'products.product.add_to_cart' | t }}
{% endunless %}
</span>
<span class="hide" data-loader>
{% include 'icon-spinner' %}
</span>
</button>
{% if section.settings.enable_payment_button %}
{{ form | payment_button }}
{% endif %}
</div>
</div>
{% endform %}
</div>
{%- comment -%}
Live region for announcing updated price and availability to screen readers
{%- endcomment -%}
<p class="visually-hidden" data-product-status
aria-live="polite"
role="status"
></p>
{%- comment -%}
Live region for announcing that the product form has been submitted and the
product is in the process being added to the cart
{%- endcomment -%}
<p class="visually-hidden" data-loader-status
aria-live="assertive"
role="alert"
aria-hidden="true"
>{{ 'products.product.loader_label' | t }}</p>
<div
class="product-single__store-availability-container"
data-store-availability-container
data-product-title="{{ product.title | escape }}"
data-has-only-default-variant="{{ product.has_only_default_variant }}"
data-base-url="{{ shop.url }}{{ routes.root_url }}"
>
</div>
<div class="product-single__description rte">
{{ product.description }}
</div>
{% if section.settings.show_share_buttons %}
{% include 'social-sharing', share_title: product.title, share_permalink: product.url, share_image: product.featured_media %}
{% endif %}
</div>
{% unless product == empty %}
{% endunless %}
Please let me know if you need any other things. Really really appreciated!!!
Hello @iPacific i have fixed your issue, here the step by step information for hide your specific product price
- Open your specific product and add tag ‘hide-price’, like you can see in image
- after then Open your file ‘main-product’
{% style %}
{% if product.tags contains 'hide-price' %}
.price__container {
display: none !important;
}
{% endif %}
{% endstyle %}
add this code , like you can see in image.
NOTE
→ I have add this feature in my down theme that wat i use this class .price__container , make sour you add your class name in this code.
You can fin your class name like see in this image
→ If this works or not work please let me know this.
Thank you so much for the detail reply. When I apply option 1, all the pricing are removed (not only the specific product) and option 2, that line is already comment out.
I am so sorry I should be more detailed. I just want one product’s price hided, as it is in store only. All other products’ pricing remain shown on the web. I am very sorry for the confusion.
Hey @iPacific
Moeed here, let’s not complicate things and get straight to the point.
- You want to hide the price on product page or collection page?
- Send me the product link of which you want to hide the price of
Best,
Moeed
Thank you so much for the reply. I am using Debut theme and there is no ‘main-product.liquid’ under sections (I tried the search function but still with no result)
Hi @iPacific , if you can give the collaborator access to your shopify store that will be much easier to fix this problem.
Let us know if you would like to give access.
Thanks,
Regards
Storemindz
Hi there,
Thanks for reaching out! I understand you’re trying to hide the price for a specific product but haven’t had success with the usual methods like using tags or modifying base.css.
To better assist you, could you please confirm a few details:
- Are you using a specific theme (e.g., Dawn, Prestige, etc.)?
- Which platform are you working with (e.g., Shopify)?
- Do you want to hide the price on the product page, collection page, or both?
In the meantime, one workaround could be adding a conditional statement in your product template (e.g., product.liquid or main-product.liquid depending on your theme), like this:
{% unless product.tags contains 'hide-price' %}
{{ product.price | money }}
{% endunless %}
Then, simply tag the product with hide-price.
If you’ve already tried that and it didn’t work, it’s possible the theme has JavaScript dynamically rendering prices, in which case we might need to target the script itself or use additional Liquid logic.
Happy to dive deeper once I know a bit more about your setup!
Best regards,
Shopify Partnership





