Skip to main content
Card class: Non-HeroCategory: Ecommerce Platform
Spike in negative customer signals (refund reasons, low ratings, support escalations). Brand-health canary.

At a glance

A 24-hour rolling count of negative customer signals: refund reasons containing complaint keywords, low-rated review submissions (when product-review apps are connected), and support-ticket escalations tagged urgent. Brand-health canary; an early-warning of viral-grade complaints.
What it countsCOUNT(distinct refunds with note matching complaint regex) + COUNT(reviews where rating <= 2) + COUNT(support tickets tagged 'urgent' or 'complaint') over the trailing 24h. Each unique negative signal is one count.
VAT / tax treatmentNot applicable, count metric.
ShippingNot applicable directly; shipping-related complaints contribute to the signal as one of the complaint keyword categories (“late”, “lost”, “damaged”).
DiscountsNot applicable.
RefundsRefund records with complaint notes contribute. Refunds without notes (silent refunds) do not.
Cancelled / voided ordersNot directly counted; cancellations with complaint reasons can contribute via the cancelReason field if it indicates dissatisfaction (CUSTOMER, OTHER with note).
CurrencyMulti-currency safe (count metric).
Channels / sourcesAll channels. POS-originated complaints rarely surface here unless captured in a CRM connector; the metric is online-skewed.
Time windowRT (real-time, 24h rolling)
Alert trigger>5 negative signals in 24h, configurable. The threshold scales with brand size; large brands need higher thresholds to avoid noise.
Rolesowner, marketing, operations

Calculation

Calculated automatically from your Shopify data. See the At a glance summary above for what the metric tracks and the worked example below for a typical reading.

Worked example

A US food-and-beverage DTC brand on Shopify, ~800 orders/day. Wednesday 22 Apr 26, 14:00 PT. The alert fires: 11 negative signals in trailing 24h (vs 24h baseline of 1-2). Drill-down by signal type:
Signal sourceCountSample notes
Refund reasons matching “broken” / “damaged” / “leaked”7”Bottle leaked in transit”, “broken cap”, “wet box”
Low-rated reviews (Yotpo, ratings 1-2)3”Arrived smashed, won’t reorder”
Urgent support tickets1”Whole shipment damaged, need refund”
Total in 24h11
Five things to notice:
  1. The cause is concentrated. 7 of 11 signals mention damage/leaks; this is a packaging issue, not a quality issue. The brand received a new shipment of bottles 3 days ago; the new bottles may have a sealing defect.
  2. The signal is leading. At 14:00 PT, 11 signals have appeared. By tomorrow morning, social-media (Trustpilot, Reddit, Twitter) reviews will likely surface; today is the action window.
  3. Refund spike will follow. A 5-7× normal complaint volume on damage → expect Refund Rate to spike 2-3× over the next 7-10 days as customers process the experience and request refunds.
  4. The geographic clue. If the brand checks ZIP-code spread, complaints are concentrated in West Coast deliveries (which used a different carrier this week). Carrier or transit-route issue, not a product defect.
  5. Action: pause shipping ASAP. Hold all in-flight orders matching the same SKU + carrier combo. Re-package or re-ship via known-good carrier. The cost of holding orders is far less than the customer-trust cost of more damage complaints landing.

Sibling cards merchants should reference together

The negative-burst alert is the canary. The investigative cards:
CardWhy pair it with this alert
Refund RateThe lagging £-impact metric. A burst here predicts a refund-rate spike in 5-10 days.
Top Refunding CustomersDrill-down to the customers raising signals. Often pattern-clusters by SKU or batch.
Top Products by RevenueCross-reference: are complaints concentrated on a top-revenue SKU (real damage)?
Refund-Rate Spike AlertCompanion alert, focused on rate not signal count. Often fires within days of this.
Customer Feedback (Trustpilot) (when connected)External-review companion. Internal signal precedes external by 2-7 days.
Klaviyo unsubscribe rateUnsub spikes after large-scale negative experiences; signal here may forecast it.
Refunds Over TimeTrend chart that confirms whether the burst is a one-off or sustained.

Reconciling against the vendor’s own dashboard

Where to look in Shopify Admin: Shopify itself doesn’t expose a “negative signal burst” widget; reconstruct from:
  • Orders → Filter by recent refunds: shows refund records; manual scan of the Reason column reveals complaint-flagged refunds.
  • Inbox → Conversations: customer-service messages, not categorised by sentiment.
  • Reviews app dashboard (Yotpo, Loox, Judge.me, Stamped): rating-bucket breakdown and recent-review feeds; manually count <=2-star reviews in 24h.
