$ Price Bulk Editor
Funktionen

Alles, was Price Bulk Editor leistet – im Detail.

Aufgebaut auf vier Garantien: Sie sehen die Vorschau, bevor Sie bestätigen, Sie können jederzeit ein Rollback durchführen, Sie sehen den Fortschritt in Echtzeit und Ihre Filterregeln sind präzise genug, um genau das auszuschließen, was Sie benötigen.

01 · Vorschau

Testlauf für jede Aufgabe, bevor Sie bestätigen.

Die häufigste Katastrophe bei Massenbearbeitungen ist die Ausführung einer Aufgabe, die mehr SKUs betrifft als erwartet. Der Testlauf zeigt das vollständige Ergebnis, ohne Shopify zu berühren: welche Produkte Ihrem Filter entsprechen, welche Varianten geändert würden, wie der neue Preis aussähe und welche Einträge die Validierung nicht bestehen würden.

  • Side-by-side-Vergleich Alt → Neu pro Variante
  • Validierungswarnungen (negativer Preis, fehlender compare-at usw.)
  • SKU-Anzahl + Schätzung des gesamten Umsatzdeltas
  • Als CSV exportierbar für die Freigabe durch Stakeholder
Testlauf-Ergebnis · summer-sale-25 Nicht bestätigt
filter: tag=summer-sale AND vendor=Outdoor
matched: 2,481 SKUs across 412 products
action: −25% off compare-at, floor $9.99

variant         was       now       Δ
SUM-TEE-S       $39.00    $29.25    −$9.75
SUM-TEE-M       $39.00    $29.25    −$9.75
SUM-CAP-OS      $24.00    $18.00    −$6.00
… 2,478 more rows

WARNINGS (3):
  SUM-LEGGINGS-XL — would price below floor; skipped
  SUM-PACK-A      — missing compare-at; skipped
  SUM-SOCKS-L     — currently archived; skipped

estimated revenue delta over 7 days: −$48,210
Risk warnings 8 typed rules · pure math · zero AI

Every dry-run runs the same eight rule checks the executor runs at commit time — except no products get touched. Each warning carries a severity so you know what's catastrophic vs. just worth noticing.

High
  • Price below cost. The new price is under the Shopify cost-per-item. Margin would turn negative.
  • Price goes negative. The action produces a negative price. Hard reject.
  • Sign error suspected. The median delta contradicts the action sign (e.g. you said "decrease" but the math goes up). Often a missing minus sign.
Medium
  • Missing compare-at. You asked for percent off compare-at, but the variant has none. Skipped.
  • Archived product. The product is archived on Shopify. Skipped — you probably didn't mean to discount it.
  • Variant without cost. Margin pricing rule, but the variant has no cost on Shopify. Skipped.
  • Price outlier. The new price is more than two standard deviations from the median. Worth a second look.
Low
  • Low inventory. The variant has fewer than five units in stock. Informational — you may not want to feature it.
Audit-Log · Aufgabe #4218 Snapshot v1
  • 2026-06-14 09:00 erstellt Snapshot mit 2.481 Varianten
  • 2026-06-14 09:01 anwenden −25 % auf compare-at, 2.478 erfolgreich, 3 übersprungen
  • 2026-06-21 23:59 Rollback Snapshot wiedergespielt, 2.478/2.478 wiederhergestellt
02 · Rollback

Snapshot-basiertes Rollback, das tatsächlich durchläuft.

Bevor eine Aufgabe ausgeführt wird, erfassen wir den vorherigen Preis und den Vergleichspreis (compare-at) jeder betroffenen Variante. Das Rollback spielt diesen Snapshot wieder ein – es handelt sich nicht um eine Rückrechnung über den umgekehrten Prozentsatz, der Rundungsfehler aufbauen und externe Änderungen während der Aktion nicht ausgleichen kann.

  • Exakte Wiederherstellung pro Variante, inklusive compare-at
  • Idempotent – sicher bei erneuten Versuchen, falls Shopify die Anfragen drosselt
  • Wiederaufnehmbar, falls das Rollback unterbrochen wird
  • Pro Markt unabhängig wiederhergestellte Snapshots
03 · CSV

CSV-Import für beliebige Preise pro SKU.

