Product page
The Product Price block — showing the buyer's real price on the product page, with strike-through originals, currency codes and login gating.
Product Price shows the selected variant’s customer price. Add it beside your product details and remove the theme’s duplicate price block.
Before you start
Pricing is configured and the price list is enabled.
Your theme is Online Store 2.0, so it supports app blocks.
Adding the block
Online Store → Themes → Customize.
Open the Product → Default product template — or whichever template is assigned to the products you are testing.
Add block → Apps → Product Price.
Position it where the theme's price sits.
Save.

For a quantity picker that follows case and minimum rules, add the separate Add to cart button.
Settings
Show original price
When the product is discounted, show the catalog price struck through beside the buyer's price.
on
Show compare at price for non-discounted price
When there is no wholesale discount, show the compare-at price struck through instead. MSRP-style framing.
off
Show currency code
Print the currency code beside the price.
off
Currency code position
left (USD 700) or right (700 USD).
right
Hide price without login
Hide prices from logged-out visitors and show the sign-in message instead.
on
Hide this block entirely when logged out
Hide the block instead of its sign-in message when login gating is enabled.
off
Sign in message
The HTML shown in place of a hidden price.
<p>Sign in to see price</p>
Hyperlink to login page on sign in message
Turn that message into a link to the login page.
on
Show Unit Price
Show a secondary unit price beneath the main price — per litre, per sheet, per kg.
off
Unit price expression
How the unit price is derived.
—
Unit price metafield
A Liquid value supplying the unit quantity, typically a product metafield.
—
Unit price label
Text after the unit price.
each
CSS
Your own CSS for the block.
—
Display switches such as original price, compare-at price, currency-code visibility and unit-price visibility are controlled by the placed theme block. Login visibility and text saved in the app’s Customize → Product Price configuration take precedence over the block’s fallback values. If a login setting seems unchanged, check that shared configuration too.
Gating prices behind login
Use Hide price without login to show a sign-in message instead of a price to signed-out visitors.
Enable Hide this block entirely when logged out if you want no message from this block. This applies when Hide price without login is enabled.
Set a Sign in message, such as "Sign in to see your trade pricing". Enable the login hyperlink to make the message clickable. The block uses Shopify’s storefront login route for new customer accounts, or a login link with a return path for classic accounts.
Unit pricing
For products sold by volume or weight, Show Unit Price adds a secondary line — "$1.20 per litre" beneath "$14.40".
It needs a source for the unit quantity, which is what Unit price expression and Unit price metafield provide, usually a product metafield holding the pack size. Add that value to your product data before configuring the display.
Testing
Sign in as a customer whose tag has pricing. The wholesale price should show.
Sign in as an untagged customer. Check the Default price if configured; otherwise check the catalog price.
Sign out. With login gating on, check the sign-in message or hidden block, depending on your settings.
Switch variants and quantities, then add to cart. Check the correct quantity tier and any case or loose-unit prices. Repeat in a quick-view window if your theme provides one.
If the displayed price does not match the cart, check the selected variant, quantity and customer tag, then contact support if needed.
When the block does not appear
You are editing a different template to the one assigned to the product you are testing. This is the usual cause.
You are editing a different theme to the one published or previewed.
The theme is not Online Store 2.0.
When the price looks wrong
Retail price for a tagged customer — check the tag spelling matches the column exactly, including case. See Customer tags & columns.
A different price to the one you set — the customer probably has a second priced tag. The lowest price wins.
No price at all — check the two login visibility settings, the assigned product template and the browser console for script errors.
Last updated