# How to choose ad alert thresholds

> A four-step method to set ad alert thresholds that fire on real problems: start from a baseline, add a buffer, pick a window and set a minimum spend.
- **Author**: Marxx
- **Published**: 2026-11-07
- **Category**: Alerts
- **URL**: https://marxx.ai/library-guides/how-to-choose-alert-thresholds

---

Choose each ad alert threshold from your own recent numbers: take the normal level over the last 30 days, add a buffer for normal swings, check it over a window that fits your spend, and skip anything below a minimum spend. Then adjust after two weeks based on what fired.

## The four-step method

1. **Baseline.** Find the normal value over the last 30 days. Leave out sale weeks and launches, which skew it.
2. **Buffer.** Add a margin so normal swings do not fire. 30% to 50% for costs, 20% to 30% for rates like CTR.
3. **Window.** Choose how many days the alert looks at. Shorter catches problems sooner but fires more on noise.
4. **Minimum.** Set the spend or impressions an ad set needs before the alert judges it.

## The formula

Threshold = baseline x (1 + buffer)

For metrics where lower is worse, such as CTR or ROAS, flip it: threshold = baseline x (1 − buffer).

## A worked example

Say Northwind Escapes runs Meta lead ads for Kerala tours. You want two alerts.

**Cost per lead alert**

- Baseline: last 30 days, INR 28,800 spent for 60 leads, so INR 480 per lead.
- Buffer: 40%. INR 480 x 1.4 = INR 672. Round to INR 675.
- Window: last 3 days.
- Minimum: 3 x baseline = INR 1,440. Round to INR 1,500.

**CTR alert**

- Baseline: 1.4% over the last 30 days.
- Buffer: 25% drop. 1.4% x 0.75 = 1.05%.
- Window: last 7 days.
- Minimum: 5,000 impressions.

| Alert | Fires when | Window | Minimum |
|---|---|---|---|
| Cost per lead | Over INR 675 | 3 days | INR 1,500 spend |
| CTR | Under 1.05% | 7 days | 5,000 impressions |

## Match the window to your spend

A window needs enough results inside it to mean something. Aim for at least 5 results per window on cost alerts.

If an ad set gets 2 leads a day, 3 days gives about 6 leads, which is enough. If it gets 1 lead every 2 days, use 7 days or more. If it gets 20 a day, yesterday alone works.

## Tune after two weeks

Look back at every time each alert fired.

| What you saw | What to change |
|---|---|
| Fired, but nothing was wrong | Widen the buffer by 10 points or lengthen the window |
| Missed a problem you found yourself | Tighten the buffer or shorten the window |
| Fired on tiny ad sets | Raise the minimum |
| Fired on the same known issue daily | Snooze it while the fix settles |

Keep changes small, one setting at a time, so you know what helped. The [CPA](/glossary/cpa) and [CTR](/glossary/ctr) pages explain the metrics, and [when to kill an ad](/guides/how-to-know-when-to-kill-an-ad) covers what to do once an alert proves a real problem.

We make Marxx. Its alerts let you set the metric, the threshold, a window such as "last 3 days" and a severity, then post to the client's Slack channel. Setup is in [Meta ads alerts in Slack](/guides/how-to-set-up-meta-ads-alerts-in-slack).

## FAQ

### Should I use my target CPA or my average CPA as the baseline?

Use your target if the account is new or far off target. Use the 30-day average once the account is steady, so the alert flags changes from normal.

### How often should I review thresholds?

Two weeks after you set them, then once a month, or after any big change in budget or offer.

### Can one threshold work for every client?

Rarely. A INR 300 lead and a INR 3,000 lead need different numbers, so set thresholds per client and per goal.

---
- [More Alerts articles](https://marxx.ai/library-guides/category/alerts)
- [All articles](https://marxx.ai/library-guides)