Wenn die Preislogik keiner Regel folgt (Vertragspreise eines Großhändlers, einmalige Liquidationsliste aus der Finanzabteilung), laden Sie eine CSV mit Ihren SKUs und dem neuen absoluten Preis hoch. Der gleiche Testlauf- und Rollback-Ablauf gilt auch hier.

  • Spalten: sku (empfohlen) oder variant_id, plus new_price. Optional: new_compare_at_price.
  • Bis zu 5.000 Zeilen pro Datei
  • Validierung pro Zeile im Testlauf vor der Bestätigung
  • Das Audit-Log bewahrt die ursprüngliche CSV auf
sku,new_price,new_compare_at_price
SUM-TEE-S,29.25,39.00
SUM-TEE-M,29.25,39.00
SUM-CAP-OS,18.00,24.00
SUM-PACK-A,49.00,69.00
SUM-HOODIE-L,54.00,
… up to 5,000 rows per file
04 · Zielauswahl

Filter nach Tag, Kollektion und Attributen.

Filtern Sie den Katalog nach beliebigen Kombinationen aus Tag, Kollektion, Anbieter, Produkttyp, Preisspanne oder Lagerbestand. Variantenfilter ergänzen SKU-Muster und Optionswerte.

Produktebene

  • tag = "summer-sale"
  • collection ∈ "Outdoor", "Hiking"
  • vendor != "Discontinued"
  • price BETWEEN $20 AND $80

Variantenebene

  • sku STARTS_WITH "SUM-"
  • option.size IN "S", "M"
  • inventory_quantity > 0
  • compare_at IS NOT NULL

Ausschluss

  • NOT tag = "new-arrival"
  • NOT sku IN [Liste hochladen]
  • NOT vendor = "Brand X"
  • NOT product_type = "Gift Card"
05 · Märkte

Preise pro Markt für Shopify Markets.

Wenden Sie pro Markt einen anderen Preis, Prozentsatz oder eine andere Rundungsregel an. Setzen Sie absolute Preise für die USA, einen prozentualen Abschlag auf die EU-Basis und eine Rundungsregel auf ,95 für die Schweiz – alles in einer einzigen Aufgabe. Der vorherige Zustand jedes Marktes wird unabhängig im Snapshot gesichert.

Markt Regel Rundung Untergrenze
US −25 % auf compare-at .99 $9.99
EU −20 % auf Basispreis .00 €10.00
CH Festpreis CHF .95 CHF 14.95
UK −25 % auf compare-at .99 £8.99
06 · Automatisierung

Wiederkehrende Regeln – einmal definieren, dauerhaft ausführen.

Flash Friday jede Woche, monatlicher Abverkauf am Ersten, automatisches Rollback zum Saisonende am 22. September. Jeder Lauf erstellt einen neuen Snapshot, sodass jede Wiederholung unabhängig per Rollback rückgängig gemacht werden kann.

Wöchentlich

Flash Friday um 09:00 Uhr MEZ

Jeden Freitag um 09:00 Uhr wird −20 % auf tag="flash-friday" angewendet. Automatisches Rollback um 23:59 Uhr am Sonntag. Rotiert mit den jeweils getaggten SKUs.

Monatlich

Monatsabschluss-Abverkauf

Am letzten Tag jedes Monats werden Preise auf Kostenpreis × 1,1 für Bestand älter als 90 Tage gesetzt. Rollback am darauffolgenden Montag.

07 · Audit-Log

Vollständige Historie jeder Änderung, als CSV exportierbar.

Jede Aktion – Aufgabe erstellt, Testlauf geprüft, Bestätigung, Rollback, Wiederholung ausgelöst – wird mit Benutzer, Zeitstempel, IP-Adresse und vollständigem Payload protokolliert. Filtern Sie nach Datum, Benutzer oder betroffener SKU; exportieren Sie als CSV für die Finanzabteilung, DSGVO-Auskunftsersuchen oder interne Audits.

Aufbewahrung: von 30 Tagen im Free-Tarif bis zu 5 Jahren im Scale-Tarif, je nach Plan.

2026-06-14T09:00Z  marie@store.com  task.create     "Summer Sale 25%"
2026-06-14T09:00Z  marie@store.com  task.dry_run    matched=2481
2026-06-14T09:01Z  marie@store.com  task.commit     succeeded=2478 skipped=3
2026-06-14T09:18Z  system           task.complete   duration=1041s
2026-06-21T23:59Z  system           task.rollback   restored=2478 of 2478
2026-06-22T08:14Z  cfo@store.com    audit.export    period=2026-06 format=csv
08 · Margenregeln

