# Shopify Fragrance Import: Olfactory Metafields and Note Data

> How perfumery merchants import fragrance family, olfactory notes, and intensity as Shopify metafields for collection filters and AI sensory descriptions.

- Published: 2026-10-08
- Author: Importier Team
- Category: Import Guides / Variants & Quality
- Canonical: https://www.importier.app/blog/shopify-scent-fragrance-product-import

---

A Shopify fragrance product import is different from importing a T-shirt or a kitchen appliance in one fundamental way: the product's defining characteristics are sensory and invisible. A Melbourne perfumery importing 80 fine fragrances from three French perfume houses held all their olfactory data in supplier PDFs: paragraph descriptions in French translated loosely into English prose. "Opens with sparkling bergamot and mandarin. Heart of jasmine and rose. Dries down to sandalwood and vetiver." Each fragrance described as narrative, none structured as data.

The result: no way to build a "Woody Fragrances" collection. No filter for fragrances with base notes of oud or amber. No ability to surface "fragrances for evening occasions" beyond hand-curating a collection that needed updating every time a new product arrived. Every buyer who arrived knowing what fragrance family they preferred had to read 80 product pages to find their match.

After importing olfactory note data as structured metafields, the perfumery had fragrance family collections that self-populated, an occasion filter that worked without tags, and AI descriptions written from the note structure rather than translated from supplier prose.

## What Fragrance Product Data Needs That Standard Fields Don't

Shopify's standard product fields (title, description, vendor, product type) capture what a fragrance is called and who made it. They do not capture what it smells like in any queryable sense. Fragrance merchants who put olfactory data into product descriptions have searchable text but no structured data. Descriptions are readable; they are not filterable.

Three gaps appear in every standard fragrance import:

**Fragrance family is not a typed field.** "Floral", "Woody", "Fresh", and "Oriental" are the four major fragrance families. In a description, these words appear as prose. A collection rule cannot say "fragrance_family equals Woody" unless the value exists as a typed metafield. Without that, the merchant builds collections manually, updates them manually, and accepts that a new Woody fragrance added in March sits outside the collection until someone notices.

**Olfactory notes are a structured list, not a paragraph.** A fragrance has top notes (what you smell first), heart notes (the core character, 20-60 minutes in), and base notes (the dry-down, 60+ minutes in). Supplier prose mixes these into a single paragraph. A buyer who wants to know whether a fragrance has amber as a base note cannot search for it. An import file that separates top, heart, and base notes into three distinct pipe-separated metafield columns makes each note independently queryable.

**Intensity is untyped.** Eau de Cologne (2-4% aromatic concentration), Eau de Toilette (5-15%), Eau de Parfum (15-20%), and Extrait de Parfum (20-40%) describe concentration, longevity, and price tier simultaneously. Merchants put this in the product title or description. As a typed `custom.intensity` metafield, it drives a filter, a collection, and the longevity section of an AI description.

<Callout>
Fragrance family in a description is copy. The same data as a `custom.fragrance_family` metafield is a collection rule, a search filter, a discovery path for buyers who know their preferences, and the source data for a description written from note structure rather than supplier prose.
</Callout>

## The Fragrance Metafield Schema

