# The product page

Chapter 6 of the Decant user guide.

## The four product templates

Decant has four product templates, because a claim that's true of a perfume isn't true of an atomiser, and oils don't spray. Every fixed claim on the page, such as a trust row or an accordion, lives in the template, so the way to keep a claim off a product is to give that product a different template.

| Template | Assign it to | Scent profile and notes line | Size picker | What else is on it |
| --- | --- | --- | --- | --- |
| `product` (the default) | Eaux de parfum, extraits and decants | Yes | Vials, atomisers and flacons, with sprays in the size line | Trust rows about samples, hand filling and shipping. Accordions for ingredients, how decants are filled, and shipping and returns. An **Image with text** inviting shoppers to a set. |
| `product.oil` | Oils and attars | Yes | Roll-on bottles, no sprays | Trust rows about oils. Accordions for ingredients, how to wear an oil, and shipping and returns. |
| `product.discovery-set` | The set product | No | Hidden. The Discovery set section has its own size control. | The **Discovery set** section under the buy box (chapter 9) |
| `product.goods` | Anything that isn't a scent: atomisers, compacts, sample trays, gift cards | No | Plain buttons | Plain trust rows. Accordions for details, care, and shipping and returns. |

To assign one, open the product in Shopify admin and choose it in the **Theme template** field, then **Save**. A new product starts on `product`.

* **Attar preset:** its `product` template is already set up for oils, with roll-ons and no sprays, so most of your products can stay on the default.
* **Goods:** the card for a product with no scent metafields stays plain too: no notes line, no per ml and no family strip.
* **The wrong template fails safely for the Scent profile,** which hides itself on a product with no data, but not for trust rows, which show on every product that uses the template. That's why the templates exist.

To change a template, open the theme editor, click the page selector at the top, choose **Products** and pick the template. Changes apply to every product using it. On the default template, point the **Image with text** button at your set product, or delete the section if you don't sell sets.

## The Product section

| Setting | Default | What it does |
| --- | --- | --- |
| Show breadcrumbs | On | |
| Enable image zoom | On | Adds a zoom button to each image and opens images full screen |
| Pre-orders | Off | See **Pre-orders** below |

The gallery is a 4:5 stage with the badge and the family strip on it, and thumbnails cut as hanging strips down its left, or in a row under it on phones. It takes images, video, external video and 3D models. Choosing a variant shows that variant's image if it has one.

## Product page blocks

| Block | Settings | What it shows |
| --- | --- | --- |
| Product metadata | **Show vendor in metadata** (off), **Show the rating** (on) | The line above the title: `custom.concentration_label`, else the product type, and the rating. The rating comes from Shopify's reviews metafields, which review apps write. |
| Product vendor | | The vendor |
| Title | | The product's name |
| Notes line | | The line under the title: `custom.notes_short`, else the first sentence of the description |
| Price | **Show tax note** (on, but off in all four templates) | The price, the sale price and the price per ml |
| Inventory | **Show "Only 3 left" at or under** (10, from 1 to 40) | A stock line. Not in the shipped templates; add it if you want one. |
| Variant picker | **Bottle shape** (**Vial, atomiser or flacon, by volume** or **Roll-on**), **Show sprays in the size line** (on) | The options (chapter 8) |
| Buy buttons | See below | The bag button and everything around it |
| Trust row | **Lead, in bold** ("Free samples with every order."), **Text** ("Two more scents, chosen to suit this one.") | One short claim. Three at most reads best. An empty row shows nothing. |
| Back-in-stock request | **Heading** ("Notify me when available"), **Text** | See below |
| Pickup availability | | See below |
| Scent profile | See chapter 10 | Notes, accords, longevity, sillage, seasons and pairings |
| Description | **Heading** | The product description. With a heading, it's a collapsible row. |
| Spec table | **Heading** ("Specifications"), **Spec row position** (**Above product details** or **Below product details**), **Show SKU**, **Show product type**, **Show vendor in spec table**, **Show weight**, **Show variant options** (all on), **Show barcode** (off) | A table from the product data you already keep in Shopify. Not in the shipped product templates. |
| Spec row | **Label**, **Product metafield**, **Value**, **Unit** | One row in the Spec table. Set **Product metafield** to a namespace and key, such as `custom.bottle_material`. A row with no value is hidden, and its sample label should be changed. |

