Promotions

Catalog-scale bulk price editor

Runs very large product-level price updates using Shopify Bulk Operations. Best for large catalogs; updates every variant on matching products.

When to use this template

This template is built for Shopify stores using the JsWorkflows app.

What it does: Runs very large product-level price updates using Shopify Bulk Operations. Best for large catalogs; updates every variant on matching products.

It is designed for Shopify promotion workflows and gives you a production-ready starting point instead of building the automation from scratch.

This workflow uses the scheduled trigger model and starts from the "Catalog-scale price update" trigger. It includes setup fields for merchant-facing values, so you can configure the workflow before installing it.

Setup guide

Before you start

Use this template for very large product-level price updates. It uses Shopify Bulk Operations to read matching products and run the price update asynchronously, which is more practical for large catalogs than paging through variants one request at a time.

Difference from Scheduled bulk price editor

  • Scheduled bulk price editor is best for targeted variant-level campaigns and includes automatic rollback snapshots.
  • Catalog-scale bulk price editor is best for very large product-level updates. It updates every variant on products matching the product search query and does not include automatic rollback.

Configure in setup

  • Product search query: choose which products should be included. Every variant on matching products is evaluated.
  • Examples you can copy: status:active targets active products, tag:clearance targets products with the clearance tag, vendor:Acme targets one vendor, and product_type:Shoes targets one product type.
  • You can combine filters with spaces, for example status:active tag:clearance. This means products must match both filters.
  • To match either of two filters, use OR, for example status:active (tag:summer-sale OR tag:clearance).
  • Dry run only: keep enabled for the first run. The workflow downloads the bulk query result, calculates new prices, and logs a preview without changing Shopify.
  • Price action and Price value: choose percentage or fixed amount adjustments.
  • Compare-at mode: choose whether compare-at price is set to the original price, preserved when valid, or cleared.

Safety behavior

  • The template is dry-run by default.
  • Shopify Bulk Operations handle the large read and write jobs asynchronously.
  • The workflow logs product and variant counts after the bulk query result is processed.
  • If the generated mutation file would exceed Shopify's bulk mutation file size limit, the workflow stops and asks you to narrow the product query.
  • This template updates variant price and compareAtPrice only. It does not update discounts, markets, price lists, inventory cost, or rollback snapshots.

Setup fields

Price update label
textRequiredconfig

Human-readable label stored in logs.

Product search query
textareaRequiredconfig

Controls which products are included. Every variant on matching products is evaluated. Examples: status:active, tag:clearance, vendor:Acme, product_type:Shoes.

Dry run only
checkboxOptionalconfig

Preview matching products, variants, and calculated prices without updating Shopify.

Price action
selectRequiredconfig

How prices should be changed.

Price value
numberRequiredconfig

Percentage or amount used by the selected price action.

Minimum price
numberRequiredconfig

Lowest price the workflow is allowed to set.

Rounding
selectRequiredconfig

How calculated prices should be rounded.

Compare-at mode
selectRequiredconfig

How compare-at price should be handled during the price update.