Define the metafield schema in Shopify admin under Settings > Custom data > Products before running the import. [Shopify's custom data documentation](https://help.shopify.com/en/manual/custom-data/metafields) covers the field types and namespace setup. A functional fragrance schema covers three areas:

**Olfactory taxonomy**
- `custom.fragrance_family` (single_line_text_field): the primary fragrance family. Floral, Woody, Fresh, Oriental, Fougère, Chypre. Using controlled vocabulary across the import file makes collection rules reliable: one wrong capitalisation breaks a collection rule.
- `custom.top_notes` (multi_line_text_field): the opening notes. "Bergamot | Mandarin | Grapefruit" (pipe-separated). Top notes last 15-30 minutes and form the buyer's first impression.
- `custom.heart_notes` (multi_line_text_field): the core character. "Jasmine | Rose | Iris". Heart notes develop after the top notes fade and define the fragrance's identity.
- `custom.base_notes` (multi_line_text_field): the dry-down. "Sandalwood | Vetiver | Musk". Base notes last the longest and anchor the composition.

**Concentration and longevity**
- `custom.intensity` (single_line_text_field): the concentration category. Eau de Cologne, Eau de Toilette, Eau de Parfum, Extrait de Parfum. Drives the intensity filter and the longevity statement in the description.
- `custom.longevity_hours` (number_integer): estimated longevity in hours. 3 for Eau de Cologne, 5 for Eau de Toilette, 8 for Eau de Parfum, 12 for Extrait. Feeds the longevity section of the description with a specific claim rather than a vague "long-lasting."
- `custom.sillage` (single_line_text_field): the projection from the skin. Intimate, Moderate, Strong, Enormous. Sillage is a key purchase signal for buyers who wear fragrance in social or professional contexts.

**Occasion and season**
- `custom.occasion` (multi_line_text_field): contexts where the fragrance suits. "Everyday | Office | Evening | Formal | Outdoor" (pipe-separated). Drives a collection filter for buyers arriving with a use-case rather than a preferred note family.
- `custom.season` (multi_line_text_field): seasons where the fragrance wears well. "Spring | Summer | Autumn | Winter" or a subset. Seasonal collection filters are particularly relevant for gift-buying windows.

![Rows of glass fragrance bottles and perfume vials arranged on a marble surface with scattered botanical ingredients including dried flowers and spice pods.](/blog/shopify-scent-fragrance-product-import/01.jpg)

<Divider label="Building the Import File" />

## Structuring the Fragrance Import File

The import file carries the standard product columns alongside the fragrance metafield columns. Each product row represents one fragrance SKU (size variants such as 30ml, 50ml, and 100ml are handled as variant rows sharing the same olfactory metafields):

<table>
<thead>
<tr><th>Column</th><th>Example value</th></tr>
</thead>
<tbody>
<tr><td>Title</td><td>Heure Bleue Eau de Parfum</td></tr>
<tr><td>Vendor</td><td>Maison de Parfumeur</td></tr>
<tr><td>custom.fragrance_family</td><td>Floral</td></tr>
<tr><td>custom.top_notes</td><td>Bergamot | Mandarin | Anise</td></tr>
<tr><td>custom.heart_notes</td><td>Rose | Iris | Heliotrope</td></tr>
<tr><td>custom.base_notes</td><td>Sandalwood | Vetiver | Musk</td></tr>
<tr><td>custom.intensity</td><td>Eau de Parfum</td></tr>
<tr><td>custom.longevity_hours</td><td>8</td></tr>
<tr><td>custom.sillage</td><td>Moderate</td></tr>
<tr><td>custom.occasion</td><td>Evening | Formal</td></tr>
<tr><td>custom.season</td><td>Autumn | Winter</td></tr>
</tbody>
</table>

For the Melbourne perfumery's import, the supplier PDF data was restructured into columns during the brief step: each fragrance's prose description was parsed to extract individual notes into the top/heart/base columns, and the concentration level was extracted from the product name. This one-time structural work is the upfront investment; subsequent supplier catalogue updates arrive with the same column structure and import without manual note extraction.

For fragrance merchants whose suppliers provide structured data (ingredient declarations, GHS data sheets), the note extraction step may be automated: the ingredient list from a GHS sheet maps directly to the note metafield columns with minor normalisation.

![Fragrance supplier catalogue spread open showing French fragrance house descriptions alongside handwritten note-extraction annotations.](/blog/shopify-scent-fragrance-product-import/02.jpg)

## Sensory-Rich Descriptions from Structured Note Data

Supplier fragrance prose describes the olfactory experience from the perfumer's perspective. It uses technical vocabulary (heliotrope, iris powder, dry-down facet) that buyers who are not fragrance specialists cannot translate into a purchase decision.

AI descriptions generated from structured note metafields describe the same fragrance from the buyer's experience, using the note structure as source data rather than the supplier narrative as source text. The Sensory-Rich description style with a Perfumery Specialist persona (from Importier's 156 expert personas across 43 industry categories) generates descriptions that open with the top note impression, develop through the heart character, and land on the base note signature:

