Features

Eleven capabilities. One panel.

Everything below runs in a panel docked beside the admin you already have open, so the product list you are about to change stays visible the whole time. Two of them — the alt text audit and the metafield size check — are read-only and free on every plan.

01 — Bulk edit

Rules that read like instructions

Pick a field, pick an operation, give it a value. Stack as many as the job needs; the preview shows the combined result.

Fields

Price · compare-at price · cost per item · tags · title · description · SKU · barcode · weight · inventory quantity · metafields

Operations

Increase or decrease by percent or amount · set to a value · round to end in .99, .95 or .00 · add, remove or replace tags · find and replace · clear

  • Scope is whatever your admin filter returns — "340 products in current filter", stated on the panel.
  • The diff table lists every affected variant with its before and after value, digits aligned.
  • Jobs over 1,000 variants require you to type the count before the button unlocks.
  • A failure names the cause and the fix, and lets you retry only the variants that failed.
  • Undo puts back the exact values that were there before the job — not a recalculation of what they should have been.
The preview before applying: every variant listed with its current value beside the value the rule would write
02 — Rule chaining

Several steps, one job, one undo

A sale is rarely one change. Copy the price into compare-at price, reduce it by 20%, set a material, add a tag — as steps in one job, with one preview and one undo instead of four of each.

  • The preview shows the net effect first — what each variant ends up as — with the per-step breakdown one click away.
  • Steps run in order, so step 2 works on what step 1 produced. The preview says so with your own numbers rather than in the abstract.
  • A step that fails halts the chain and puts back what the earlier steps wrote. Half-applied is a state nobody asked for.
  • Undo reverses the whole job, last step first — not four separate undos in the right order.
  • Save a chain and run it again next season against a different filter. “Summer sale” becomes a thing you own rather than something you rebuild.
A chain preview showing the net effect on each variant — price, compare-at price, material and tags — with the per-step breakdown expanded beneath it
03 — SEO templates

One template, three thousand different titles

Meta titles and descriptions written from per-product variables. {{product.title}} | {{product.vendor}} resolves differently for every product, which is the one thing find-and-replace can never do.

  • Insert buttons for every variable, including your own metafields — the syntax is learned by clicking, not by reading a reference.
  • Live preview against a real product, with the character count against the limits Google actually shows: about 60 for a title, 160 for a description.
  • Products with a hand-written value are left alone by default, and counted so you know how many.
  • Rows that resolve to identical text are flagged; so is a variable that resolves to nothing, with the fallback offered in one click.
  • URL handles are off until you turn them on, and every changed handle gets a redirect from its old address. More on SEO templates.
The SEO template rule with variable insert buttons and a live preview showing the resolved meta title and its character count
04 — Alt text

The number first, the writing second

A free, read-only audit counts every product image with no alt text and breaks it down by product and collection. Writing it is either a template, at no cost per image, or a description generated from the image itself.

  • The audit runs on every plan, including Free. It writes nothing, so there is nothing to charge for.
  • AI descriptions cost 1¢ an image described — repeats are not charged again — and every job states its total first: “Describe 8,128 images · $32.51”.
  • The same photo used on many products is described once and reused. Rejected descriptions are never written and never charged.
  • The preview shows the image beside the words — the only diff in this product where text alone tells you nothing — and any row can be rewritten or rejected.
  • Existing alt text is never overwritten. More on alt text.
The claim we do not make. Alt text is one accessibility requirement among many. Filling it in fixes the most common failure across a catalogue. It does not make a store accessible, and no bulk tool can.
The alt text coverage audit: 9,412 of 12,840 images have no alt text, with the gap broken down by product and by collection
05 — More than products

Collections, pages, discount codes

One selector at the top of the rule builder points the same engine at the rest of the store, with the count beside each type — which is usually how a merchant discovers they have 86 collections.

  • Collections, pages and blog posts on Growth; discount codes on Scale and Compliance.
  • Same rules, same preview, same snapshot, same undo. Nothing about the mental model changes.
  • Deleting discount codes cannot be undone by anyone, so it downloads a CSV first, offers to expire them instead, and asks you to type the count.
  • Smart collection rules stay out of scope in this version. More on the other object types.
The rule builder editing collections: a find-and-replace across 86 collection descriptions, with smart collection rules explicitly left alone
06 — Multi-store

One rule, every store you run

For agencies and multi-brand merchants: one job across a group of stores, with a per-store preview, per-store progress and per-store undo. Stores run in parallel, so six stores take about as long as the slowest one.

  • The apply button counts stores, not variants, because a store is the unit of risk when the catalogue belongs to a client.
  • A store where the rule does not apply — a field that does not exist there — is named with the reason, and you can proceed with the rest.
  • Failures are never aggregated: “Echo Store: 12 variants failed”, never “12 failures”.
  • Amount rules are blocked across stores that do not share a currency. “Set price to 50” means 50 USD in one and 50 EUR in another. Percentages run freely.
  • A store links itself by accepting an invitation in its own admin, and can unlink itself at any time without asking the agency.
