Automated alerts for Facebook ads
Most Facebook ads alerts get muted within a month. How to decide which events deserve a push, which belong in a daily brief, and which belong nowhere.
Most Facebook ads alerts get muted within a month. How to decide which events deserve a push, which belong in a daily brief, and which belong nowhere.
The channel was called #ads-alerts and nobody had read it since March. Last Tuesday it fired eleven times. Three were the same ad set crossing a cost threshold in both directions inside an hour. One, in the middle of the pile, was a campaign that had spent four days of budget before lunch. Everybody saw the first ten. Nobody saw the eleventh.
Short answer: Automated alerts for Facebook ads are a design problem before they are a setup problem. Give a push notification only to events that are urgent, unambiguous and actionable: spend running away, frequency climbing. Everything slower belongs in one daily brief, and every alert you keep needs a named action attached to it.
The takeaways
Three tiers, and most accounts only build the first. Tier one is a push: money is burning or something is broken, and a person should stop what they are doing. Tier two is a daily read, everything that matters but keeps until morning. Tier three is the dashboard, where a number lives without being sent anywhere.
My test is embarrassingly low-tech. Would I leave a client call for this? If not, it does not belong in the push channel, and filing it there anyway makes the channel unreadable. I sent everything to tier one for years because that felt responsible. What it produced was a muted Slack channel and a buyer still opening Ads Manager six times a day.
A threshold alert fires when a number crosses a line you picked. Cheap, dumb, honest about what it is. A change alert fires when something moves against its own recent behaviour: the same ad last week against the same ad today. They catch different failures.
Thresholds are blind to decay. An ad sitting at a 1.2% click-through rate looks fine against any static line you would write, right up until you notice it was at 2.4% eleven days ago and has been sliding since. The level was never the problem. The slope was.
Change alerts have the opposite blind spot: an ad that has been quietly terrible since launch never moves, so nothing fires. Frequency past 3.5x is a threshold question. A halved click-through rate over five days is a change question. Write both.
Because you set it below the noise floor. Take an ad set spending €160 a day at four purchases, so €40 a purchase. A day with three purchases instead of four is weather, not news, and it puts you at €53. That is a third more, produced by one buyer who went to bed early.
Set the alert at €50 and it trips whenever the day lands on three, which on a small ad set is most weeks. The rule is working perfectly. It is reporting the variance you built in by running a low-volume conversion event.
Two ways out. Measure over a window long enough to accumulate volume, a rolling three or seven days instead of yesterday. Or alert on something that already has the volume: spend, impressions and frequency grow with every delivery, so they barely bounce. Purchases do not.
Spend and frequency, in most accounts. Both accumulate continuously, so a move usually means something happened. Both arrive with the action already attached: runaway spend means cap or pause, climbing frequency means rotate the creative. An alert whose only instruction is "go and look" is decoration.
Click-through rate, cost per acquisition and return on ad spend almost never earn a push. They bounce on small counts, they move for reasons that live in the market and outside your account, and the honest response to any of them is ten minutes in the data. Morning-brief material.
One caveat on spend: a percentage-of-budget alert cannot see a mistyped budget, because the typo becomes its baseline. The absolute ceiling that does catch it is in how to prevent ad account overspend.
Run it for a week without letting it do anything. Meta's automated rules let you pick a notification as the rule's action, so it evaluates on schedule and reports what it would have done while the campaign stays untouched. The wording in the builder moves between releases, so open the action dropdown and read what is there.
Then count. Fourteen firings in seven days means the threshold sits inside the noise, so widen it or lengthen the window. Zero firings means it is decorative, and you learned that for free. You want rare enough that a notification makes you look up, frequent enough that it would have caught something real last month. The dry run is also the cheapest protection against what rules do once they can act, which I went through in the automated rules that backfire.
Whether you have a problem. An alert reports that a number moved. It cannot tell you whether your creative died or the whole market got expensive on the same Tuesday. It buys you the timing; the diagnosis stays yours, and any tool claiming otherwise is selling certainty it does not have.
What software can do is shorten the gap between the event and the human. Adscalr checks pacing every five minutes and stages the alerts: runaway at 150% of cap, overspend at 110%, underspend below 70% after midday. Urgent events arrive as one of 11 event types, and everything slower folds into a role-based morning brief in your own timezone. Rules default to recommendations, full-auto is opt-in, and one-tap Telegram controls write to the Meta API with kills reversible for 24 hours.
That split is the idea behind how automation is built here. The software watches the clock. You still make the call.
This is the thinking behind Adscalr.
See the product →