Playbook · Shopify unit price / price per unit missing
Shopify unit price missing on PDP.
Written for a Shopify DTC owner whose unit price / price per unit (e.g. per oz, per ml, per 100g) never appears on the product page — unit price metafields or measurement fields empty, theme Price block Show unit price off on Current, CSS hiding .price__unit / unit-price classes, or an EU/UK unit-pricing / labeling app fighting native Liquid. DIY-first: prove metafields vs theme price blocks vs apps; repair the live product template; retest on the live storefront. Distinct from compare-at / strikethrough price missing, quantity breaks / volume discount / Buy X Get Y missing, selling plan / subscription picker missing, and product description tabs / accordion missing. No earnings claims, no invented case studies.
Nico at Latch AI Ops · Sep 8, 2026 · ~12 minute read
Buy the 72-hour install — $997Compare-at priceQuantity breaksMerchant FAQ
01
Unit price / price per unit missing — not compare-at, not quantity breaks, not selling plans, not product tabs.
Several price-adjacent controls can look like “the per-unit line is missing.” They do not share a settings panel. This page is only when a unit price / price per unit (per oz, per ml, per 100g, per piece) never appears on a PDP that should show one (unit price metafields, theme price blocks, EU/UK labeling apps). Compare-at / strikethrough / sale badge is shopify-compare-at-price-not-showing. Quantity break / volume discount / Buy X Get Y tier tables are shopify-quantity-breaks-not-showing. Selling plan / subscription / try-before pickers are shopify-selling-plan-not-showing. Product description tabs / accordions are shopify-product-tabs-not-showing. Product metafields blank in general (not unit pricing) are product-metafields-not-showing. Markets currency / wrong country price is shopify-markets-currency-wrong.
02
Prove unit price metafields vs theme price blocks vs EU/UK labeling apps on a live PDP.
Open one product that should show a unit price on the live storefront (not only Theme editor preview). Capture four proofs before you edit themes or install another labeling app:
- Admin → Products → the product / variant: unit price / measurement fields (base measure, reference unit, unit price metafields your theme or EU/UK app expects). If base measure or reference unit is blank, native Liquid and most themes cannot invent a per-oz / per-ml line.
- Theme Customize → Current theme → product template this SKU uses: Product information / Price block — Show unit price (or Show price per unit) as your theme labels it. Confirm Current, not a draft theme.
- View-source or DevTools: does .price__unit, .unit-price, [data-unit-price], or similar exist in the DOM but with display:none / opacity:0 / color matching background? That is CSS, not empty metafields.
- Theme settings → App embeds: any EU/UK unit pricing / labeling / “price per 100g” app on Current? Two unit-price apps, or a labeling app plus a custom Liquid unit line, often blank each other.
If you only tested compare-at strikethrough, a quantity-break table, a selling-plan picker, or description tabs, you are on the wrong playbook. If Markets / country switcher shows a different currency with no unit line, prove domestic first, then chase shopify-markets-currency-wrong only when the domestic PDP already shows unit price correctly.
03
Unit price metafields / measurement fields empty, wrong unit, or Markets override blank.
Native and theme unit price lines need a product or variant measurement: base measure (how much is in the package) and a reference unit (per oz, per 100ml, per piece). Bulk CSV imports that leave those metafields blank, EU/UK labeling apps that write to a different namespace than the theme reads, Markets catalogs that publish a market price without measurement data, or a “unit price” that only lives in a product description paragraph — all produce a clean Price with no per-unit line, even when packaging and ads show “$0.12 / oz.”
Fix path: Products → open each SKU that should show unit price → fill the unit / measurement fields your theme or labeling app documents (or the metafield definition it binds to) → Save. For Markets, confirm the market catalog still exposes the same metafields. Retest the live PDP. Generic metafields not rendering anywhere are product-metafields-not-showing. Compare-at / strikethrough with no unit-price goal is shopify-compare-at-price-not-showing.
04
Product theme price blocks hide Show unit price on Current.
Dawn / OS 2.0 themes and many paid themes expose a Price block setting: Show unit price / Show price per unit. That can be toggled off on the live product template, enabled only on a draft theme, present on the default product.json but missing on an alternate template this SKU uses, or stripped so collection cards never had a unit line while you only looked at PDP settings.
Fix path: Customize Current theme → open the product template this SKU uses → Product information → Price (or equivalent) → enable Show unit price → Save. Publish Current. Retest the live PDP URL — not only the editor. Theme editor publish / save failures are theme-editor-publish-failing. Variant picker that updates image/ATC but not price is variant-picker-not-updating — chase that only when unit fields exist for the selected variant but the price block does not refresh.
05
CSS hides .price__unit, or an EU/UK labeling app fights native Liquid.
Custom CSS, page builders, and “clean price” snippets often hide unit lines with rules like .price__unit { display: none}, .unit-price { visibility: hidden }, or color matching the background. EU/UK unit-pricing / labeling / “price per 100g” apps inject their own line while suppressing the theme’s native unit price — or two apps fight until neither renders. An App embed that only loads on draft, or a consent manager that holds marketing embeds, can also leave the unit line blank while Liquid is present in the DOM.
Fix path: DevTools → Inspect the price node. If unit-price markup exists, remove or override the CSS that hides it (theme Custom CSS, app CSS, or page-builder layer). Theme settings → App embeds: keep one unit-price path — either native theme Show unit price OR one labeling app, not both. Disable the duplicate. Retest live PDP. Generic App embeds failing across many apps is app-embed-not-loading. Trust / payment badges missing on cart (not unit price) are shopify-trust-badges-not-showing.
06
You tested compare-at, quantity breaks, selling plans, or product tabs instead.
Compare-at / strikethrough / sale badge missing is shopify-compare-at-price-not-showing. Quantity breaks / volume discount / Buy X Get Y tiers missing is shopify-quantity-breaks-not-showing. Selling plan / subscription picker missing is shopify-selling-plan-not-showing. Product description tabs / accordion missing is shopify-product-tabs-not-showing. Product metafields blank in general is product-metafields-not-showing. Markets currency wrong is shopify-markets-currency-wrong.
The only honest test for this page: unit price / price per unit is missing on a PDP that should show one — fixable with filled unit / measurement metafields, theme Price block Show unit price on Current, CSS that does not hide unit-price classes, and one non-fighting labeling path — not compare-at alone, not quantity breaks alone, not selling plans alone, not product tabs alone. Capture metafields + theme blocks + CSS + apps, fix the path. Anything else is a different product.
07
When to stay DIY vs pay $997.
Stay DIY if unit / measurement fields are filled, theme Show unit price is on Current, CSS is not hiding unit-price classes, and one labeling path is live — and the per-unit line now shows on a live PDP. That is ordinary Shopify admin + theme work.
Pay $997 when the gap is wiring: lead capture, ops alerts, and a checkout-ready workflow on the stack you already pay for, installed in 72 hours after collaborator access lands. Latch does not sell an earnings, AOV, or conversion-lift number. Latch does not rebuild your theme’s price Liquid as a design agency. One live store. Clock starts when collaborator access is in.