Margen- und kostenbasierte Preisgestaltung.

Setzen Sie den Preis als Kostenpreis × Multiplikator, zielen Sie auf eine feste Marge in Prozent oder wenden Sie gestaffelte Aufschläge je Preisspanne an. Kombinieren Sie das mit Rundungsregeln (immer ,99, immer ,95 usw.) und Mindestmargen-Untergrenzen.

  • Kostenpreis aus Shopify Inventory cost-per-item übernehmen
  • Untergrenze nach Mindestmarge (z. B. immer ≥ 40 %)
  • Staffelung nach Preisspanne (Aufschlag 1,4× unter $20, 1,6× darüber)
SKU Kostenpreis Regel Neuer Preis Marge
SUM-TEE-S$11.20×1.6 → .99$17.9937.7%
SUM-CAP-OS$5.40×1.8 → .99$9.9946.0%
SUM-PACK-A$22.50×1.4 → .99$31.9929.7%
SUM-JKT-L$48.00×1.4, min 35%$73.9935.1%
09 · Drift detection Unique

Catch the manual edit that broke your sale.

Once a campaign is live, anything else that touches a product price — a teammate fixing a typo, an inventory-sync app, a Shopify Flow rule — silently drifts the catalog away from the snapshot the rollback expects. We listen on the Shopify products/update webhook and surface every drift as an alert with the variant, the campaign, the price we wrote, and the price that's there now. Acknowledge it or roll it back; either way, no surprises when the sale ends.

  • Webhook-driven — fires within seconds of the manual edit
  • Idempotent per (variant, campaign, observed-price); Shopify retries can't dupe
  • Inline list + nav banner counter, polled every 30 seconds
  • Drift caught here keeps the rollback contract honest

We checked the App Store listings of seven direct competitors in May 2026. None advertise drift detection.

Drift alerts · summer-sale-25 3 NEW
2026-06-15 14:22  variant SUM-TEE-S
                  campaign price $29.25  →  observed $29.99
                  source: products/update webhook
                  status: NEW                         [acknowledge]

2026-06-15 16:08  variant SUM-CAP-OS
                  campaign price $18.00  →  observed $24.00
                  source: products/update webhook
                  status: NEW                         [acknowledge]

2026-06-16 09:41  variant SUM-PACK-A
                  campaign price $49.00  →  observed $52.00
                  source: products/update webhook
                  status: ACKNOWLEDGED
                  by: marie@store.com on 2026-06-16 10:02
10 · Self-healing Unique

Your campaigns don't get stuck. Guaranteed.

Most "my BFCM is frozen" support tickets in this category have the same root cause: the worker chain that drives a bulk operation lost a message, a deploy interrupted mid-run, or Shopify's bulk API briefly hiccupped. We run three independent recovery layers so the operator never sees a campaign stuck in RUNNING for hours without a path forward.

In-process

Status-progress recovery

The progress-polling handler self-heals during normal operation — if Shopify shows a bulk operation we don't know about (or vice versa) it reconciles before the merchant ever notices.

Every 15 minutes

Stuck-message scanner

A cron sweep finds tasks that are READY past run_at, RUNNING with no progress, or fully applied but still mid-flight; either resets a stuck Messenger row for redelivery or re-dispatches the right TaskMessage. No Shopify API calls — fast and cheap.

Hourly

Shopify reconciliation

When the cheap fixes fail, an hourly cron asks Shopify directly: "what's the real status of bulk operation X?" Shopify's answer wins; our local state conforms to it. Orphans get marked, completions get acknowledged, failures get surfaced with the Shopify error code.

The three layers were ported from a sister BigCommerce app where they've run in production for two years. Every recovery decision lands in the audit log so support can reconstruct what happened later.

Stuck campaigns are the #1 complaint cited in reviews of competing apps. We made it the failure mode we engineer against, not the one we apologize for.

Loslegen

Probieren Sie den Workflow an Ihrem eigenen Katalog aus.

Installieren Sie die App kostenlos auf Shopify, führen Sie einen Testlauf gegen Ihren Store durch und entscheiden Sie anschließend. Der Free-Tarif erlaubt 100 SKU-Änderungen pro Monat – genug, um die App zu testen, bevor Sie zahlen.

Free-Tarif · keine Kreditkarte nötig · 5 Tage Testphase auf Growth und Scale · 30 % sparen bei jährlicher Abrechnung