The per-store preview: 2,140 variants across six stores, one store marked not applicable with a reason, and an apply button that counts stores
07 — Scheduler

A sale with an end date built in

Schedule is the third option on the preview, next to Apply. Give it a start, and optionally an end — at the end the old values come back on their own.

  • Times are shown in your store's timezone, with the date spelled out: "Fri 3 Aug, 06:00".
  • Overlapping windows on the same products are flagged at save time, with both jobs named.
  • You can edit a job that is already running, and the panel tells you how much of it has already gone through.
  • Cancelling a sale asks whether you mean the start, the end, or both.
  • A job missed because the store was unreachable is reported, not silently skipped — you choose to run it late or drop it.
A scheduled sale window with its start date and the auto-revert leg that restores the original prices when it ends
08 — Audit & history

What changed, when, and where it came from

A price history on each product and a store-wide change log for everything else, filterable and exportable.

An honest limit. Shopify does not always tell us who made a change. Where BulkGauge did not make it, the log says so plainly rather than guessing at a name. That is the difference between a log you can rely on and one you cannot.
  • Per-product price history with the previous value and the date it changed.
  • Store-wide log filtered by date range, resource type and job.
  • CSV export of any filtered view on Growth and above.
  • Retention follows your plan: 30 days, 90 days or 12 months.
A single product’s price history, each change dated and attributed to the job or app that made it
09 — Metafields

The right control for the type

Choose a metafield definition and BulkGauge reads its type, then renders the control that type deserves. A product reference gets a picker. A date gets a date field. Nothing gets a text box it should not have.

  • Works on product, variant and collection metafields, and on metaobject entries.
  • A value that does not fit its field is caught in the preview, with the row and the reason.
  • Values are checked against Shopify's size limit before the job runs, not after it fails.
  • Anything too long comes back with options for shortening it, rather than an error code.
  • Empty values are shown as (empty), so clearing a field never looks like leaving it alone.
The metafield size check, showing which values are within the field’s limit and which would be rejected before the job runs
10 — Compliance

Omnibus price history, GPSR data and battery passports

If you sell into the EU, a discount now needs the lowest price of the previous 30 days beside it, and a product page needs safety information and a responsible person. BulkGauge holds the data and renders the blocks.

  • 12 months of price history — the record an Omnibus claim rests on.
  • Blocks for the Omnibus prior price and the GPSR safety panel that you place in the theme editor and that take on your theme’s own styling.
  • A completeness dashboard listing what each product is still missing, in plain words.
  • Per-product checklists showing what each product still needs, per regime.
  • Battery passports. The EU Battery Regulation’s own 31 fields, a passport page a shopper reaches by QR, and a printable code sized for packaging. Mandatory from 18 February 2027, and populatable now.
  • A regulator export in CSV, one file per regime, with a checksum manifest.
Storage lasts while you subscribe. The regulation’s retention period — ten years for GPSR, a product’s lifetime plus ten for a battery passport — is your obligation, not our guarantee. BulkGauge stores the records while your subscription is active, exports everything to you before storage ends, and never deletes without exporting first. Printed QR codes resolve for as long as storage does.
Boundary. BulkGauge supplies data and display. It does not assess whether your store meets a legal obligation, and it is not legal advice. The word "compliant" appears nowhere in the product for that reason.
The compliance completeness dashboard, counting how many products are missing each required regulatory field
11 — Backups & restore

A nightly copy of your catalogue, and a restore you can read before it runs

Products, variants, metafields, collections, pages, navigation, inventory levels, discounts and theme settings, copied on a schedule you set and encrypted before the file leaves your store. Restore opens the same preview as any other job: what will be created, what will be updated, what is skipped, and what cannot come back.

  • Daily, weekly or manual, at a time of day you choose, in your store's timezone — stated on screen, not inferred.
  • Kept in our encrypted storage, or written to a Google Drive or Dropbox folder you authorise. We never ask for a password or an API key, and you can revoke the access from your own account.
  • You decide who holds the encryption key. We hold it and restore always works, or you hold it and we cannot read your backups — and cannot recover them if the key is lost. Both consequences are stated before you choose.
  • Every restore is previewed per object and gated by typing the count, because a restore overwrites data.
  • $9 per store a month, including 2 GB of encrypted storage — enough for the 7 restore points Core keeps; 40¢ a GB above that. Your own Drive or Dropbox removes the per-GB part.
What restore is not. Shopify has no rollback and no API for writing an order or a customer back. BulkGauge replays creates and updates, so a product you deleted returns as a new product with a new ID, and the collections and metafield references pointing at the old ID do not follow it. Those are listed by name before you approve anything. Orders, customers, theme code and other apps' data are never copied and never restored. What is covered, in full.

See it against your own catalogue.