Ritual data
Balm shows each product's place in the ritual: its step, time of day, texture, skin type and dose. This page explains where Balm reads those details from, so you can pick the method that suits your catalog.
Balm never invents data. If a product has no step, no step is shown; if it has no dose, no dose is shown.
#The fields
| Field | Values | When it's missing | Where it shows |
|---|---|---|---|
| Step | 1, 2, 3 or 4 | The product has no step (see below) | Product card color and label line, header ritual menu, product page ritual line, Where it fits, Complete the ritual, Ritual view rows, cart order and coverage, breadcrumbs |
| Time of day | AM, PM or both | Both for steps 1 to 3, AM only for step 4 | Sun and moon icons on cards and the product page, which products show for the AM/PM switch, How to use |
| Texture | Short text, for example "Water-light" | Hidden | Card chip, Product facts |
| Skin type | One or more short texts, for example "Normal to oily" | Hidden | Card chips, Product facts |
| Dose | Short text, for example "Two drops" | Hidden | How to use, Complete the ritual, Build your ritual, AM and PM rituals |
| Dose icon | Pump, Drops, Pea or Fingertip | The step's icon: 1 Pump, 2 Drops, 3 Pea, 4 Fingertip | Next to the dose |
Two more details come from standard product data: the size on product cards is the selected variant's value for an option named "Size" (or the unit price measurement when there's no Size option), and the card's description line is the first sentence of the product description.
#Where Balm looks, in order
For each field, Balm uses the first value it finds:
- A dynamic source you connected to a product page block in the theme editor (product page only, see Dynamic sources).
- A Balm metafield (namespace
balm), if you created the definitions. - A standard category metafield from Shopify, for skin type and texture only.
- A product tag with a prefix, such as
step:2. - The default from the table above.
You can mix methods. For example, tags for step and time of day on every product, and a metafield for the full ingredient list.
#Option 1: tags (no setup)
Tags work in every store with no setup, and you can import them by CSV. The prefix before the colon is not case-sensitive; the text after it shows exactly as you write it.
| Tag | Sets | Example |
|---|---|---|
step:1 to step:4 |
Step | step:2 |
time:am, time:pm |
Time of day. Add both tags for both. | time:pm |
texture: |
Texture | texture:Water-light |
skin: |
Skin type. Add one tag per skin type. | skin:Dry, skin:Sensitive |
dose: |
Dose | dose:Two drops |
dose-glyph: |
Dose icon: pump, drops, pea or fingertip |
dose-glyph:drops |
Things to know:
- Shopify separates tags with commas, so a tag value can't contain a comma. Write
skin:Normal to oily, notskin:Normal, oily. - A product needs only the tags that apply. A cleanser used morning and night needs just
step:1. - Tags can also fill automated collections, which is the easiest way to build your step collections.
- Tags are fine for filters too, but Shopify puts every tag into one "Tags" filter. For separate Step and Time of day filters, use metafields.
#Option 2: Balm metafields (recommended for filters)
Metafields give you a form field for each detail on the product page in your admin, and they make named storefront filters possible (Filters). You create the definitions once.
#Create the definitions
- In your Shopify admin, go to SettingsCustom dataProducts.
- Select Add definition.
- Enter the Name, then set Namespace and key exactly as shown below.
- Select the Type and the validation from the table.
- Select Save. Repeat for each definition you want.
| Name | Namespace and key | Type | Validation |
|---|---|---|---|
| Step | balm.step |
Integer | Minimum value 1, maximum value 4 |
| Time of day | balm.time |
Single line text, List of values | Limit to preset choices: AM, PM |
| Texture | balm.texture |
Single line text | |
| Skin type | balm.skin_type |
Single line text, List of values | Optional preset choices, such as Dry, Normal, Oily, Sensitive |
| Dose | balm.dose |
Single line text | |
| Dose icon | balm.dose_glyph |
Single line text | Limit to preset choices: Pump, Drops, Pea, Fingertip |
| Ingredients | balm.ingredients |
Multi-line text | The full ingredient list, shown in the Ingredient label section |
The namespace and key must match exactly, including the underscore in skin_type and
dose_glyph. The name is yours to choose.
You don't need all of them. Create only the ones you'll fill in.
#Fill them in
Open a product in Products. The definitions show in the Metafields card at the bottom of the page. To fill many products at once, use the bulk editor: select products, then Bulk edit, and add the metafield columns.
When a product has both a metafield and a tag for the same field, the metafield wins.
#Option 3: standard category metafields
When a product's category (in the product's Category field) is a skin care category from Shopify's Standard Product Taxonomy, such as Face Serums or Face Moisturizers, Shopify adds its own attributes to the product. Balm reads two of them:
| Shopify attribute | Balm field |
|---|---|
| Suitable for skin type | Skin type |
| Texture | Texture |
| Product form | Texture, when Texture is empty |
Texture is only offered on some skin care categories (Face Serums, Face Moisturizers, Lotions and Moisturizers, Eye Creams, Body Oil). Suitable for skin type is offered on all of them.
A Balm metafield wins over a category metafield; a category metafield wins over a tag.
#Dynamic sources on the product page
If you already keep these details in metafields of your own, you don't need to rename anything. Connect your metafields to the product page blocks instead:
- In the theme editor, open a product page and select a block, for example Product facts.
- Next to a text setting, select the Connect dynamic source icon.
- Pick your metafield. The block now shows that metafield on every product page.
These settings accept dynamic sources and are empty by default. When empty, they show the product's ritual data from the sources above.
| Block or section | Settings | When empty |
|---|---|---|
| Ritual line | Step | The product's step |
| Product facts | First value, Second value, Third value | Texture, nothing (hidden), skin types |
| Collapsible row with Content set to How to use | Dose | The product's dose |
| Collapsible row with Content set to Full ingredient list | Text | Shows only when the balm.ingredients metafield is empty |
| Ingredient (in Key ingredients) | Percentage, Name, INCI name, Text, Image | Hidden on the storefront |
| Ingredient label | Ingredients | The balm.ingredients metafield, then hidden |
| Label fact (in Ingredient label) | Value | Hidden |
Dynamic sources only work on the product page. Product cards, the header and the cart read metafields, category metafields and tags (sources 2 to 5).
#Products without a step
A new store has no ritual data yet, and some products (gift cards, tools, bundles) don't belong to a step. Balm handles them:
- Product cards use the plain paper background, and the label line shows the product type instead of a step.
- Ritual view puts them in a last row, "More in this collection".
- The cart lists them after the stepped products.
- Rails (Where it fits, Complete the ritual, cart coverage) show the four step names, linked to your step collections.
- The theme editor shows numbered placeholders in sections that have no products yet.
#Time of day
The header's AM/PM switch shows the morning or the evening ritual. It changes:
- the ritual menu in the header (morning or evening ritual),
- which products show in Build your ritual and Complete the ritual,
- which steps the cart's ritual coverage counts,
- the header colors (Header > PM color scheme), and
- with a Time of day filter, the products on collection pages (Filters).
Visitors start on the time of day set in Theme settingsRitualStarting time of day. With Visitor's local time, Balm shows PM from 5 PM to 4 AM on the visitor's device clock, and AM otherwise. Balm remembers a visitor's own choice on their device.
By default, step 4 (Protect) is a morning step: sunscreen isn't part of a night routine. Build your ritual has no evening product for step 4, and the cart never suggests a Protect product in PM.
These pages describe Balm 1.0.0 and are updated with every release. See the release notes for what changed.