Skip to main content

Product & Variant Fields

This page is a reference for every field the bulk editor can modify. Use it to find the right field name when building a modification, and to jump to the per-field guide for details and examples.

The modification builder splits its Field dropdown into product-level fields (apply to the product as a whole) and variant-level fields (apply to each matching variant). Anything you see here is supported today — there are no hidden flags.

Field dropdown in the Modification builder, grouped by product and variant

The Field dropdown groups options by product vs. variant scope.

Product-level fields​

These change a value on the product itself. One modification produces one Shopify mutation per product.

FieldWhat it controlsPer-field guide
TitleProduct nameProduct: Title
DescriptionHTML body of the productProduct: Description
VendorBrand or supplierProduct: Vendor
Product typeShopify product type—
HandleURL slug (/products/<handle>)Product: Handle / URL
SEO title<title> shown in search resultsProduct: SEO Title
SEO descriptionMeta description in search resultsProduct: SEO Description
SEO visibilityHide from search engines (<meta name="robots">)Product: SEO Visibility
TagsComma-separated product tagsProduct: Tags
StatusActive / Draft / ArchivedProduct: Status
ImagesAdd, remove, or replace product imagesProduct: Images
Manual collectionsAdd/remove from manual (non-smart) collectionsProduct: Manual Collection
Publish to channelPublish or unpublish on a specific sales channel—
Option nameRename a product option (e.g. "Color" → "Colour")Product: Options Name
Sort variantsReorder variants alphabetically, numerically, or by size—
Reorder optionsChange the display order of product options—
MetafieldSet, clear, or modify a product-scope metafield—
Delete product⚠️ Permanently delete each matching product—

Variant-level fields​

These change a value on every matching variant. One modification produces one Shopify mutation per variant.

FieldWhat it controlsPer-field guide
PriceVariant selling priceVariant: Price
Compare-at price"Was" price shown next to a sale priceVariant: Compare-at Price
CostCost per item (used for margin/profit)—
SKUStock keeping unit—
BarcodeBarcode (UPC/EAN/ISBN)—
TaxableWhether tax applies to the variant—
WeightVariant weight (with unit)—
Requires shippingPhysical vs digital variant—
Inventory policyDeny vs. continue selling when out of stockVariant: Continue Selling When Out of Stock
Inventory quantitySet / increase / decrease stock at a specific location—
Track quantityEnable or disable Shopify inventory tracking—
Option valuesEdit values for option 1, 2, or 3Variant: Option Value
Connect locationActivate or deactivate inventory at a location—
MetafieldSet, clear, or modify a variant-scope metafield—
Delete variant⚠️ Permanently delete each matching variant—

Field scope and your filter​

The bulk editor figures out the right "row scope" from your filter and the modifications you stack:

  • If every modification is product-level and your filter is product-level, every matching product is updated once.
  • If any modification is variant-level (price, SKU, weight, inventory…), every matching variant is updated. A product with 12 variants matching your filter will get 12 mutations.

Watch the count above the results table — it shows both products and variants matched. Use variant-scoped filter conditions (SKU, barcode, variant inventory) when you want to act on specific variants instead of all variants of a product.

Operations per field​

The Operation dropdown changes depending on the field you pick. For example, Price offers Set Fixed / Change by Amount / Increase by % / Decrease by % / Set to % of Field, while Tags offers Add / Remove / Replace / Set / Clear. The full per-field operation reference lives in Bulk edit products.

Destructive operations​

Delete Product and Delete Variant can't be combined with any other modification in the same job, and their changes can't be reverted — once Shopify deletes a product, it's gone. The app shows a warning before you create a delete job and blocks reverts on jobs that contain a delete operation. See Undo bulk edits for the full list of revertable vs. non-revertable changes.

What's next?​