Go to the app

Catalog

Specifications

Specifications are the attributes that describe a product, and you decide which answers each one accepts so your whole catalog picks from the same set.

A specification is a fact about a product that you pick from a list instead of typing: Color is Red, Material is Cotton, Screen size is 13 in. You write the list of allowed answers once. Every product you have picks from that list after that.

Picking beats typing for two reasons. It stops Red, red and RED from becoming three different things across your catalog. It also gives a shopper something to filter by on your storefront, because the same answer arrives on every product that uses it.

Setting one up takes three levels, and you build them from the top down. A group keeps related attributes under one heading, such as Appearance. A definition is one attribute inside that group, such as Color. A value is one answer that definition accepts, such as Red. You give a product values, never definitions and never groups, and those values are stored on the product rather than on one of its variants.

You find all of this under Catalog, in Specifications. Three links then run down the left side of your screen: Groups, Definitions and Values. Each one opens a list with its own toolbar above it.

Before you start

What your role lets you do

RoleCreate and editDelete or duplicateView
AdminYesYesYes
ManagerYesYesYes
EditorYesNoYes

If you are an Editor, the three-dot menu at the end of every row is simply not there, because Duplicate and Delete both need a higher role. The checkboxes that pick rows out for a bulk delete are missing too. Your role is set in team, roles and permissions.

Deleting cannot be undone

Deleting a group, a definition or a value is permanent. There is no archive, no draft state and nothing for you to restore from.

How to set up your first specification

  1. Open the groups list

    From Catalog, select Specifications. The three links on the left open on Groups. Click Create group at the right end of the toolbar above the list.

  2. Name the group

    A dialog opens over the page with a Name box. Type something like Appearance, leave the Categories field empty for now, and click Create.

  3. Create a definition inside it

    Click Definitions on the left, then Create definition in the toolbar. Pick your group in the Group dropdown and type Color into Name. Answer the two questions under it with Yes or No, then click Create.

  4. Create the answers it accepts

    Click Values on the left, then Create value in the toolbar. Pick the same group in Group, pick Color in Definition, and type Red into Value. Click Create, then do it again for every answer you want.

  5. Put a value on a product

    Open a product from Catalog, in Products. Scroll its dialog down to the Specifications section and click Select in the toolbar above that table. Work left to right through the four panes, click Done, and save the product.

That is the whole flow. Color now appears on every product you have, Red is one of the answers it accepts, and the product you edited is showing it.

Everything below explains those screens one at a time. You do not need any of it to add a second definition or a second value.

Every option in detail

Your three lists are built the same way. Each one opens from Groups, Definitions or Values on the left. Each one has a create button at the right end of the toolbar above it. Clicking any row opens that record in a dialog you can edit.

Step 1: Create a group

A group is a heading and nothing else, and it never stores a fact about your products by itself. It does two things for you. It keeps your related definitions together, and it decides which of your products get them at all.

Click Create group at the right end of the toolbar above the groups list. The dialog has three fields:

FieldWhat you put in it
NameWhat you want the heading called, up to 100 characters
DescriptionAn optional note for your team, up to 500 characters
CategoriesA category tree you check boxes in. Leave it empty and your group covers every product

Two of your groups cannot share a name, and Color and color count as the same name here.

Leave Categories empty for now. An empty field means every product in your catalog gets the definitions inside this group. That is what you want for something broad like Appearance.

Check categories in it and your group covers a much smaller set of products. Read the section below on why a group’s categories decide which products see it before you do that.

Step 2: Create a definition

A definition is the attribute itself: the Color in Color is Red. It belongs to exactly one of your groups. Two groups can each have a Color without clashing, which is why anything naming a definition names its group too.

Click Definitions on the left, then Create definition at the right end of the toolbar above the list.

FieldWhat you put in it
GroupA dropdown of your groups. Required, and picking one wakes up Excluded Categories at the bottom
NameWhat you want the attribute called, up to 100 characters and unique inside your chosen group
Is required?A pair of buttons reading Yes and No
Is unique per product?Another pair of buttons reading Yes and No
DescriptionAn optional note for your team, up to 500 characters
Excluded CategoriesA category tree, for dropping this definition back out for some of your products