"The first impression is citrus brightness: bergamot and mandarin, sharp and fleeting, with a faint anise shadow that shifts the opening into something unexpected. Within twenty minutes the heart arrives: rose and iris in a classic powdery-floral arrangement, softened by heliotrope. The base is steady and unhurried, sandalwood and a thread of vetiver with clean musk at the close. Suitable for evening and formal occasions. Wears for 8 hours as an Eau de Parfum. Moderate projection."

The `custom.top_notes`, `custom.heart_notes`, and `custom.base_notes` values feed the three structural acts of the description directly. The `custom.longevity_hours` value produces the specific longevity claim ("8 hours"). The `custom.sillage` value produces the projection statement. The supplier's French prose does not appear in the output: the description is generated from structure, not translated from narrative.

<PullQuote>
Supplier fragrance prose describes the olfactory experience from the perfumer's perspective. A description generated from note metafield values describes the same experience from the buyer's perspective, using their decision vocabulary.
</PullQuote>

![Close-up of fragrance testing strips fanned out on a surface with handwritten note annotations showing olfactory classification stages.](/blog/shopify-scent-fragrance-product-import/03.jpg)

<Divider label="Collections and Discovery" />

## Fragrance Family Collections and Occasion Filtering

With fragrance taxonomy in typed metafields, collection automation runs from import data rather than manual curation.

**Fragrance family collections**

A collection "Floral Fragrances" (custom.fragrance_family equals Floral) automatically includes every Floral import across all vendors and concentration levels. New Floral fragrances join the collection at import time. For a multi-vendor perfumery with 80 SKUs across 3 suppliers, this means the Floral collection contains every qualifying fragrance without the merchant opening Shopify admin to add it.

The four major families each get a collection. A fifth collection, "Signature Blends" (fragrance_family equals Chypre or Fougère), groups the more complex family structures for buyers who know their preference but would not find them under Floral or Woody.

**Note-based discovery**

A filter built on `custom.top_notes` lets buyers who love bergamot openings find every fragrance that carries it. At 80 SKUs this filter is a navigation aid; at 500 SKUs it becomes essential for buyers who arrive knowing one note they love and want to explore.

**Occasion and season filters**

A "Christmas Gift" collection for the November-December window: custom.occasion contains Evening or Formal AND custom.season contains Winter. The import file populated these values in September. The Christmas collection went live in November with 23 qualifying fragrances without any new work.

![Seasonal fragrance gift display in a boutique showing occasion-labelled sections for evening and winter fragrances arranged on tiered shelving.](/blog/shopify-scent-fragrance-product-import/05.jpg)

<Steps items="Extract structured note data from supplier PDFs or catalogues: identify top, heart, and base notes for each fragrance; note the concentration level (Eau de Cologne through Extrait) and estimated longevity; record occasion and season data from the supplier's intended positioning | Define the metafield schema in Shopify admin under Settings > Custom data > Products: create custom.fragrance_family (single_line_text_field), custom.top_notes, custom.heart_notes, custom.base_notes (multi_line_text_field each), custom.intensity (single_line_text_field), custom.longevity_hours (number_integer), custom.sillage (single_line_text_field), custom.occasion, custom.season (multi_line_text_field each) | Build the import file: add one column per metafield; populate fragrance_family with controlled vocabulary values only; use pipe-separated format for multi-value fields (Top Notes: Bergamot | Mandarin | Anise); verify controlled vocabulary consistency across all rows | Configure AI description generation: use Sensory-Rich style with a Perfumery Specialist persona; set section order to lead with top notes, develop through heart notes, and close with base notes and longevity; generate 5-10 sample descriptions across fragrance families to confirm note structure appears correctly | Run the import on a 10-product test batch covering at least 3 different fragrance families: check metafields in Shopify admin, confirm variety filter options appear for each family, and review generated descriptions for sensory accuracy | Build family collections: one per major fragrance family, one for occasion-based discovery, one seasonal gift collection; verify new imports join the correct collection automatically at import time based on metafield values" />

## The Melbourne Perfumery's Results

The Melbourne perfumery imported 80 fragrances across three vendor catalogues. Each received a full olfactory metafield set: fragrance family, top/heart/base notes, intensity, longevity, sillage, occasion, and season. Sensory-Rich descriptions were generated from the note structure using the Perfumery Specialist persona.