Add the general blocks in chapter 5 too. The templates use **Collapsible row** for their accordions.

**Buy buttons** settings:

| Setting | Default | What it does |
| --- | --- | --- |
| Show subscription options | On | Appears when the product has subscription plans |
| Show quantity selector | On | |
| Show accelerated checkout buttons | On, but off in all four templates | Shop Pay, Apple Pay and the like. Customers see the payment methods available on their device. |
| Show Shop Pay Installments | On | Appears when Shop Pay Installments is enabled on your store |
| Show sticky add-to-cart bar | On | Product pages only. Appears when the add button scrolls out of view. |
| Returns note | | Shown under the add button. Leave it empty to hide. |

Under the button sit "Not sure yet? Try 1 ml for $6.00." (chapter 8) and, if you've set **Free shipping over**, the free shipping line. On a discovery set, this block prints no form at all (chapter 9).

## Variants and swatches

An option named in **Theme settings › Size and concentration** shows as bottles or chips (chapter 8). Any other option follows these rules:

* If its values have swatches (a colour or image set on the option in Shopify admin), it shows swatches.
* With more than eight values and no swatches, it's a dropdown.
* Otherwise it's a row of plain buttons.

A combination you don't sell stays selectable, struck through, and the button says it's unavailable. The page updates in place as shoppers choose, and the address follows the variant so it can be shared. Products with more than 250 variants work, and so do Shopify combined listings.

## Pickup

**Pickup availability** shows whether the selected variant can be collected, and where. It shows nothing unless you've turned on local pickup for a location in **Settings › Shipping and delivery**.

## Pre-orders

Two opt-ins, both off, in the Product and Featured product sections:

* **Show oversold variants as pre-orders**: for tracked variants that keep selling at zero stock ("Continue selling when out of stock" in Shopify admin).
* **Show single-delivery purchase options as pre-orders**: for products sold only through a pre-order app. Leave it off for try before you buy.

When a variant qualifies, the button, badge and stock line say pre-order. **Pre-order note** is shown under the button, for example "Ships in March": give a date or a range. To choose per product instead of for the whole template, connect a true or false product metafield to the opt-in, and a product metafield to the note, with the dynamic source button.

## Subscriptions

With a subscription app, such as Shopify's free Shopify Subscriptions app, the buy box shows the product's purchase options with the real price of each. It suits refills and a monthly sample. Nothing to set up in the theme beyond **Show subscription options**.

## Back-in-stock request

Under a sold-out variant, shoppers can leave their email. Each request is emailed to your store's sender address, naming the product and variant. **Nothing is sent to shoppers automatically: reply when the stock is back.** For automatic emails, use a back-in-stock app instead and remove this block.

## Gift cards

Gift card products show Shopify's recipient fields, so a shopper can send the card to someone else on a chosen date. Give gift cards the `product.goods` template.

## Quick view

With **Show quick view button** on, cards open the product in a panel with its gallery, options and buy buttons, using the same size picker. A discovery set gets a link to its page instead.

Quick view can't read your product templates' block settings. It uses each block's default settings, with one exception: the size picker follows the product's template. A product on `product.oil` gets roll-ons and no sprays there, and one on `product.goods` gets plain buttons. The default settings have these effects:

* **Oils on the default template get bottles.** The panel only knows a product is an oil from `product.oil`. On the Attar preset, whose default `product` template is set up for oils, assign `product.oil` to your oils if you turn quick view on, or the panel draws vials, atomisers and flacons.
* **Accelerated checkout buttons** show there, although the templates turn them off.
* **The Product section's pre-order opt-ins** don't reach it.

## B2B

Shopify B2B is available on the Basic, Grow, Advanced and Shopify Plus plans, not on Starter or Retail, and what you can use depends on your plan. For customers buying for a company location, such as a salon or boutique reordering samples, the buy box shows their catalog's quantity rules ("Minimum 10 · Multiples of 5") and volume pricing. Everyone else sees no change.

**Quick order list** (product pages only) lists every variant of a product in a table with quantity fields. **Heading** ("Quick order"), **Variants per page** (25, from 10 to 50 in steps of 5) and **Show SKU** (on). It adds one-time purchases, and it doesn't show on a product with only one variant, a product that requires a subscription plan, or a discovery set.