Neither question starts with an answer chosen for you, and the dialog will not save until you answer both.

Answer Is required? with Yes to be reminded when the attribute is missing. It never blocks a save. Read the section below on why a required specification does not stop you saving a product before you turn it on over a catalog you already have.

Answer Is unique per product? with Yes when only one answer can be true at a time. Screen size is one of those. Answer No when several can be true at once, like Material on a jacket that is part cotton and part polyester. Your answer decides whether you get radio buttons or checkboxes when you pick values on a product.

Excluded Categories only lists categories your chosen group already uses, which is why you pick the group first. When your group covers everything, it lists the whole category tree instead.

Why a definition has no type, no unit and no range

Nothing marks a definition as numeric, as a date or as a yes-or-no question. There is no unit field, no smallest or largest value, and no pattern an answer has to match.

So the unit goes inside the text of your value. If you want Weight in kilograms, your values are 1 kg, 2 kg and so on. Someone filling in a product’s weight then picks one of those instead of typing a number.

That is also why every answer has to exist before a product can use it. A definition is a list of allowed answers, and a list with nothing in it gives you nothing.

Step 3: Create the values

A value is one answer a definition accepts. Red under Color, Cotton under Material.

Click Values on the left, then Create value at the right end of the toolbar above the list.

FieldWhat you put in it
GroupA dropdown of your groups. Pick it first, because Definition stays locked until you do
DefinitionA dropdown of the definitions inside your chosen group
ValueThe answer itself, up to 100 characters and unique inside that definition
DescriptionAn optional note for your team, up to 500 characters

Three characters are rejected in a group name, a definition name and a value: >, | and =. A spreadsheet puts a product’s whole set into one cell, and those three characters separate the parts.

So a shoe size reads 40 EU and not 40 = 6.5 US. Use one of the three and the dialog tells you which one it found.

Create a set of them in one go

Single and Bulk are two buttons at the top of the create dialog on all three of your screens, and you start on Single. Single creates one record and asks you for everything about it. Bulk takes a list of names and applies one set of your choices to all of them. That is how you get 40 colors in without opening the dialog 40 times.

Type or paste your names into the Names box, one per line. The create button counts them back to you as you go.

What you get in BulkWhat happens
One shared set of your choicesYour groups share one Categories selection, your definitions share one group and one answer to each question, your values share one group and one definition
No descriptionsEvery record comes out with an empty description, and you fill them in later
A name you already haveIt is counted back to you instead of being created, and the rest still go in
A name over 100 charactersIt shows an error, and the create button stays gray until you fix it
More than 100 names pastedYour first 100 are kept, and a message tells you how many were dropped

Switching back to Single after typing several names asks you to confirm first, because only your first name is kept.

Duplicate what you already built

Duplicate is in the three-dot menu at the end of every row on all three lists. It is in the same menu inside the dialog when you have a record open. It needs a higher role than Editor, so you see it from Manager up.

What you duplicateWhat you are asked
A groupGroup + every definition and value, or Group only (skip child definitions and values)
A definitionDefinition + every value, or Definition only (skip values)
A valueNothing. Your copy is made right away

Your copy takes your name with (Copy) after it, and (Copy 2) when a copy of that name already exists.

Find a group, a definition or a value

Each of your three lists opens 50 rows at a time, and the page-size control at the bottom right switches you to 25 or 100. Clicking a column header sorts by that column.

Four buttons are at the right of the toolbar above each list, next to your create button. Search narrows the list to rows whose name or description contain what you type. Columns hides any column you do not want to see. Filter opens a panel where you pick a column in Filter by, a comparison in Operator, and something to match in Value. Density makes your rows tighter or looser.

Set any filter and a control appears in the page header beside the title, reading Unsaved View. Reset next to it puts your list back, and Save View keeps that set of filters under a name you choose.

Every column the three lists can show you

Your groups list shows Name, Description, Categories, Definitions, Created at, Created by, Updated at and Updated by. Categories and Definitions are counts, so a 0 under Definitions is an empty group.