Post-import results across the first 90 days:

- Fragrance family collection page views increased 3.4× compared with the previous vendor-sorted navigation (buyers arriving at "Floral Fragrances" vs "Maison de Parfumeur")
- Average session depth (pages per visit) on fragrance category pages: from 3.2 pages to 5.8 pages. Buyers arrived at a family collection, explored within it, and filtered by occasion or season rather than returning to the home page
- The "Christmas Gift" collection (Evening/Formal + Winter) launched in November with 23 qualifying fragrances; it drove 41% of the perfumery's November revenue from 28% of the catalogue

![Perfumery storefront with fragrance family collection labels visible, customers browsing labelled sections including Floral and Woody categories.](/blog/shopify-scent-fragrance-product-import/06.jpg)

The session depth increase was the direct result of structured discovery. Buyers who arrived knowing "I want a Woody fragrance for evening occasions" could navigate to that intersection in two filter steps. Before the import restructure, that buyer read 80 product pages. After it, they read 7.

According to the [Fragrance Foundation's fragrance categories framework](https://www.fragrance.org), the major olfactory families (Floral, Woody, Fresh, Oriental) represent the international standard for fragrance classification used by fine fragrance houses globally. Importing fragrance family data from supplier catalogues using this controlled vocabulary ensures collection rules remain stable as new products arrive from different suppliers.

The [product metafields guide](https://importier.app/blog/shopify-product-metafields-guide) covers the metafield definition workflow in Shopify admin in detail, including field types, namespace conventions, and how to validate metafield values at import time.

For fragrance merchants who also sell scented candles and home fragrance products, the [candle product descriptions article](https://importier.app/blog/shopify-candle-product-descriptions) covers the specific description approach for candle listings (scent throw, burn time, and vessel style), which uses a different note vocabulary than fine fragrance.

![Fragrance collection display in a boutique perfumery showing labelled bottles organised by fragrance family in colour-coded sections.](/blog/shopify-scent-fragrance-product-import/04.jpg)

<Compare
  withoutTitle="Fragrance data in descriptions and titles"
  withTitle="Fragrance data as structured metafields"
  withoutItems="Fragrance family buried in description prose; collection rules cannot filter on 'Woody' because there is no typed fragrance_family field | Olfactory notes in a single paragraph; buyer who wants 'anything with amber base notes' must read 80 product descriptions | Intensity and concentration in product title only; no filter for Eau de Parfum vs Eau de Toilette without manually creating and maintaining variant option sets | Occasion and season in description copy; no automated gift collection for Evening + Winter fragrances before Christmas | Supplier French prose translated into English descriptions; technical vocabulary (heliotrope, facet, dry-down) does not describe the buyer's experience"
  withItems="custom.fragrance_family typed as a controlled-vocabulary text field: Floral, Woody, Fresh, Oriental collections self-populate; new imports join the correct collection at import time | custom.top_notes, custom.heart_notes, custom.base_notes as pipe-separated multi-value fields: note filter surfaces every fragrance with Amber as a base note across all vendors | custom.intensity typed as single_line_text_field: Eau de Parfum vs Eau de Toilette filter works without variant configuration; custom.longevity_hours produces specific longevity claim in AI description | custom.occasion and custom.season as multi-value fields: Christmas gift collection (Evening + Winter) auto-populates in November with 23 qualifying fragrances from import-time metafield values | Sensory-Rich descriptions generated from note metafield values; describes top, heart, and base note experience in buyer language rather than translating perfumer prose"
/>

<TipBox />

For fragrance merchants importing multiple concentration levels of the same scent (30ml, 50ml, 100ml Eau de Toilette; 50ml, 100ml Eau de Parfum), the fragrance family and note metafields live at the product level and are shared across all size variants. The `custom.intensity` metafield reflects the concentration version of the product, so a fragrance offered in both Eau de Toilette and Eau de Parfum requires two separate product records, one per concentration level, each with their own metafield set. This mirrors the way fine fragrance houses present the same scent at different concentrations as distinct products with different price, longevity, and character profiles.

Try Importier free at importier.app.
