By Dylan HuntMay 16th, 2026shopifycustom-dataguides

Show Metafields on a Shopify Product Page Without an App

The last post covered choosing between metafields and metaobjects. This one is the follow-through for the metafield case: getting a fit note, care guide, or spec from a definition to pixels on the product page, with no app involved. Ten minutes, three steps.

Step 1: define the metafield

In the admin, go to Settings → Custom data → Products and add a definition. Three decisions matter:

  • Name is what you'll see in pickers, so make it human: "Fit note."
  • Namespace and key is the address Liquid will use, like custom.fit_note.
  • Type decides everything downstream: what the editing UI looks like, which theme settings it can connect to, and how it renders. Single line text for a fit note, multi-line for care instructions, dimension or weight types for real specs. Pick the honest type, not "text for everything," because typed values are what make the data usable later.

Step 2: fill in values

Open any product and scroll to the Metafields area; your new definition is there waiting for a value. Enter each product's own fit note. Products without a value simply render nothing, which is the behavior you want, and worth remembering when a block mysteriously "doesn't work" on one product: it probably has no value.

Step 3a: show it with dynamic sources (no code at all)

In the theme editor, open your product template and add or select a text block where the note should appear. Next to the text setting you'll see the dynamic source icon. Click it, and the picker lists the product's connectable fields, filtered to ones compatible with that setting's type. Choose your metafield, save, and the block now renders each product's own value.

Two honest limitations from the docs: dynamic sources work in section and block settings, not general theme settings, and the picker shows only type-compatible fields, so a missing entry usually means a type mismatch rather than a bug.

Step 3b: show it with Liquid (full control)

If you want the value inside custom markup, a theme block or snippet does it directly:

{% if product.metafields.custom.fit_note.value != blank %}
  <p class="fit-note">{{ product.metafields.custom.fit_note.value }}</p>
{% endif %}

Two filters are worth knowing. metafield_tag renders the value wrapped in HTML matched to its type, which is the quick path. metafield_text gives you the plain text for use inside your own elements. And for json-type metafields, Liquid can reach into the object directly:

{{ product.metafields.information.burn_temperature.value.temperature }}

Why typed beats pasted

You could paste the fit note into the description and be done. The reason this is worth ten minutes: a value in a typed metafield is data. It can move between themes without re-pasting, render consistently everywhere it's referenced, and feed the machine-readable layer that AI shopping agents actually read. "Runs small, size up" inside a description collage is invisible to an agent deciding whether to recommend your shirt; the same sentence in a metafield can travel into your structured data, which is exactly the layer AgentReady builds from your store.

Next up in this pillar: building a full spec table with metaobjects, for when one field becomes twelve. And if your product data is currently trapped in description HTML across 400 products, we untangle that.

Make your store agent-ready

Get found and recommended by AI shopping assistants.

AgentReady adds Schema.org structured data, an llms.txt directory, and an AI-readability audit to your Shopify store, so ChatGPT, Perplexity, and Google can understand and recommend your products. Free for stores under 500 products.

Comments

Every comment here comes from a verified email. Write yours, confirm from your inbox, and it's live.

Loading comments…

Leave a comment

ShareXLinkedInFacebook

Written by Dylan Hunt, Founder, Caffeine and Commerce. We build Shopify stores that rank and that AI agents can read. Have a project? Get in touch.