Your definitions list shows Group, Name, Description, Required, Unique, Categories Excluded, Values and the same four audit columns. Categories Excluded and Values are counts too.

Your values list shows Group, Definition, Value, Description, Products and the same four audit columns. Products counts how many of your products use that answer, so a 0 there is a value no one picked.

Put values on a product

Open the product from Catalog, in Products, and scroll its dialog down to the Specifications section. You get a table of the values already on it, one row each. Group, Definition and Value run across it, with Remove at the end of every row.

Two buttons are in the toolbar above that table. Select opens the picker. Manage opens your same three lists in a dialog called Manage Specifications, so you can invent a missing group, definition or value without losing the product you were editing.

The picker is called Select specifications and it gives you four panes side by side. You work through them left to right:

PaneWhat you do in it
GroupsClick a group to see what is inside it
DefinitionsClick a definition to see the answers it accepts
ValuesCheck the answers that apply to this product
SummaryRead back everything you picked, and take any of it off again

A search box is at the top of the picker and narrows all three left panes at once. A small + above each pane creates a new group, definition or value right there, filled in with wherever you are, and picks the new one for you. Cancel at the bottom throws your picks away. Done keeps them.

Done stays gray until you change something. So a picker you opened out of curiosity closes with Cancel, the × in the corner, or Escape.

Nothing is saved until you save the product. Clicking Done only writes your picks into the product you have open, the same as typing into any other field. Close the product without saving and you lose them.

Change or remove values on a product

Your Specifications table inside the product filters like any other list. Click the filter control on the Group, Definition or Value column and pick from what is actually in the table. That is how you find one row on a product with 60 of them.

Remove at the end of a row takes that one value off. To take several off at once, check the box at the left of each row and click Remove in the bar that appears. It asks you to confirm, and reminds you that your change only counts when you save the product.

Build the three levels from a file

Groups, definitions and values are each their own kind of import, so you can build a whole vocabulary from spreadsheets before a single product refers to it. Run them in that order, because each level names the one above it.

Kind of importColumns
Spec groupsGroup Name, Description, Categories
Spec definitionsGroup Name, Definition Name, Is Required, Is Unique, Description, Excluded Categories
Spec valuesGroup Name, Definition Name, Value Name, Description

Categories and Excluded Categories take full category paths, as in Apparel > Footwear. Put a pipe between them when you list more than one. A leaf name on its own is rejected, because two different trees can both end in Footwear. Is Required and Is Unique take Yes or No.

Those two columns are the one place a default shows itself. The dialog makes you answer both questions. A file that leaves the columns out creates definitions that are not required and that accept one value each. Decide those two yourself instead of letting your file decide for you.

On step 5 of the import wizard, under Missing references, a definitions import asks you If Spec Group does not exist:. A values import asks you If Spec Definition does not exist:. Both give you Skip with warning and Fail the row, and both start on Skip with warning. Neither one creates the missing parent for you, which is why you run your three imports in order. Imports covers the rest of the wizard.

Put values on products from a file

A products import fills in a product’s specifications through a column called Specifications. One cell has that product’s whole set in it, written as Group > Definition > Value with a pipe between entries. The group is required in every entry, for the same reason two of your groups can both have a Color.

That same step 5 asks you four questions about specifications on a products import:

QuestionWhat to answer
If Spec Value does not exist:Skip with warning leaves the value off and the rest of your row goes in. Fail the row throws the whole product row out
If Spec is not allowed for the product's categories:The same two answers, for a specification the categories on your product do not cover
Update behaviorReplace makes your file’s values the product’s values. Append adds them to what is there. Keep existing ignores your column when the product already has values
Specs and Specs path, under Array value separatorsChange these when your own data already contains a pipe or a >

Those last two start on the characters this page has been using all along: a pipe between entries, and a > between the three parts of one entry.

Pick Replace unless you want your file added to what is already there. Append on a definition you set to Yes for Is unique per product? keeps the value the product already has, and warns you. A one-value definition has nowhere to put the second one.

Limits

