ProductOptions
Defines option sets for products, such as Size or Color, along with position ordering.
Table-Specific Information
Select
The connector uses the Shopify API to process WHERE clause conditions built with the following column and operators. The connector processes other filters client-side within the connector.
- ProductId supports the '=, IN' comparison operators.
For example, the following query is processed server-side:
SELECT * FROM ProductOptions WHERE ProductId = 'Val1'
Insert
The following columns can be used to create a new record:
ProductId, Name, Position, OptionValues (references ProductOptionValues)
The following pseudo-columns can be used to create a new record:
LinkedMetafieldKey, LinkedMetafieldNamespace, LinkedMetafieldValues, CreateVariantStrategy
ProductOptionValues Temporary Table Columns
| Column Name | Type | Description |
| ProductId | String | A globally-unique ID. |
| ProductOptionId | String | A globally-unique ID. |
| Name | String | Value associated with an option. |
| LinkedMetafieldValue | String | Metafield value associated with an option. |
| VariantStrategy | String | The strategy defines which behavior is observed regarding variants. The strategy 'LEAVE_AS_IS' is used by default - variants are not created nor deleted. If set to 'MANAGE', variants are created and deleted according to the option values to add and to delete. |
Update
The following columns can be updated:
ProductId, Name, Position
The following pseudo-columns can be used to update a record:
LinkedMetafieldKey, LinkedMetafieldNamespace
Delete
You can delete entries by specifying the following columns:
Id, ProductId
Columns
| Name | Type | ReadOnly | References | Description |
| Id [KEY] | String | True |
A globally unique identifier for the product option record. | |
| ProductId | String | False |
Products.Id |
The globally unique identifier of the product associated with this option. |
| Name | String | False |
The display name of the product option, such as 'Size', 'Color', or 'Material'. | |
| Position | Int | False |
The numerical order of the option as it appears on the product, determining display sequence for merchants and customers. | |
| Values | String | True |
A comma-separated list of values available for this product option, such as 'Small, Medium, Large'. | |
| OptionValues | String | True |
A complete list of all option value objects linked to this product option, including those not currently assigned to any variants. |
Pseudo-Columns
Pseudo-columns are fields that can only be used in the types of statements under which they are explicitly listed. They are not standard columns but instead provide additional functionality for specific operations.
| Name | Type | Description |
| LinkedMetafieldKey | String |
The key of the metafield connected to this product option, used to store or retrieve custom metadata. |
| LinkedMetafieldNamespace | String |
The namespace of the metafield associated with this option, grouping related custom data. |
| LinkedMetafieldValues | String |
A comma-separated list of values drawn from the metafield linked to this option, providing extended attribute data. |
| CreateVariantStrategy | String |
Defines how new product variants are handled when options are added. 'LEAVE_AS_IS' keeps existing variants unchanged and assigns the first value for new options. 'CREATE' updates existing variants and generates new ones for every combination of existing and new option values. The allowed values are CREATE, LEAVE_AS_IS. |
| DeleteVariantStrategy | String |
Defines how variant relationships are managed when an option is deleted. 'DEFAULT' restricts options to a single value. 'NON_DESTRUCTIVE' allows deletion only if no variants are removed. 'POSITION' permits deletion of options with multiple values, removing duplicate variants starting from the highest position. The allowed values are DEFAULT, NON_DESTRUCTIVE, POSITION. |