Why our number may legitimately differ from a manual reconstruction:
ReasonDirectionWhy
Keyword-matching precisionEitherOur complaint regex catches “broken”, “damaged”, “leaked”, “wrong”, “missing”, “late”, “lost”, “wrong size”, “doesn’t work”. Custom complaint vocabulary may not be caught. Tune the regex per workspace if you operate in a non-English language or industry with specific failure modes.
Review app coverageOurs lower if not connectedWithout a connected reviews app, we miss the public-review signal entirely.
Support ticket integrationOurs lower if not connectedIf you use Gorgias, Zendesk, or Re:amaze and they’re not connected, we don’t see urgent-tagged tickets.
Time zoneBoundary 24h windowVortex IQ uses UTC; the 24h window can shift by a few hours vs store time zone.
Refund silent vs flaggedOurs lower than gross refund countWe count only refunds with note text. Silent refunds (no reason) aren’t counted as complaint signals.
Cross-connector reconciliation:
CardExpected relationshipWhat causes legitimate divergence
gorgias.gr_urgent_ticket_count (when connected)Direct signal sourceGorgias auto-tags urgent based on customer language. We pull these tickets into our count.
zendesk.zd_csat_score (when connected)Inverse correlationA burst on this card typically corresponds with a CSAT score dip in the next 7-14 days.
trustpilot.tp_review_score (when connected)LaggingExternal 1-star reviews appear 2-7 days after internal signal bursts.

Known limitations / merchant FAQs

Why is my threshold 5? Should I tune it? Yes, especially if your daily order volume is meaningfully different from a 1,000-order/day baseline:
  • <200 orders/day: 5 may be too high; even 2-3 in 24h is unusual. Set to 3.
  • 200-1,000 orders/day: 5 works.
  • >1,000 orders/day: 5 is too noisy; raise to 10-15.
  • >10,000 orders/day: 5 fires constantly; raise to 30+.
Configure in Nerve Centre → Alerts → Thresholds. Why am I getting false positives? Three usual causes:
  1. Discount-coupon redemption with the word “wrong” in custom note (e.g. “Customer entered wrong code”). Refine your refund-reason taxonomy.
  2. Test orders / staff training orders with playful complaint notes. Mark these as Order.test or filter by tag.
  3. Bulk customer migration / refund correction where you’re processing legitimate retroactive refunds. The note text triggers the regex even though the customer isn’t currently complaining.
My reviews aren’t connected, can the alert still fire? Yes, partially. The refund-note signal works without a reviews app. You’ll just miss the public-review signal, which means the alert under-counts. Connect a reviews app for full coverage. Why does the alert fire late on Friday afternoons? Customer-experience research consistently shows complaint-volume spikes on Fridays (customers process their week’s frustrations before the weekend). Don’t dismiss as noise; this is real signal. Does the alert distinguish between product-quality and shipping-related complaints? Not by default; both contribute to the signal. The drill-down breaks down by keyword cluster: “damage/leaked/broken” vs “size/fit” vs “late/lost”. Use the breakdown to triage which team responds (ops vs product vs customer-service). Should I respond publicly to negative reviews when this fires? Best practice: yes, within 24h, on the platform where the review appeared. Thoughtful responses are seen by 5-10× more potential customers than the original review. Keep the response brief, acknowledge the issue, offer a private channel (DM / email) for resolution. Don’t argue. Why does the alert fire on Mondays even when I haven’t shipped recently? Weekend-experience absorption. Customers received Friday-shipped orders over the weekend and process the experience by Monday morning. Sunday evening is a global complaint-submission peak. The Monday firing is real customer experience showing up; not a sync glitch. Can I differentiate signal severity? Limited: the alert is binary (fires or doesn’t). Severity comes from the breakdown:
  • Damage cluster spike: ops issue, packaging or carrier problem.
  • Late cluster spike: ops issue, fulfilment delay (cross-reference with Fulfilment Delay Alert).
  • Quality cluster spike: product issue, batch or QC problem.
  • Wrong-item cluster: pick error or PIM-mismatch.
Action playbook when this fires:
  1. Read the actual signals in the drill-down. The text reveals the cause.
  2. Cluster by keyword theme: damage, late, quality, fit, billing.
  3. Find the common variable: SKU, batch, carrier, region, date. There’s almost always a common cause.
  4. Pause the cause if possible: hold shipments of suspect SKU, switch carriers, contact warehouse for QC review.
  5. Email affected customers proactively with apology and remedy. Don’t wait for them to ask.
  6. Add product/batch/carrier QA before incidents repeat. Document the cause and prevention in your ops playbook.

Tracked live in Vortex IQ Nerve Centre

Customer Feedback Spike Alert is one of hundreds of KPI pulses Vortex IQ tracks across Shopify and 70+ other ecommerce connectors. Nerve Centre runs the detection layer; Vortex Mind investigates the cause when something moves; Ask Viq lets you interrogate any number in plain English. Start for free or book a demo to see this metric running on your own data.