Hiding product prices

Locksmith can be used to hide your product prices so that customers can still browse your shop, but can only see prices and purchase products if certain conditions are met.

Here is an example of a product page that has been setup properly with Locksmith to hide prices:

Then, when the customer meets the conditions, the product pages will appear normally:

Note: The results may look different depending on your Locksmith conditions, theme, or other settings.

You can also setup Locksmith to hide from collection pages and searches (as long as the default Shopify search is used).

You have flexibility! For example, you can require accounts to be approved in addition to signed in. Our whole library of key conditions is at your disposal here. You can also set it up on only some of your products if you want to leave some products available. Or, you can simply hide the add-to-cart button and leave the product prices visible.

Use the following two steps to set it all up:

1. Create lock

The first step to hiding your prices using Locksmith is to create a lock that covers the products that you would like to hide prices on. To do this, open up Locksmith and use the search bar on the main page of the app. If this is all of your products (most common), you can simply search for "all" and choose the "All Products" collection:

Note: make sure to choose "Collection: All" and not "Collections Listing"

If you are not hiding prices on all of your products, you can do this only for the collection(s) or products that you want prices hidden for.

Once you've created the lock, you'll need to choose the conditions for access under keys. Many merchants use the "Permit if customer is tagged with..." key condition, which lets you manually approve accounts for price access by adding a tag:

That's the most common way to set it up, but you have the freedom to choose whatever key conditions work for yoursetup.

Before saving, turn on "Enable manual mode" right there in the lock (Clicking "Advanced" will show the option):

Done with step one!

2. Updating your theme for manual locking

You'll now need to add the code to your theme to let Locksmith know which parts need to be hidden.

Because each theme is a bit different, this feature does require manual coding. If you install a new theme down the road, these changes will need to be re-applied.

The rest of this guide gets a bit technical! If you need help with the coding portion, contact support using that message icon in the corner.

You'll need to start by locating the places in your theme that show the price. Here are some examples of file titles that you might find the price in:

  • snippets/product-card-grid.liquid
  • templates/product.liquid
  • snippets/product-card-list.liquid
  • snippets/product-price.liquid

Each theme is very different, so those are simply examples. You'll need to go to all of the files that contain price (it can be quite a few in some themes), and do the following steps:

  1. Open up the Liquid file, and add this to the very top of the file:

    {% capture var %}{% render 'locksmith-variables', variable: 'access_granted', scope: 'subject', subject: product %}{% endcapture %}{% if var == 'true' %}{% assign locksmith_access_granted = true %}{% else %}{% assign locksmith_access_granted = false %}{% endif %}
  2. Find the code you want to hide from unauthorized viewers, and wrap it with:

    {% if locksmith_access_granted %}...{% endif %}
  3. To hide prices, you'll be looking for elements like:

    {{ product.price }}<br>

    ... or:

    {{ item.price }}<br>


    This shows Locksmith manual locking code wrapping an entire price section, which I've highlighted.

  4. Save! :)

Remember, those 4 steps need to be done for each file that contains price.

Configuring Locksmith to hide the add-to-cart button only

You can still restrict purchasing products, while leaving the product details visible to the customer. This also a good option for those wanting to make sure that products are available for search engines to index.

As a reminder, we can help guide you through this process, including adding the code, so don't hesitate to get in touch. 

Step 1 is exactly the same, but the code you add in step 2 will be slightly differently

Find the product-template or product-form file in your theme, and locate the code that generates the "add-to-cart" button. This is different for all themes, so it won't be possible to give you an exact location for this. Then, add the code that you want to render, inside of a Liquid "else" statement. For example:

{% if locksmith_access_granted %}
  <button type="submit">
    Add to cart button example
{% else %}
  <p><strong>This product is not available in your country</strong></p>
{% endif %}

This results in the add-to-cart button being replaced, in cases where the customer doesn't have access. What is shown depends on what is added above. Just make sure your key conditions on the lock match the conditions that you want your customers to meet before being able to purchase.

If you need to render a passcode prompt button, use the following code (the button classes may need to be edited):

	<button class="locksmith-manual-trigger btn button">Enter passcode to purchase</button>

Here are some examples -

Requiring, a sign-in:

A passcode:

A country-specific visitor:

If you've got questions about the process, or need a hand, use the button in the corner to get in touch. :)

Did this answer your question? Thanks for the feedback There was a problem submitting your feedback. Please try again later.