Bulk edit tags on Shopify

Tags drive automated collections, storefront filters and Flow triggers. When they drift, everything downstream drifts with them.

You will be redirected to the Shopify app store.

Tagging starts tidy and ends up as three spellings of the same word, a season that finished two years ago, and a tag that only exists on the forty products someone edited manually.

Because so much automation reads tags, cleaning them up is not cosmetic — it decides which products appear in which collection and which workflows fire.

Tag operations

  • Add new tags — one or several, to every matched product.
  • Remove tags — retire a tag across the catalog in one pass.
  • Add and remove in the same task — the usual way to rename a tag.
  • Reverting a tag task is limited: tags the task added are not removed, so undo an “add tags” task with a matching “remove tags” task.

Retire an old tag and roll out its replacement in a single task.

You will be redirected to the Shopify app store.

Selecting products to retag

  • By existing tag — contains or does not contain, which is how you find the mis-spelled variants.
  • By collection — tag everything in a manual collection so a smart collection can take over.
  • By vendor or product type.
  • By inventory — tag what is out of stock so the storefront can treat it differently.
  • By creation date — tag this season’s arrivals as “new”.

A worked example: rename a tag across the catalog

  1. Filter: tag contains “sale2024”.
  2. Editor: tags → add “clearance”.
  3. Editor: tags → remove “sale2024”.
  4. Preview the matched products, then run it.
  5. Automated collections built on “clearance” pick the products up as soon as Shopify reindexes them.

Watch the spaces

Shopify treats tags as literal strings: “Winter Boots” and “winter boots” are two tags, and a stray space creates a third. When you add tags in bulk, type them exactly as your collections and workflows expect.

Because a tag task is hard to undo, the safe habit is to run it on a small filtered set first, look at the result on the storefront, then widen the filter.

How to bulk edit tags on Shopify, step by step

Tags editor adding sale and summer-2026, with SEO title and description editors

  1. Select the products. Filter by collection, vendor, type, title text, price or an existing tag.
  2. Choose Tags. Pick “add new tags” or “remove tags”.
  3. Write the tags. Separate several tags with commas. Tags are added only if missing, and removed only where present.
  4. Preview and run. The log shows the tag list before and after for each product.

Tag recipes merchants use every week

GoalFilterAction
Build a sale collectioncollection Summer, inventory > 0add tag sale
Protect full-price itemsvendor Premiumadd tag no-discount
Clean up old campaignstag contains bf-2025remove tag bf-2025
Feed a smart collectionproduct type Hoodieadd tag winter
Mark slow sellerscreated before 2025-06-01, inventory > 20add tag markdown

Tags and automated collections

Automated collections built on tag conditions update as soon as tags change. Adding a tag in bulk is therefore the fastest way to fill a seasonal collection, and removing it empties the collection again without editing the collection itself.

How reverting works for tags

Tags are the one field where a revert is deliberately limited, and the task screen says so next to the editor: reverting an “add new tags” task restores the tags products had before, but does not take the added tags off, and tag changes made during or after the task are not taken into account. The reliable way to undo a tag task is the opposite task — remove the same tags you added.

Undoing a tag task

Task you ranWhat revert doesReliable undo
Add new tagsRestores the earlier tag list but does not take the added tags offRun remove tags with the same tags
Remove tagsRemoved tags are not added backAdd a marker tag before removing, then filter on the marker to re-add

Tag edits made by other apps or by hand while the task runs or after it finishes are not taken into account by the revert. For tags, treat the opposite task as the undo button.

A worked example: end-of-season cleanup

  1. Filter: product tag contains summer-2026.
  2. Editor: tags → add archived-summer-2026. This marker is how you find the products again later.
  3. Editor: tags → remove summer-2026 in the same task.
  4. Preview, exclude the evergreen products that should stay in the summer collection, then run.
  5. Open the summer collection on the storefront: it should be empty or hold only the products you excluded.

Tag naming that still works a year later

  • Prefix by purpose — sale-, season-, feed-, internal-. A prefix makes “tag contains” filters precise.
  • Put the year in campaign tags — bf-2026, not blackfriday, so next year’s campaign does not inherit last year’s products.
  • One spelling — lowercase with hyphens. Separate several tags with commas in the editor.
  • Keep a list of tags other systems read — before removing a tag, check it is not a condition in an automated collection or a Flow workflow.

What reads your tags

SystemUses tags forWhat a careless bulk edit does
Automated collectionsCollection membershipProducts drop out of a collection, or the wrong ones join
Discounts on collectionsWhich products the discount applies toA sale covers more or fewer products than planned
Storefront filters (Search & Discovery)Filter values shoppers clickFilters show dead or duplicate values
Shopify FlowConditions in workflowsWorkflows fire on the wrong products, or stop firing
Feed and marketing appsLabels and exclusionsProducts leave or enter ad campaigns

Audit tags before you clean them up

Tag drift is easiest to see with filters rather than by scrolling the product list. Three passes find most of it:

  1. Spelling variants. Filter on “product tag contains” a short stem such as sale and preview: Sale, sale, on-sale and sale with a trailing space all show up together.
  2. Missing tags. Filter a collection or product type with “does not contain” the tag that should be there — the preview is the list of gaps.
  3. Dead campaigns. Filter on last year’s campaign prefix, for example bf-2025, and check whether any collection or discount still uses it before removing.
FoundFix in one task
Sale and sale on different productsfilter tag contains Sale → add sale, remove Sale
New arrivals never taggedfilter created after a date, tag does not contain new → add new
A finished campaign tagfilter tag contains bf-2025 → remove bf-2025

Tag, product type or vendor?

Tags are flexible, which is why they get overloaded. Put information in the field built for it, and keep tags for grouping that changes:

InformationBest fieldWhy
What the product is (Hoodie, Boot)Product typeOne value per product, used in filters and feeds
Who makes itVendorOne value, filterable, used by supplier repricing
Season, campaign, collection rulesTagsMany values that come and go
Internal flags (no-discount, needs-photos)Tags with a prefixEasy to add and remove in bulk

Product type and vendor are bulk-editable too, so moving information out of tags is a filtered task, not a manual project.

Related guides

Bulk edit products by collection on Shopify

Use collection membership as the filter, combined with stock, tags and price.

Read more

How to trigger edits from Shopify Flow

Trigger rule-based bulk edits from Flow workflows, with the log and revert intact.

Read more

A quarterly catalog hygiene checklist

Nine filters that show exactly where your catalog data has drifted.

Read more

Ready to edit your Shopify catalog in bulk?

Install Bulk Product Edit by MITS and run your first bulk edit in minutes. Free plan available.

You will be redirected to the Shopify app store.