Product data setup
Touchmark's product pages are built from product data, not from text typed into the theme editor. Set it up in four steps, in this order. Each step is optional, and every block hides on its own when its data is missing, so you can launch with step 1 and add the rest product by product.
The four steps
- Set the product category and fill its attributes. Shopify's own fields. No setup: pick values on each product. They fill goal, form, diet, allergen and certification labels across the store.
- Add product disclosures where your products need a legal notice, such as a California Proposition 65 warning. Shopify's own field. The theme shows them on the product page and in the cart, for the buyer's country or region.
- Add subscriptions with a subscription app, if you sell them. The theme shows the plans the app creates.
- Create the theme's definitions for what Shopify has no field for: Supplement Facts, ingredients, directions, timelines, lab batches and product questions. You create each definition once, then fill it in per product.
Each block's notice in the theme editor names the field it is waiting for and links to the matching part of this page. Shoppers never see those notices.
Step 1. Product category and its attributes
Shopify's standard product taxonomy gives every category its own attributes, called category metafields. For supplements the category is Health & Beauty > Health Care > Fitness & Nutrition > Vitamins & Supplements, or one of its subcategories such as Minerals, Single Vitamins, Sleep Supplements or Protein Supplements. Shopify creates these fields for you; there is nothing to define.
- In your Shopify admin, go to Products and open a product.
- Under Category, choose Vitamins & Supplements or the subcategory that fits. Shopify often suggests one from the title.
- In the Category metafields section that appears, pick values for the attributes below. Leave any you don't need empty.
- Click Save. Repeat for each product, or use bulk editing for several at once.
| Attribute | What Touchmark does with it |
|---|---|
| Supplement health focus | The goal label on product cards and in the Formula details line above the product title, when the product has no Goal metafield. On the product page the theme first looks for a goal collection (Theme settings > Goals) that holds the product, then uses the first health focus value. Without a goal collection the label has no link and uses the text color. |
| Dietary preferences | The diet labels in Formula details, the tags in the Free from row of Ingredient rationale, and on product cards the line under the name (form, then diet) when the product has no key actives. In Formula details it replaces the theme's Dietary metafield; the Free from row shows both. |
| Product certifications & standards | A row of certifications under the price, as text, when the Price block's Show certifications is on. No logos are shown. |
| Allergen information | A Contains: line under the Supplement Facts panel and in the Free from row, when the product's Supplement facts entry has no Allergen statement of its own. |
| Food supplement form (or Medicine/Supplement form) | The form, such as Capsules or Powder, in Formula details and in the line under the name on product cards. |
| Flavor | When you link a product's Flavor option to this attribute (in the product's variant options), each option value takes the attribute's value name. The variant picker shows swatches only when every value of an option has a color or image swatch in Shopify admin; flavor values have none, so they show as option cards or a dropdown, as the Variant picker block's style sets. |
| Detailed ingredients | The ingredient names in Ingredient rationale, as plain rows, when the product has no Ingredient entries. It is not a substitute for Supplement Facts rows. |
Filters. Category attributes can be collection and search filters. Add them in the Shopify Search & Discovery app under Filters; the theme's product grid shows every filter you add there.
Step 2. Product disclosures
Product disclosures are Shopify's structured legal notices, such as a California Proposition 65 warning or a choking hazard warning, kept word for word. Shopify stores them in the product's Disclosures metafield (shopify.disclosure). Each disclosure has a title, its text, an optional symbol, the countries or regions it applies to, and where it shows: product page, cart or checkout.
- In your Shopify admin, open the product in Products.
- In its Metafields section, click Disclosures. If the field isn't there, add Shopify's standard Disclosures definition under Settings > Custom data > Products first.
- Choose a disclosure Shopify provides, which comes with its title, text, symbol and jurisdictions, or create a custom one and set where it applies and where it shows.
- Click Save.
You decide when a disclosure is required and what it says. Shopify keeps the text word for word.
Where Touchmark shows them
- Product page: the Compliance disclaimer block, under the Supplement Facts chapter, prints each disclosure whose display includes the product page: its symbol, title and text.
- Cart drawer and cart page: a line whose product has a disclosure for the cart shows a button with the disclosure's title. It opens the full text.
- Checkout: outside the theme. Shopify documents checkout display as a checkout extension on Shopify Plus.
The buyer's country or region. The theme passes the product's disclosures through Shopify's applicable_disclosures filter, which keeps the ones that apply to the buyer's jurisdiction. A disclosure limited to California shows to buyers in California. When Shopify can't tell where the buyer is, the disclosure shows.
With the store statement. Theme settings > Compliance holds your structure/function statement, which claims marked with an asterisk point to. On a product with Supplement Facts it shows after the disclosures, unless one of the disclosures is that statement (its text mentions the Food and Drug Administration, or starts with the statement's first sentence). A Prop 65 warning does not replace the statement.
Step 3. Subscriptions
Subscription plans, which Shopify calls selling plans, come from a subscription app such as Shopify Subscriptions. The app creates the plans and attaches them to products; Touchmark shows them. The theme creates no plans and charges nothing.
| Where | Product with plans | Without plans |
|---|---|---|
| Purchase options block | One-time purchase first, then each plan group from the app with its price per delivery and saving; the delivery cadence inside the selected option; the tag and perks from Theme settings > Subscriptions; the subscription policy link. | Not shown. |
| Price block | The subscription price and its cadence while a plan is selected. | The one-time price. |
| Product cards | One-time and subscription prices side by side, when Theme settings > Product cards > Show subscription price is on. | The one-time price. |
| Quick add, quiz, routine builder | The same choice between one-time and subscription. | One-time only. |
| Cart | A subscription line shows a Subscription badge and its plan, with a choice of the group's other plans and a switch to one-time (unless the product is subscription only). A one-time line can offer the subscription, when Theme settings > Cart > Offer a subscription on one-time lines is on. | No plan text and no switch. |
| Subscription steps section | The savings calculator and delivery slip for the product you choose. | The steps only. The editor shows a sample calculator marked Sample. |
A product that is sold by subscription only (in the app, without one-time purchase) opens with its first plan selected and shows no one-time option.
How long a delivery lasts. When a variant has the Servings metafield, purchase options say how long the chosen quantity lasts at the daily amount in the product's Protocol entry (one serving a day without it). If a delivery would run out more than 7 days before the next one, a notice suggests a quantity that covers the gap, with a button that sets it.
Managing a subscription. Put your app's customer portal address in Theme settings > Subscriptions > Subscription management link. Without it, the theme tells customers to manage subscriptions from the links in their subscription emails.
Step 4. The theme's definitions
Shopify has no standard fields for a Supplement Facts label, lab results, directions, a results timeline or product questions, so Touchmark reads its own. They are metaobjects (structured entries, such as one Supplement Facts label) and metafields (fields on a product, variant, collection, page or blog post that point to those entries or hold a value). Create each definition once. Names can be anything you like; the type, keys and namespace and key must match this page exactly, because that is what the theme reads.
| Definition | Kind | Read by |
|---|---|---|
| Supplement facts | Metaobject supplement_facts, metafield custom.supplement_facts on products and variants | Supplement Facts, Key actives, Variant picker, product cards, search |
| Supplement fact row | Metaobject supplement_fact_row | The rows of a Supplement facts entry |
| Ingredient | Metaobject ingredient, metafield custom.ingredients | Ingredient rationale, Ingredient trace |
| Protocol | Metaobject protocol, metafield custom.protocol | How to take, supply lines, quiz |
| Timeline step | Metaobject timeline_step, metafield custom.timeline | What to expect, Results timeline |
| Lab batch | Metaobject lab_batch, metafield custom.lab_batches | Batch certificates, Lab results, Rating and batch, Trust badges, Image banner, search and the batch lookup |
| Lab result | Metaobject lab_result | The result rows of a Lab batch entry |
| FAQ entry | Metaobject faq_entry, metafield custom.faq on products and pages | Product questions, FAQ section |
| Author | Metaobject author, metafields custom.author and custom.reviewed_by on blog posts | Blog post byline and author bio |
| Other product fields | Formula number, Goal, Goals, Servings, Dietary, Restock note, Bundle products | Cards, product page, cart, filters |
| Collection fields | Accent color, Key ingredients | Goal list, goal navigation, menus, search |
| Standard fields | Product subtitle, Product rating, Product rating count | Titles, cards, ratings |
How to create a metaobject definition
- In your Shopify admin, go to Settings > Custom data (called Metafields and metaobjects in newer admins), then Metaobjects, and click Add definition.
- Enter the Name from this page. Shopify fills in the type from the name; check that it matches the type given here, for example
supplement_facts, and edit it before saving if not. - Click Add field for each row of the definition's field table: enter the field name, choose the type, and turn on List of values where the type starts with "List of". Add the validations given in the Notes column.
- Make each field's key match the Key column. Shopify fills the key in from the field name, so names such as Form or source (key
form) need their key edited. If you can't edit a key, name the field after its key first, save, then rename it: the key stays. - Under Access, keep Storefronts turned on so the theme can read the entries.
- Click Save.
Create the definitions that others point to first: Supplement fact row before Supplement facts, and Lab result before Lab batch. A field of type Metaobject can only point to a definition that already exists.
How to create a metafield definition
- Go to Settings > Custom data and choose what the field belongs to: Products, Variants, Collections, Pages or Blog posts. Click Add definition.
- Enter a Name, then set Namespace and key to exactly the value on this page, for example
custom.supplement_facts. - Click Select type and choose the type given here. For a Metaobject type, choose the metaobject definition it points to. For a list, click One value and change it to List of values.
- Click Save. The field now shows in the Metafields section of every product (or variant, collection, page or blog post).
How to fill them in
- Go to Content > Metaobjects, open a definition, click Add entry, fill in the fields and click Save. A Supplement facts entry needs its rows: create them from the Rows field, or first under Supplement fact row.
- Open the product in Products. In its Metafields section, click the field, choose the entry or entries, and save. For a list, drag the entries into the order you want.
- Open the product in the theme editor. A block that was waiting for the data now shows it, and its notice is gone.
Supplement facts metaobject
Type supplement_facts · metafield custom.supplement_facts
One Supplement Facts label. Point a product to it, and point a variant to its own entry when that variant's label differs (another size or flavor).
- Metafield
- Name Supplement facts, namespace and key
custom.supplement_facts, type Metaobject (Supplement facts), one value. Create it under Products, and also under Variants if any variant has its own label. - Read by
- The Supplement Facts block (the label table, the % Daily Value plot, the label version line and the Label PDF link); Key actives; the Variant picker (serving size beside the first option); product cards (key ingredient rows, set in Theme settings > Product cards > Key ingredient rows); search suggestions; quiz results; the Free from row of Ingredient rationale (its allergen statement); and Compliance disclaimer, which shows the store statement only on products with a label.
- Variants
- When the selected variant has its own entry, the label, key actives and serving size follow it as shoppers change options. Otherwise the product's entry shows.
- When it is empty
- The Supplement Facts chapter and Key actives show nothing, and the editor shows a notice. Product cards show the form and diet from the product category instead of key ingredient rows.
| Field name | Key | Type | Notes |
|---|---|---|---|
| Serving size | serving_size | Single line text | As printed on the label, for example 2 capsules or 1 scoop (10 g). |
| Servings per container | servings_per_container | Single line text | As printed, for example 30. |
| Rows | rows | List of metaobject (Supplement fact row) | The label's rows, in label order. The label shows nothing without rows. |
| Other ingredients | other_ingredients | Multi-line text | Printed under the label. |
| Allergen statement | allergens | Single line text | Printed under the label. When empty, the product's Allergen information attribute shows as Contains:. |
| Label version | label_version | Single line text | For example v3.1. Shown in the label version line. |
| Label updated | label_updated | Date | Shown in the label version line. |
| Label PDF | label_pdf | File (files only, for a PDF) | A link to the printed label. |
| Footnote | footnote | Multi-line text | Extra notes under the label. The theme writes the two standard notes itself from the rows: * Percent Daily Values are based on a 2,000 calorie diet, and † Daily Value not established. |
Supplement fact row metaobject
Type supplement_fact_row
One row of a Supplement Facts label. Rows have no metafield of their own: they are listed in the Rows field of a Supplement facts entry. Use Nutrient as the definition's display name so entries are easy to find.
- How rows print
- A row with a % Daily Value prints it (values under 1 print as <1%). A blank % Daily Value prints a dagger (†, Daily Value not established), unless its Daily Value mark is
none, which leaves the cell empty, as for Calories. The markasteriskadds the 2,000 calorie marker. Indented rows sit under the row above, and a thick rule separates rows with a Daily Value from rows without one. - Key actives
- Rows with Key active on feed the Key actives block, product cards and search. The % Daily Value plot shows the key actives, or every top-level row with a Daily Value when none is marked.
| Field name | Key | Type | Notes |
|---|---|---|---|
| Nutrient | nutrient | Single line text | Required. For example Magnesium. |
| Form or source | form | Single line text | Printed in parentheses after the nutrient, for example: as magnesium bisglycinate chelate. |
| Amount | amount | Single line text | Required. As printed, for example 200 or 2,500. |
| Unit | unit | Single line text | For example mg, mcg or g. |
| % Daily Value | daily_value | Decimal | Minimum value 0. Leave blank when no Daily Value is established. |
| Daily Value mark | daily_value_mark | Single line text | Limit to preset choices: dagger, asterisk, none. Leave blank for the usual dagger on a blank Daily Value. asterisk: * (based on a 2,000 calorie diet). none: no mark and no Daily Value cell (Calories). |
| Indent | indent | True or false | Nested under the row above, as Dietary Fiber under Total Carbohydrate. |
| Key active | key_active | True or false | Shows the row among the product's key actives. |
| Note | note | Single line text | A short line under the row in the % Daily Value plot. A note that ends in * links to the compliance statement. |
| Above the adult upper limit | above_upper_limit | True or false | The amount is above the tolerable upper intake level for adults. The plot marks the row and explains it. |
Ingredient metaobject
Type ingredient · metafield custom.ingredients
Why an ingredient is in a formula, in what form and at what dose. Make one entry per product and ingredient, because the dose and the reason differ between formulas.
- Metafield
- Name Ingredients, namespace and key
custom.ingredients, type Metaobject (Ingredient), list of values, under Products. - Read by
- Ingredient rationale (one row per ingredient, with the image and the reason for the dose) and the Ingredient trace section (one card per ingredient). When the ingredient's image is also in the product's gallery, the rationale row points to that figure instead of repeating the photo.
- When it is empty
- Ingredient rationale lists the names from the product's Detailed ingredients attribute, then any Ingredient row blocks; with neither, it shows nothing. Ingredient trace uses its Ingredient card blocks; with none, it shows nothing. The editor shows a notice in both.
| Field name | Key | Type | Notes |
|---|---|---|---|
| Name | name | Single line text | For example Magnesium. An entry without a name is skipped. |
| Form | form | Single line text | For example Bisglycinate chelate. |
| Source | source | Single line text | For example the botanical name. |
| Origin | origin | Single line text | Where it comes from. |
| Dose | dose | Single line text | For example 200 mg. |
| Why this form and dose | why | Multi-line text | The reason, in a sentence or two. |
| Image | image | File (images only) | Set the image's alt text on the file in Content > Files; the theme uses it as the caption. |
Protocol metaobject
Type protocol · metafield custom.protocol
How to take a formula.
- Metafield
- Name Protocol, namespace and key
custom.protocol, type Metaobject (Protocol), one value, under Products. - Read by
- How to take: the amount as a large number, when (with a 24-hour dose clock from Dose times), take with, pairs with, numbered steps and the caution in the safety note. The Amount also sets the daily servings for supply lines in purchase options, the routine builder and the Subscription steps calculator, when it is a plain number ("2") or a number of servings ("2 servings"); an amount such as "2 capsules" counts as one serving. The quiz shows When and Amount with each suggestion.
- When it is empty
- How to take shows nothing, including a What to expect block inside it, and the editor shows a notice. Supply lines count one serving a day.
| Field name | Key | Type | Notes |
|---|---|---|---|
| When | when | Single line text | For example 30 minutes before bed. |
| Amount | amount | Single line text | For example 2 capsules, or 2. |
| Take with | take_with | Single line text | For example Water, with or without food. |
| Pairs with | pairs_with | Single line text | Another product or habit. |
| Dose times | dose_times | List of single line text | 24-hour times for the dose clock, for example 21:00. Validation: regular expression ^([01][0-9]|2[0-3]):[0-5][0-9]$. |
| Steps | steps | List of single line text | Optional numbered steps. |
| Caution | caution | Multi-line text | Added to the safety note when the block's Show product caution is on. |
Timeline step metaobject
Type timeline_step · metafield custom.timeline
One step of what to expect over time, such as Week 1 or Day 90.
- Metafield
- Name Timeline, namespace and key
custom.timeline, type Metaobject (Timeline step), list of values, under Products. Put the steps in time order. - Read by
- The What to expect block (on its own or inside How to take) and the Results timeline section. Text that ends in an asterisk links to the compliance statement.
- When it is empty
- What to expect shows its Step blocks, and Results timeline its Timeline step blocks. With no blocks either, they show nothing, and the editor shows a notice.
| Field name | Key | Type | Notes |
|---|---|---|---|
| Label | label | Single line text | For example Week 2-4. |
| Text | text | Multi-line text | What a customer may notice. The What to expect block's Footnote setting says that individual results vary. |
Lab batch metaobject
Type lab_batch · metafield custom.lab_batches
One tested production batch and its certificate of analysis. The smallest useful entry is the batch code, product, test date, status and the certificate PDF, plus up to three headline results. Result rows are optional.
- Metafield
- Name Lab batches, namespace and key
custom.lab_batches, type Metaobject (Lab batch), list of values, under Products. Order the list newest first: the theme treats the first entry as the current batch. - Handle
- Use the batch code as the entry's handle (for example
mg-24118for MG-24118). Shopify creates the handle from the display name, so set Batch code as the definition's display name, and check the handle when you save an entry; edit it with the pencil icon next to Handle if needed. The batch lookup finds a batch by its handle first, so codes typed as "mg 24118" or "MG24118" still match. It also compares codes across the first 250 entries. - Product field
- Set the batch's own Product field too. Search results and the lookup outside a product page use it to open the certificate on that product's page; without it they link to the certificate PDF.
- Read by
- Batch certificates on the product page (the batches, newest first, the certificate of the chosen batch and the lookup); the Lab results section (batches from Lab batch blocks, from the products you choose, or the store's newest entries by test date); Rating and batch (the current batch and status under the title); Trust item blocks in Trust badges whose Details is Newest lab batch; the Image banner data callout and its Detail blocks; the search page and the search dialog, which show a batch card for a batch code.
- Certificate
- With result rows, the certificate is a table with a written status for every test, and the stamp reads "All tests pass" only when every result's status is Pass. Without result rows, it lists the headline results and makes the PDF its main link.
- When it is empty
- Batch certificates, the rating line's batch and the Newest lab batch trust row show nothing; Lab results shows nothing until the store has a Lab batch entry. The editor shows a sample marked Sample, or a notice.
| Field name | Key | Type | Notes |
|---|---|---|---|
| Batch code | batch_code | Single line text | Required. As printed on the package, for example MG-24118. Use it as the display name. |
| Product | product | Product | The product this batch is of. |
| Laboratory | lab | Single line text | The lab that ran the tests. |
| Tested on | tested_on | Date | Also decides which batches are newest in the Lab results section. |
| Best before | best_before | Date | |
| Status | status | Single line text | Limit to preset choices: Released, Passed. Always written out on the certificate. |
| Certificate (PDF) | certificate | File (files only, for a PDF) | The certificate of analysis. |
| Method | method | Multi-line text | How the batch was tested. |
| Headline results | headline_results | List of single line text | Maximum list size 3. Optional. Results as printed on the certificate, each written "Test: result", for example Heavy metals: Pass. Enough on its own when the full results are only in the PDF. |
| Results | results | List of metaobject (Lab result) | Optional. In certificate order. Results with the same group print under one heading. |
Lab result metaobject
Type lab_result
One test result on a certificate. Results have no metafield of their own: they are listed in the Results field of a Lab batch entry. Use Test as the display name.
| Field name | Key | Type | Notes |
|---|---|---|---|
| Group | group | Single line text | The certificate's section, for example Potency, per 2 capsules. |
| Test | test | Single line text | For example Lead. |
| Specification | specification | Single line text | The limit or target, for example < 0.5 mcg. |
| Result | result | Single line text | The measured value. |
| Status | status | Single line text | Limit to preset choices: Pass, Fail. |
FAQ entry metaobject
Type faq_entry · metafield custom.faq
One question and its answer. An entry can be listed on several products and pages.
- Metafield
- Name FAQ, namespace and key
custom.faq, type Metaobject (FAQ entry), list of values. Create it under Products, and under Pages for a page of questions. - Read by
- The Product questions block on the product page (questions from the metafield first, then its Question and answer blocks), and the FAQ section when its Source is Page metafield (the page it is on) or Product metafield (the product you choose, or the page's product). Both can add FAQ structured data. Answers that end in an asterisk link to the compliance statement.
- When it is empty
- Product questions shows its Question and answer blocks, and the FAQ section its FAQ question blocks. With no blocks either, they show nothing, and the editor shows a notice.
| Field name | Key | Type | Notes |
|---|---|---|---|
| Question | question | Single line text | Use it as the display name. An entry without a question is skipped. |
| Answer | answer | Rich text |
Author metaobject
Type author · metafields custom.author, custom.reviewed_by
A person credited on blog posts: the writer, or the expert who reviewed the post.
- Metafields
- Under Blog posts: name Author, namespace and key
custom.author, and name Reviewed by, namespace and keycustom.reviewed_by. Both type Metaobject (Author), one value. - Read by
- The Article section's byline and author bio, and article cards in Blog posts and Blog.
- When it is empty
- The byline uses the post's author from Shopify admin. The reviewer line uses the Article section's Reviewer name and Reviewer credentials, or is left out.
| Field name | Key | Type | Notes |
|---|---|---|---|
| Name | name | Single line text | Required. Use it as the display name. |
| Credentials | credentials | Single line text | For example MS, RDN. |
| Role | role | Single line text | |
| Bio | bio | Multi-line text | |
| Portrait | image | File (images only) |
Other product and variant fields
Single fields on the product or variant. Create each under Products (or Variants) with the namespace and key shown.
| Name and key | Type | What it does |
|---|---|---|
Formula numbercustom.formula_number | Single line text, on products | A short number such as 04, shown with the goal on product cards (Theme settings > Product cards > Show formula number and goal), in Formula details, the cart, quick add, search suggestions, the goal navigation above the product grid, Complementary products, bundle contents and the routine builder. Leave it empty to show no number. |
Goalcustom.goal | Collection, on products | The product's main goal collection. Its title is the goal label on cards, in Formula details and in breadcrumbs, and its Accent color colors the marker. Without it, the label comes from a goal collection that holds the product (product page only) or the Supplement health focus attribute. |
Goalscustom.goals | List of single line text, on products | Optional, for a Goal filter. Shopify can't filter on a collection field, so list the product's goal collection titles here and add the field as a filter in Search & Discovery. When a shopper filters by a goal, the goal navigation row above the product grid marks that goal. |
Servingscustom.servings | Integer, on variants and products | The number of servings in the variant. The price per serving, how long a delivery lasts and the Subscription steps calculator use it. The variant's value comes first, then the product's. Without it, no price per serving or supply line shows. |
Dietarycustom.dietary | List of single line text, on products | Diet labels such as Vegan, used when the product has no Dietary preferences attribute (Formula details), and added to the Free from row. Prefer the attribute from step 1. |
Restock notecustom.restock_note | Single line text, on variants and products | Shown when the variant is sold out, for example Back in stock on December 3: in Inventory status, on product cards and in quick add. The variant's note comes first. |
Bundle productscustom.bundle_products | List of products, on products | The products in a bundle, listed by a Collapsible row block whose Content is Bundle contents, each with its formula number and subtitle. |
Collection fields
Create these under Collections. They matter most for the collections you list in Theme settings > Goals.
| Name and key | Type | What it does |
|---|---|---|
Accent colorcustom.accent_color | Color | The color of the collection's goal marker: in the goal list (Shop by goal, search, the 404 page, empty states), the goal navigation above the product grid, collection lists, the mobile menu, search suggestions, the routine builder, and the goal marker of products whose Goal is this collection. A Goal block's own Accent color replaces it. Without either, the marker uses the text color. |
Key ingredientscustom.key_actives | Single line text | A short line such as Magnesium, L-theanine, glycine under the goal's name in Shop by goal. A Goal block's own Key ingredients setting replaces it. |
Blog post fields
| Name and key | Type | What it does |
|---|---|---|
Author, Reviewed bycustom.author, custom.reviewed_by | Metaobject (Author) | See Author. |
Related productscustom.related_products | List of products | The products mentioned in the post, shown by the Article section when its own Products setting is empty. |
Standard fields from Shopify and apps
| Name and key | Where it comes from | What it does |
|---|---|---|
Product subtitledescriptors.subtitle | A Shopify standard definition. Add it under Settings > Custom data > Products > Add definition, and pick Product subtitle from the suggestions. | A short line under the product title (Title block, Show subtitle), and on product cards, quiz results, the routine builder, bundle contents and Complementary products. |
Product rating, Product rating countreviews.rating, reviews.rating_count | Filled in by most review apps. | Stars and the review count on product cards (Show rating), under the product title (Rating and batch), in quick add, the Image banner's Rating block and the Testimonials rating summary. Nothing shows for a product without ratings. The reviews themselves come from the app's block, placed in the Reviews chapter. |
Check your setup
- Open a product you set up in the theme editor (Online Store > Themes > Customize, then choose the product at the top).
- Look for notices in the product chapters. Each one names the field it is waiting for and links back here. Shoppers don't see them.
- Switch between variants that have their own Supplement facts entries: the label and serving size change with them.
- On the storefront, type a batch code from one of your packages into the search: the batch card opens its certificate.