Per-product content

How sections show different content for every product automatically, using Shopify's category attributes, with your typed values as the fallback.

A product page section is only useful if it says something true about that product. A benefits section showing the same three benefits on every product is decoration, not information.

Manifest solves this without asking you to build a metafield system. Several sections can read Shopify’s category attributes — data Shopify attaches to a product automatically once you assign it a category — and fall back to the values you typed when a product has nothing to say.

The three sources, in order

Every section that supports this resolves content in the same order:

  1. Category attribute. If you picked one, the section reads it from the product being viewed. Different product, different value, no extra work.
  2. Your typed value. Used whenever the product has no data for that attribute. This is what makes the theme look finished on a fresh install with nothing configured.
  3. Nothing. If both are empty the row, fact, or block is skipped rather than rendering an empty space.

You never lose the typed value by choosing an attribute. It sits underneath as the fallback, and comes back the moment a product lacks the attribute.

Step 1 — assign a product category

This is the whole setup. Category attributes do not exist until a product has a category.

  1. In Shopify admin, open a product.
  2. Find Product category in the product organization card.
  3. Start typing your category and pick the most specific match Shopify offers. The more specific the category, the more attributes you get.
  4. Save.

New attribute fields now appear on the product, beneath the category. Fill in the ones that matter.

Do this on one product first and confirm the section changes before doing your whole catalog.

Step 2 — point the section at an attribute

In the theme editor, open the section and find the setting named Value source — or Fact source and Benefit source, depending on the section. Choose an attribute instead of Manual.

The section immediately shows that product’s value, and keeps your typed text as the fallback.

Which setting, in which section

SectionSettingWhere to find it
Benefits and suitabilityBenefit source, then Benefit attributeSection settings
Benefits and suitabilityValue sourceEach Suitability detail block
Evidence cardsFact 1 source, Fact 2 source, Fact 3 sourceSection settings
Formula comparisonValue source, on each of the six rowsSection settings
Proof ledgerValue sourceEach Proof record block
Product dossierValue sourceEach Dossier group block
Product chaptersValue sourceEach Product highlight block
Product stageValue sourceEach Product highlight block

Attributes you can choose

Fifteen attributes are offered, and each section lists only the ones that suit it — a proof record offers certifications and ingredients, not fragrance level.

Active ingredient · Constitutive ingredients · Cosmetic function · Fragrance level · Ingredient origin · Moisturizer type · pH level · Product certifications and standards · Product form · Skin care effect · Skin care features · SPF level · Suitable for skin type · Texture · UVA protection grade

These are Shopify’s own attribute names, not ones Manifest invented, so they behave the same way everywhere in your admin.

What stays manual, and why

Category attributes are short factual values. They cannot carry a paragraph, a document, or a date. So these stay yours to write:

  • Dossier panel prose, ingredient stories, and protocol step descriptions
  • Proof ledger documents, dates, and test methods
  • Anything with a voice

If you want those to vary per product too, that is what dynamic sources are for. Any text setting in the theme editor with the dynamic-source icon beside it can be bound to a metafield you define yourself:

  1. Create the metafield definition under Settings → Custom data → Products.
  2. Fill it in on each product.
  3. In the theme editor, select the setting, choose the dynamic-source icon, and pick your metafield.

That is a bigger commitment than assigning a category, so reach for it only where the editorial content genuinely differs per product.

When an attribute shows nothing

The section falls back to your typed value, silently and by design — a shopper never sees a gap. If you expected the product’s value instead, check these in order:

  1. The product has no category. No category means no attributes.
  2. The category does not include that attribute. Attributes belong to specific categories. A moisturizer category will not offer SPF level. Pick a more specific category, or a different attribute.
  3. The attribute is empty on the product. Assigning a category creates the field; it does not fill it in.
  4. You are previewing the wrong product. Product sections read the product currently being viewed.

The fastest check is the product page in Shopify admin. If the value is blank there, the theme has nothing to show.

Why it works this way

Themes on the Shopify Theme Store may not require merchants to create custom metafields to function, and may not depend on an app. Category attributes are the one source of per-product structured data that needs no setup beyond a field Shopify already asks you to fill in. Building on them means Manifest shows real per-product content on day one, and your typed values keep the store looking complete until you get there.