Skip to main content
With the member storefront enabled, ordinary price expressions become member-aware on their own. You do not need a special tag for the common case.
Each visible price expression renders a price shell that already contains the guest price. The runtime then asks Fluid for the signed-in member’s price and replaces the text. Guests keep the price your theme rendered. The server decides the member’s tier and formats the money. The browser only writes text — it never picks a tier or calculates an amount.

What stays a plain value

Only prices you display become shells. A price used as data stays an ordinary Liquid value, so your logic keeps working: This means sorting, comparisons, and structured data keep the guest price. Only what a member reads on the page changes.

Apply filters to a price

Filters on a visible price are replayed against the member’s price by Fluid, then the result is written back as text.
Filters applied through an assignment compose with filters on the final output:
Supported transformations include arithmetic (plus, minus, times, divided_by, modulo), rounding and bounds, money, default, escaping, and scalar text operations such as append, prepend, replace, remove, case conversion, trimming, and truncation. Filters preserve ordinary Liquid semantics. Arithmetic on an already formatted price string behaves exactly as it would on that string anywhere else, and a numeric price stays numeric.

Limits

A replayed filter chain accepts at most:
  • 12 filters
  • 3 scalar arguments per filter
  • 512 bytes per string argument
Filter arguments are evaluated by Liquid while your page renders. They are never executed as code by Fluid. Filters that load resources, generate HTML, or depend on request context are excluded. An expression using one keeps its original output rather than becoming a member price.

Place a price shell yourself

Use the member_price filter when you need a shell somewhere an ordinary price expression will not reach:
This remains supported alongside automatic shells.

Country and variant

A price shell carries the product, the selected variant, and the storefront country. Change the variant or country on the element and the runtime fetches the matching price again. Omit the variant and Fluid prices the product’s default variant.

When a price does not resolve

The shell keeps the guest price whenever Fluid cannot return a member price:
  • The member has no price for that product
  • The response is missing, invalid, or times out
  • The session expired — every shell on the page reverts to its guest content
Bundles that cannot be priced for a member return no price, so your Liquid range stays intact. A genuine zero is formatted and shown. Identical requests are deduplicated until the next session refresh, so repeating the same product on a page costs one lookup.