Promo Operations

Shopify Compare-at Price Bulk Edit: Run Promotions Without Leaving Stale Discount Signals

Compare-at price is where many bulk price workflows break down. A clean promotion needs active price, compare-at price, timing, and rollback to stay in sync. This guide shows how to handle that in bulk.

Why compare-at price needs its own workflow

When compare-at price is wrong, the storefront looks sloppy fast. You get fake-looking discounts, expired strike-through pricing, and merchandising teams cleaning up sale debris manually. Compare-at updates are not just a pricing task. They are a promotion-state task.

The safer compare-at workflow

  1. Segment the products included in the promotion.
  2. Set active price and compare-at price together.
  3. Preview representative products before launch.
  4. Schedule the end-state cleanup before the sale begins.
  5. Keep rollback ready if discount logic is wrong.
Promotion state Active price Compare-at price
Before sale Regular price Blank or current merch rule
During sale Discounted price Original higher price
After sale Restored regular price Cleared or reset

Common compare-at patterns

Launch a timed sale

Set compare-at to original price and lower active price on the selected segment. Pair that launch with a scheduled cleanup task at the same time.

Clean up expired promotions

Clear compare-at values where active price has already returned to normal. This is one of the most common recurring cleanup jobs.

Refresh discount displays by segment

When only a vendor, collection, or tag group is running a promotion, use conditions to avoid touching the rest of the catalog.

Promotion rule: every sale launch task should have its cleanup task defined before launch, not after.

Three mistakes to avoid

  • Changing compare-at without changing active price in the same workflow.
  • Running one global sale task when only a subset of products should participate.
  • Leaving sale cleanup for manual work after the campaign ends.

AI prompt examples

  • "For products tagged spring-sale, set compare-at price to current price and reduce active price by 15%."
  • "Tomorrow at 00:01 apply a 20% sale to products in collection Weekend Deals and set compare-at to the original price."
  • "On Monday at 00:05 restore active prices for products tagged spring-sale and clear compare-at price."

Run compare-at price changes with preview and scheduled cleanup instead of stitching together manual sale ops.

Install on Shopify

FAQ

Can I bulk edit compare-at price in Shopify?

Yes. The safest workflow updates compare-at and active price together and previews the result before running.

Why do stale compare-at prices happen?

Usually because sale cleanup is handled manually or as a separate afterthought instead of a planned task pair.

Should compare-at price be set on every product?

No. It should reflect a real pricing state, not act as a permanent decorative discount marker.