WhatLimit
Characters in a group name, a definition name or a value100
Characters in a description500
Names in one Bulk create100
Rows a list shows you at once50
Definitions named in the picker’s warning5
Definitions named in the product’s reminder3
Specifications a BigCommerce product takes200
Characters in a name or an answer sent to BigCommerce250

What specifications cannot do

You cannotDo this instead
Drag a group, a definition or a value into a different orderClick a column header to sort the list you are reading
Give a definition a type, a unit or a rangePut the unit inside your answer, as 1 kg
Merge two groups that mean the same thingMove your definitions across, then delete the empty group
Put a specification on one variant and not anotherNothing here is stored on a variant. Use an option when your answer differs per variant
Have an import invent a missing group, definition or valueImport your three levels first, as their own files
Read a specification back from a connected storeEverything here is written out of the PIM and never read in
Add a column to your products table showing which values a product hasClick Filter in the toolbar above that table and set Filter by to Has Specifications, which splits it into products with values and products without

How your specifications behave

Why a group’s categories decide which products see it

A group with nothing checked in Categories covers every product you have. That is the simple case, and it is what most of your groups should be.

A group with categories checked covers only your products that are in one of those same categories. The two have to share a category exactly. Here is the part that surprises people: checking a parent in a category tree does not check its children for you, on your group or on your product.

So a group you scoped to Apparel does not cover a product filed only under Apparel > Footwear. Check Apparel > Footwear on your group too, or put both categories on your product.

Excluded Categories on a definition works in the other direction, and it runs second. A definition drops back out for any product in one of its excluded categories, even though your product is still inside what the group covers. Use it when one attribute of a group makes no sense for part of what that group covers.

The rule reads your product’s own categories, so changing them changes which specifications that product gets. Categories is the page where you make that change.

When nothing at all covers the product you have open, the picker tells you so instead of showing you four empty panes, and it suggests giving your product different categories. Create a group from inside the picker and check categories your product does not have, and that new group will not appear either. A message tells you why rather than leaving you to look for it.

Why a required specification does not stop you saving a product

Is required? set to Yes does not block a save, which is the opposite of what the word suggests. A product with a required specification still missing is a normal state, not a broken one.

Your products get into that state without anyone doing anything wrong. Turning Is required? on applies to every product you already have, and giving a product a new category can bring a required definition in.

Here is where it does bite and where it does not.

WhereDoes a missing required specification stop you
Done in the Select specifications pickerYes. Done is gray, and a warning at the bottom names up to 5 of them for you
Saving the productNo
An import whose file has a specifications columnYes. That row of yours fails
An import with no specifications column at allNo. Your row is left alone
A data source that writes specificationsYes. That product’s specifications are dropped, and its other fields still go in
Turning Is required? on, duplicating a product, any sync to a channelNo

What your product shows you instead is a reminder above its Specifications table. It names up to 3 of the definitions still waiting and counts the rest. Inside the picker, a small dot appears next to any group and any definition with one in it, so you can go right to it.

That count only looks at definitions that actually cover your product. A required definition inside a group that does not cover it is not waiting on anything, because it is not there.

Why some values are radio buttons and some are checkboxes

Is unique per product? decides the shape of the control in the picker’s Values pane. That is the whole of what it does inside the app.

Set to Yes, you get radio buttons. Picking a second answer replaces your first, so your product can never end up with two. Set to No, you get checkboxes and you check as many as apply.

That rejection only happens where values arrive without going through the picker. A file with two answers for a one-answer definition fails that row, and tells you to keep one value or make the specification allow several.

What happens when a product’s categories change

Values already on your product are never taken off when that product moves out of what a group covers. They gather in the picker’s Summary pane, under a heading marking them as orphans. You take them off one at a time there, or leave them exactly as they are.

Nothing removes them for you, and nothing warns a shopper looking at your storefront. So a set of products you recategorized in bulk is worth opening again after that.

What each channel takes

Where your specification goes depends on whether the channel has a general place to put extra facts about a product. A channel that does takes your whole set. A channel whose listing text is not yours to write takes none of it.

