Tutorials

How to Bulk Edit a Product Metafield

Metafields are where your store keeps the extra data Shopify doesn't model out of the box — fabric type, lab numbers, gift-card flags, custom labels, anything you've defined in Settings → Custom data. The EditEngine bulk editor lets you set, append, replace, or trim those values across many products at once instead of opening each product card.

This guide walks through editing a custom single-line text metafield — custom.single_line in the test store — but the flow is the same for any metafield definition you've created. The action options change with the metafield's data type (text, number, boolean, money, date, color, etc.), and the configuration panel adapts to match.

A metafield edit runs once per product. If your metafield is defined on products, every matched product gets one update. Variant metafields work the same way but match each variant — pick them from the Variant Metafield Definitions section instead.

EditEngine writes the metafield even if the product doesn't have a value yet. No need to seed the field first — the bulk edit creates the metafield where it's missing.


Step 1: Pick the metafield

In the Configure Product Edits panel, click Select Field. Custom metafield definitions live under Product Metafield Definitions — scroll past Product Fields, Variant Fields, and Google Shopping to find them. You'll see every definition you've created in Shopify admin under that group, listed by definition name.

The Select Field modal with my Single Line marked under Product Metafield Definitions

Click the metafield you want to edit. The configuration panel updates to show the field's namespace and key (here custom.single_line) and a How to edit dropdown tailored to the metafield's type.

Configuration panel after picking my Single Line: field shows my Single Line (custom.single_line), How to edit set to Set value

Can't find your metafield? EditEngine groups them by where they're defined. Definitions you set up in Shopify admin appear under Product Metafield Definitions or Variant Metafield Definitions. Metafields that exist on products without a definition show up under Product Metafields (Discovered). Use the search box at the top of the modal — typing a name filters across every group.


Step 2: Choose how to change the value

For a text metafield (single line, multi line, URL), seven actions are available.

Direct value

  • Set value — every matched product gets this exact value. Pair with a dynamic value (see Step 3) so each product still gets a unique result.

Adjust the existing value

  • Add text to end — append text to whatever the metafield already holds.
  • Add text to beginning — prepend.
  • Remove text from end — strip a trailing substring.
  • Remove text from beginning — strip a leading substring.
  • Find text and replace — swap a substring across all matched values, with a Case insensitive checkbox.
  • Limit length of text — cap the value at N characters.

The action list adapts to the metafield's type. A number metafield (integer, decimal, money) shows Set value, Increase / Decrease by value, and Increase / Decrease by percentage. A boolean metafield offers Set value and Toggle value. Date / date-time metafields add Set to today and Set to now. Color, rating, measurement, link, and reference metafields render their own pickers — the inputs match what Shopify admin shows for that type, so you're never typing raw JSON.


Step 3: Enter the value

For Set value on a text metafield, type the new value into the input.

Set value with Premium entered; the Edit Preview on the right shows Single_line → Premium for every matched product

The Edit Preview on the right immediately shows the resolved value per product, labelled with the metafield's key. Use it to spot-check before running the edit.

Use dynamic values to keep entries unique. Click Add dynamic value above the input. A modal opens letting you pick from product fields (Title, Vendor, Tags, Type, Handle…) and other metafields, with optional capitalization. Picking Product Vendor inserts the token {{product.vendor}} at the cursor. Combine with literal text — e.g. Made by {{product.vendor}} — to compose values that vary per product.

Find text and replace

This action shows two inputs — what to look for, what to replace it with — and a Case insensitive checkbox. Useful for renaming a category across the catalog (e.g. swap cotton for 100% cotton) or fixing a typo. Leave the replace field blank to delete the matched text outright.

Add / Remove text from end or beginning

A single input. Whatever you type gets appended, prepended, or stripped from the matching end of every value. Don't include the leading/trailing space if you don't want one — the text is glued to the existing value verbatim.

Limit length of text

A number input plus checkboxes for include if trimmed and don't trim mid-word. Useful for tightening a free-text metafield that's grown unwieldy across the catalog.

Number, boolean, date, and other types

When you pick a non-text metafield, the form swaps in the right input for that type. A money metafield shows a currency-prefixed amount. A boolean shows a True/False toggle. A date shows a date picker. A color shows a swatch picker. The action dropdown adapts to match — for example, you won't see Find text and replace on a number field. Pick the action you want and fill in the value the form asks for.


After the run

  • The Edit Preview confirms the new value per product before you click Start Bulk Edit Now. If a product already has the same value, EditEngine still writes it (no-op) — that's fine, just slower than necessary on huge catalogs.
  • Metafield edits are reversible from the History page using Undo, which restores the previous value (or removes the metafield outright if it didn't exist before).
  • Increase / Decrease by percentage on a number metafield is not idempotent — re-running the same edit applies the change again. A 10% raise re-run produces another 10% raise.
  • Editing a metafield that doesn't exist on a product yet creates it. Editing one that does exist overwrites it.
  • If you need to remove a metafield entirely (not just blank its value), use the Delete Metafield action from the Product Fields section instead — it strips the metafield from matched products rather than setting an empty value.
Previous
Edit product type