Option SetsImport & Export

Import & Export

Option Sets can be exported to CSV and imported from CSV, making it easy to back up configurations, duplicate them across stores, or build Option Sets in a spreadsheet.


Exporting

Export all Option Sets

On the Option Sets list page, click Export all in the top-right header. This downloads a single CSV file containing every Option Set for your store.

Export a single Option Set

On the Option Sets list page, find the row for the Option Set you want and click the download icon (↓) on the right side of that row. This downloads a CSV file containing only that one Option Set.

Exported CSVs use the full 17-column format and can be re-imported as-is.


Importing

Opening the import modal

On the Option Sets list page, click Import CSV in the top-right header. A modal dialog opens.

The import process

  1. Optionally enter a name for the new Option Set (defaults to “Imported Option Set”)
  2. Click Choose file and select your .csv file
  3. The app parses the CSV immediately in the browser and shows either:
    • A green preview listing the element types and label detected, plus the total value count
    • A red error list if any required columns are missing or rows have invalid values
  4. If the preview is green, click Import — the app creates the Option Set and redirects to its editor

Importing always creates a new Option Set. It does not overwrite an existing one.

Sample CSV

If you’re building a CSV from scratch, click Download sample CSV inside the import modal. The sample includes all 17 columns with example rows for Text, Dropdown, Color Swatch, Switch, Checkboxes, and Heading elements.


CSV format

Columns

ColumnRequiredDescription
element_refA grouping key you choose (e.g. 1, color, size-dropdown). All rows sharing the same element_ref become one element with multiple values. Not a database ID — you invent it.
option_typeThe element type in any case (e.g. text, DROPDOWN, Color_Swatch). See valid types below.
option_labelThe customer-visible label for the element. Only needed on the first row for each element_ref.
option_nameInternal/merchant-facing name. Falls back to option_label if left empty.
requiredYes or No
hiddenYes or No (default No)
hide_labelYes or No (default No)
placeholderPlaceholder text for text inputs
help_textHelper text shown below the element
default_valuePre-filled or default value (used by Hidden Field, Switch, etc.)
option_valueOne value label per row. Leave empty for elements with no values (Text, Switch, Heading, etc.).
value_price_modeFLAT, EXISTING_PRODUCT, or GENERATED_PRODUCT (default FLAT). Use FLAT for a fixed price, EXISTING_PRODUCT to link to an existing catalog product’s price, or GENERATED_PRODUCT to create a hidden product to track this add-on separately. See Add-On Pricing for details.
value_price_amountDecimal price modifier for this value. Negative values apply discounts.
swatch_colorHex color code for Color Swatch values (e.g. #FF0000)
swatch_image_urlImage URL for Image Swatch values
out_of_stockSHOW_NORMALLY, BLUR, STRIKETHROUGH, or HIDE (default SHOW_NORMALLY)
productsall to apply to all products, or semicolon-separated product IDs (e.g. 77;80;142). Read from the first row where it appears; only needs to be on one row. To find a product’s ID, go to your BigCommerce admin → Products → click the product — the ID appears in the page URL.

How element_ref works

The element_ref column is the key to the multi-row format. Elements with multiple selectable values (Dropdown, Color Swatch, Checkboxes, etc.) need one row per value, all sharing the same element_ref:

element_ref,option_type,option_label,...,option_value,value_price_amount,...
dropdown-1,dropdown,Wood Finish,...,"Natural Oak",0,...
dropdown-1,dropdown,Wood Finish,...,"Dark Walnut",10,...
dropdown-1,dropdown,Wood Finish,...,"Painted Black",5,...

Those three rows produce one Dropdown element called “Wood Finish” with three values.

Elements with no selectable values (Text, Switch, Heading, Divider, etc.) need only one row, with option_value left empty:

element_ref,option_type,option_label,...,option_value,...
text-1,text,Engraving Text,,...,...

Valid element types

text, textarea, number, phone, email, hidden_field, file_upload, color_picker, switch, range_slider, dropdown, image_dropdown, color_dropdown, radio_buttons, checkboxes, button_group, color_swatch, image_swatch, font_picker, redirect_link, heading, divider, paragraph, raw_html, size_chart, tab, option_group, accordion

Case-insensitive — TEXT, Text, and text are all accepted.


For users migrating from an older version of this app

Old CSV files using option_id instead of element_ref and addon instead of value_price_amount (the previous 8-column format) are still accepted. The importer detects the column names automatically.


What is not captured by CSV

The following settings are not included in the CSV format and must be configured in the dashboard after import:

  • Type-specific settings (such as personalizer layer position, slider minimum and maximum values, and text length limits)
  • Conditional logic (show/hide rules between elements)
  • Design overrides (per-element design tab settings)
  • Translations (multi-language labels and values). You can configure translations per element from the element settings panel after importing.
  • Size charts (linked size guide content)