ChannelWhat it takes
ShopifyEvery value on your product, in two shapes at once
BigCommerceOne storefront custom field per value, named after its definition
GoogleOne product detail per definition, with your group as its section name and your answers joined into one line
SquareNothing
AmazonNothing

On Shopify your values arrive twice. One shape is the product’s whole set in a single field, sorted into groups, each definition alongside the answers you picked for it. It is not written at all for a product with none.

The other shape is one field per definition your product has answers for, with only that definition’s answers in it. That second one earns its keep, because Shopify’s own storefront filters and its automated collection conditions can read a field of that kind. So one of your definitions becomes a filter your shoppers click, and a condition a collection is built on.

A definition with a single answer still arrives as a one-item list, so a theme has one shape to handle whatever you set Is unique per product? to.

Both fields are in a space the PIM owns and are left unpinned, so they stay out of your Shopify product editor until someone goes looking. The second shape’s field is created on the first push that needs it, so a definition you have never used never appears in Shopify at all. Rename a definition, or edit its description, and the Shopify one is updated on your next push.

Nothing about specifications is ever read back. No data from a channel creates a group, a definition or a value here. An edit someone makes to either field in your Shopify admin is replaced on the next push, and the Shopify integration covers the rest of that direction.

Deleting a definition here also deletes the matching field in Shopify, and every value bound to it on every product in your store. Neither side has an undo.

That clearing rides along with your next few pushes instead of happening the moment you delete.

Groups and values own nothing of their own on a channel. Your group is only a heading inside the combined Shopify field, and the section name on a Google product detail. Your value is only an entry in a list.

Where nothing is taken, there is nothing to set. The Square integration takes your categories and your primary brand and stops there. Amazon in the PIM is offer-only. Correcting a specification changes nothing on an Amazon listing, because the PIM never wrote that listing, which is the point the Amazon integration makes about that whole direction.

When something goes wrong

What stops you deleting something

Deleting works from the bottom up. A group with definitions inside it is rejected, so is a definition with values under it, and so is a value one of your products still uses. Each message counts what is in the way, so you know how much of it there is, and each one comes to you in English whichever language you read the app in.

That order is also how you unwind two groups that turned out to mean the same thing, because there is no merge for specifications. Open a definition from your definitions list and change its Group. Open a value from your values list and change its Definition. Move the children across that way, then delete the parent you emptied.

The taxonomy report is where you find what is worth unwinding. It counts your groups, definitions and values, ranks your values by how many products use them, and keeps a Cleanup panel listing your unused values and your empty groups and definitions. Those are exactly the ones the bottom-up rule lets you delete, and the panel links you into each list already filtered.

When someone else edits the same record

If another person saves the same group, definition or value while you have it open, your save is rejected instead of overwriting theirs. A banner tells you the record changed and gives you Reload. That brings their version in and drops the edits you had not saved.

Messages you can run into

MessageWhat to do
Cannot delete this group. 3 spec definitions belong to it.Move or delete those definitions first
Cannot delete this definition. 5 spec values belong to it.Move or delete those values first
Cannot delete this value. 12 products use it.Take the value off those products first
A group with this name already existsPick another name. Color and color count as the same one
A spec definition with this name already exists in this groupPick another name, or put your definition in a different group
This value already exists for this definitionPick another answer, or check whether you already have the one you wanted
A required specification has no value on this product. Add a value, or make the specification optional.Fill that specification in on your row, or turn Is required? off
A specification that allows only one value has more than one on this product. Keep one value, or make the specification allow multiple.Cut your cell down to one answer, or turn Is unique per product? off
A spec group is not allowed for this product's categories. Assign one of the group's categories to the product, or pick a spec from a compatible group.Give your product one of the group’s categories, or use a group that already covers it
A spec definition is excluded for one of this product's categories. Pick a different spec, or remove the conflicting category from the product.Use a different definition, or take that category off your product
A field contains characters reserved for the spec cell format.Take the >, the = or the pipe out of your name or your answer
The referenced spec group was not found. Import spec groups first.Run the spec groups import, then run yours again
This unique-spec definition already has a different value. The existing value was kept.Nothing failed. Use Replace instead of Append if you wanted your file to be the one that counts

Where to go next