Skip to main content

Unit pricing

If a merchant sells products in specific quantities or measurements, they might need to display a price per unit for those products. For example, if a product is sold in weights of 500g, 1kg, and 1.5kg, a merchant might want to show the price per 100g for each variant.

In this tutorial, you'll learn how to display unit prices for product variants.

Tip

Unit prices are available only to stores located in the European Union (EU) or Switzerland. Unit prices can be added to products through the Shopify admin.


To display unit prices in your theme, you'll use the following:

Depending on where you're implementing your unit price display, you'll access unit price information through the associated parent object:

ContextExample template typesParent object
Variants that have been added to a cart or are part of an orderline_item
Product and variant listingsvariant

Anchor to Implementing unit price displaysImplementing unit price displays

You should add support for unit prices wherever you have a price display. Common locations include:

  • The collection template
  • The product template
  • The cart template
  • The customers/order template

You can include this code in the relevant template or a section in the template.

Your code should do the following:

  1. Check whether the variant or line item has a unit price measurement using variant.unit_price_measurement or line_item.unit_price_measurement.
  2. If the variant or line item uses a unit price measurement, then use the unit_price_with_measurement filter to display the unit price based on the store's HTML without currency setting.

Example

{% if variant.unit_price_measurement %}
{{ variant.unit_price | unit_price_with_measurement: variant.unit_price_measurement }}
{% endif %}
{% if line_item.unit_price_measurement %}
{{ line_item.unit_price | unit_price_with_measurement: line_item.unit_price_measurement }}
{% endif %}
  1. Use money filters combined with the unit_price_with_measurement filter to display the unit price with a different money format.

Example

{% if variant.unit_price_measurement %}
{{ variant.unit_price | money_with_currency | unit_price_with_measurement: variant.unit_price_measurement }}
{% endif %}
{% if line_item.unit_price_measurement %}
{{ line_item.unit_price | money_with_currency | unit_price_with_measurement: line_item.unit_price_measurement }}
{% endif %}

Was this page helpful?