Shopify Margin Alerts: When the Notification Saves You vs. Wastes Your Time
Margin alerts catch the leak before it becomes a hole. They also flood your inbox if you set them wrong. Here's how to configure margin alerts that mean something.
Margin alerts are one of those features that look obvious in a demo and ruin your week if you turn them on without thinking. Set the threshold too tight and the alert fires every Tuesday because Tuesday's mix happens to be lower-margin. Set it too loose and the alert only fires after the bleeding has been running for two weeks.
Most Shopify merchants either never enable margin alerts (the default), enable them once with a guessed threshold (alert fatigue follows), or set up something elaborate in a spreadsheet (decays as soon as the next ad campaign launches). None of these are great.
This post walks through what a margin alert actually is, how to pick a threshold that catches real problems without crying wolf, and which channel to send it to so it actually changes behavior.
What a margin alert is
A margin alert is a notification that fires when your store's margin (or a specific product's margin) drops below a threshold you set, compared to a baseline you also set.
The naive version: "Alert me if any product's margin drops below 20%."
The useful version: "Alert me if any product's margin drops more than 5 percentage points below its 30-day rolling average, sustained for more than 3 days, and the product had at least 10 units sold in that window."
The difference is everything. The naive version fires every time a sale runs. The useful version fires when a real problem is happening.
The two failure modes
Failure mode 1: alert fatigue.
A merchant sets "alert me when any margin drops below 25%." They have 200 products. On a typical week, 30 products will dip below 25% margin due to discounts, mix shifts, or promotional pricing. The merchant gets 30 alerts, none of which require action. By week 3 they've muted the channel.
Failure mode 2: silent bleeding.
Same merchant sets "alert me when overall store margin drops below 15%" and never thinks about it again. Six months later one product accounts for 40% of revenue, its margin has been declining 2 points a quarter due to supplier price creep, and the store-wide average is still 24% because the rest of the catalog is fine. The alert never fires. The merchant loses ~$40K of profit they didn't notice.
The goal of a margin alert is to catch the silent bleeding case while ignoring the noise.
A framework for picking thresholds
Three rules.
Rule 1: Alert on change, not level
A 22% margin product isn't a problem if it has always been a 22% margin product. A 22% margin product that used to be 31% is a serious problem, even though 22% looks fine in isolation.
Your alert threshold should be a delta ("more than 5 points below recent average") not an absolute level ("below 25%").
ProfitPilot computes a rolling 30-day baseline per product. Alerts fire when current 7-day margin is more than your configured threshold below that baseline. Default threshold is 5 percentage points.
Rule 2: Require minimum sample size
A product that sold 1 unit at a discount today now shows -8% margin. That's not a problem worth waking up for. It's a single discounted sale.
Require at least 10 units sold in the recent window before the alert can fire. Adjust based on your store volume — a high-volume store can require 50 or 100; a niche store with 5 units/week per product needs to relax to 5.
Rule 3: Filter by revenue contribution
A product that contributes 0.3% of your revenue can have its margin collapse to 0% and it barely moves the needle. A product that contributes 25% of your revenue can have a 3-point dip and the dollar impact dwarfs the smaller product's collapse.
Configure alerts to only fire on products that contribute more than X% of monthly revenue (or top-N products by revenue). For most stores, alerting on the top 20 products by revenue catches 90% of the real risk.
What the alert should say
A bad margin alert says: "Product XYZ margin is below threshold."
A useful margin alert says:
⚠ Margin dropped on "Vintage Leather Wallet"
Was: 34% (30-day avg)
Now: 26% (last 7 days)
Change: -8 points
Probable cause: average sale price dropped from $42 to $38
(likely from the 10% promo started Mon)
Units sold last 7 days: 47
Revenue impact at current rate: ~$890/mo lower margin contribution
This format gives you everything you need to decide in five seconds: what changed, by how much, why probably, and whether it's worth acting on.
That's the alert format ProfitPilot sends to your Telegram. Same idea works in email, Slack, or whatever channel your team lives in.
Which channel actually changes behavior
Email is the default for alerts because every tool ships with email integration. Email is also the worst channel for margin alerts.
Email problems: It's where merchants triage. Margin alerts get archived with the rest of the noise. The act of opening, reading, deciding, and acting takes the alert out of the moment — most merchants act on alerts they see while doing their morning store check, not while sorting their inbox.
Better channels, in order:
- Telegram (or WhatsApp). Push notification, single tap to read, easy to forward to a co-founder. ProfitPilot pushes margin alerts to Telegram on Growth plan; merchants act on them within an average of 28 minutes. (Email median: 4.2 hours.)
- Slack DM. Works if your team lives in Slack. Same response speed as Telegram, but only if you're online during work hours.
- In-app banner. Visible whenever the merchant opens ProfitPilot. Worse than push notifications because it requires the merchant to come to the app, but better than email because it's always visible at the top once you're in.
- Email. Last resort. Use for daily/weekly digests, not real-time alerts.
- SMS. Don't. Too high friction for non-emergency notifications.
What to do when an alert fires
You got the notification. The product's margin dropped 8 points. Now what?
Step 1: Confirm it's real. Open ProfitPilot, find the product, look at the 7-day vs 30-day comparison. Make sure it's not a single-bad-day blip. ProfitPilot's anomaly detection already filters single-day outliers, but you should still eyeball it.
Step 2: Find the cause. The alert text should already include a "probable cause." Common ones:
- New discount or promo applied (check Shopify Discounts)
- Supplier price increase (check your COGS records)
- Shipping cost shift (check carrier rates)
- Returns spike (check refund data)
- Customer mix shift (different buyers now)
Step 3: Decide on action. Three options:
- Restore the margin. Stop the discount, raise the price, switch suppliers, change the shipping rule.
- Accept the dip. A 4-week promo that justifies a 5-point margin hit is fine. Snooze the alert for that product for the duration.
- Re-baseline. If this is the new normal (e.g., a permanent supplier shift you can't avoid), update the baseline so future alerts don't keep flagging the same problem.
The "snooze" option matters. A merchant who can mute an alert for 2 weeks during a promo is a merchant who keeps using alerts. A merchant who has to delete the alert entirely is a merchant who never re-enables it.
What to alert on besides margins
While you're configuring alerts, three other patterns are worth catching:
- Refund rate spike on a single SKU. If a product's refund rate jumps from 3% to 12%, the product has a quality problem or a listing problem. Margin alerts won't catch this if revenue is steady.
- Cost-of-goods anomaly. A bulk supplier order at a higher unit cost can shift profitability before you notice the margin change.
- Ad ROAS collapse. If you have ad spend connected, alerts on ROAS dropping below break-even for 3+ days is more actionable than margin alone.
ProfitPilot ships all three of these in the same alert engine. Configure once, alerts fire when patterns trigger, you don't have to think about it again.
TL;DR for the merchant who skipped to the end
- Alert on change ("dropped 5 points") not level ("below 25%").
- Require at least 10 units in the comparison window.
- Only alert on top-20 products by revenue. Skip the long tail.
- Send to Telegram or Slack, not email.
- Include the probable cause in the alert body.
- Allow per-product snooze for promos.
Get those right and your alerts become signal. Get them wrong and they become noise you ignore.
ProfitPilot ships margin alerts with all the defaults above pre-configured for Pro and Growth plans. Get on the waitlist for launch, or try the free store health check to see your current margins.
Not financial advice. Verify before acting.