Analytics & Reporting

Campaign Alerts

Detects ad-spend pacing problems — underspend, overspend, stopped, paused-with-budget, stale-sync and zero-conversion — then posts a daily Slack budget review plus real-time critical alerts.

01

The Gap This Closes

The feature was built around a real failure mode: a SEM campaign running well below its monthly budget for weeks without anyone noticing until the client asked why results were down. Scheduled syncs were working, but nobody was looking at pacing against budget — just at results. The ad-spend health analyser runs daily across every active campaign and compares projected month-end spend against allocated budget, catching underspend and overspend early enough to act on them.

02

Six Pacing and Delivery Signals

The analyser detects six distinct conditions across Meta and Google campaigns. Underspend: campaign is tracking well below its budget pace and will likely leave significant spend on the table by month-end. Overspend: projected to exceed the monthly budget before the month ends. Stopped: a campaign that had consistent recent spend has gone to zero — could be an accidental pause, a payment issue, or a platform policy flag. Paused-with-budget: a campaign is paused or removed at the platform level but budget is still allocated in the system, meaning the client is potentially expecting delivery that is not happening. Stale-sync: the spend data has not refreshed recently enough to trust pacing calculations — this alert prompts a manual sync before acting on the numbers. Zero-conversion: a campaign is spending real budget but recording no conversions, which could mean a tracking breakage, a landing-page issue, or a targeting problem.

03

Daily Slack Budget Review

Each morning at 9am tenant-local time (configurable in Settings → Budget Alerts), a Budget Review message is posted to your configured Slack channel. The digest covers every client and campaign with a detected pacing issue — grouped by severity — so your media buying team starts the day with a clear list of what needs attention. The webhook URL is set once in Settings and the timing can be adjusted to match your team's morning standup. Critical issues also trigger an immediate real-time Slack alert outside the daily window — a stopped campaign at 2pm does not wait until the next morning digest.

04

Accountability Tasks

For each critical pacing issue, the system can optionally create an accountability task assigned to the responsible media buyer, due in 24 hours. This bridges the gap between detection and resolution — the alert is not just a notification that gets buried, it becomes a tracked work item with an owner and a deadline. Tasks are created through the existing work management system so they appear in the assignee's board and notifications alongside their other work.

05

Connecting Slack in Two Minutes

Setup is a one-time, no-code step. In Slack, create an Incoming Webhook for the channel your media buyers watch, copy the generated https://hooks.slack.com/services/… URL, and paste it into Settings → Budget Alerts — an in-app guide walks you through it. Pick the hour your daily review should land, then send a test message to confirm it posts. From there the daily digest and real-time critical alerts flow automatically with no per-campaign configuration, and you can toggle the digest, real-time alerts, and accountability tasks independently whenever you like.

Ready to see it in action?

Get Started