Skip to content

Bulk BOM product tags

The Tag Shopify products dialog is the ad-hoc counterpart to default material tags. Where defaults fire automatically on BOM creation, this surface is for one-off tag changes: tagging a batch of seasonal BOMs, removing a deprecated tag from a product line, or applying a manual-only tag.

Click Bill of Materials in the Assemblified navigation to open the Finished goods page. Tick the BOMs you want in the table — a bulk action bar appears above it — then open the Edit dropdown and choose Tag.

The dialog has two different bodies, and it decides which one you get from the selection before it opens. You never choose, and the two can’t be combined.

Your selectionWhat you get
Rows you ticked by hand, 250 or fewerThe per-row shape: one line per BOM, with tag chips you switch on and off individually.
More than 250 ticked rows, or “select all matching”The uniform shape: two strips that apply one change across the whole selection.

The reason is cost. The per-row shape has to read every selected product’s current tags out of Shopify to show them, and on a selection of thousands that isn’t a request anyone should wait on. So past 250 the dialog reads nothing and asks a simpler question instead.

250 is also the batch size used when the work is handed to the background queue — but those are two separate things that happen to share a number.

For each selected BOM the dialog shows:

  • The BOM name, and a chip for every tag in play — the ones configured under Settings → Catalogues → Tags, plus every tag already sitting on one of the selected products, plus anything you type in. The chips currently on that product are switched on. Switching one off marks the tag for removal from that BOM; switching a new one on marks it for adding.
  • A “Skipped” note when the BOM can’t be tagged at all. The two reasons:
    • BOM is not linked to a Shopify product. — virtual finished goods aren’t taggable.
    • Shopify product could not be loaded. — Assemblified couldn’t read the product from Shopify, e.g. it was deleted between selection and dialog open.

Chips on a skipped row can’t be toggled.

Only the differences are sent. A row you left exactly as you found it is dropped from the run rather than queued as a write that changes nothing — which is why the count you get back can be lower than the number of rows you selected.

Here there’s no list of BOMs. Instead you get a line saying how many finished goods the change applies to, and two strips:

  • Add to all N — every tag switched on here is added to every product in the selection.
  • Remove from all N — every tag switched on here is removed from every product in the selection.

Because this shape deliberately reads nothing from Shopify, the two strips start empty. Type the tag you want into the New tag field and it appears in both strips, ready to switch on. That is the normal way to work in this shape: name the tag, choose add or remove, apply.

Both shapes have a New tag field. Type a name that isn’t already in play and it joins the chips, ready to use.

A tag typed here applies only to this run. It is not added to your Settings → Catalogues → Tags catalogue — if you want it applied automatically to new BOMs, create it there as well.

Click Apply. The button stays disabled until the form describes a real change, and the dialog can’t be dismissed while the request is in flight.

What you get back is a queued confirmation naming how many finished goods the update was queued for and how many were skipped.

Pending changes are grouped by the exact combination of tags added and tags removed, so 50 BOMs all getting the same tag added is one job, not 50. Each job carries up to 250 product IDs; larger groups are split automatically.

Use caseReach for
”Every new BOM should get tagged assemblified-bom.”Default BOM tag
”Tag the 20 BOMs in our holiday collection with holiday-2026.”Bulk BOM product tags, per-row shape
”Strip legacy-line off a whole product line.”Bulk BOM product tags — filter the Finished goods table down to the line first, then select all matching
”Tag every BOM-backed product in the catalogue, retroactively.”A default tag plus the apply (send arrow) action in Settings
  • BOMs without a Shopify product link are skipped. In the per-row shape the dialog says so on the row rather than failing the run; in the uniform shape they show up in the skipped count.
  • A tag typed into New tag isn’t saved to your Settings catalogue.
  • Very large selections produce several background jobs rather than one, so tags can appear on your products in waves.