Skip to content
Metric VaultHelp Center
Open app

Why didn't my alert fire?

A four-step diagnosis for a missing alert or report: is it set up, was it due, did the background job run, and did delivery succeed.

Last updated 2026-09-10

Summary#

An alert has four chances to go missing: it was never set up the way you think, nothing was actually due, the background job did not run, or the delivery failed. Work through them in that order, because each one rules out the ones after it. Most missing alerts are settled in the first two steps, and you can check both yourself in under a minute.

Symptoms#

  • A competitor page visibly changed but nothing appeared in the notifications feed.
  • A keyword dropped several positions and no rank alert arrived.
  • No email arrived from a scheduled report, or the report never ran.
  • The Competitor Monitor card reads Watchtower alert channels / Not configured — changes detected but no alerts sent.
  • The Rank Alerts screen promises a Slack ping and none arrives.
  • A scheduled social post is still marked Scheduled well after its time.
  • The notifications feed reads All caught up — no new alerts. on an account that has monitoring set up.
  • An AI visibility drop alert never emailed, even though the chart shows a fall.
  • A monitored URL shows a last-scan time from days ago.
Screenshot
The Competitor Monitor screen showing the Watchtower alert channels card reading "Not configured — changes detected but no alerts sent".

Diagnosis#

Step 1 — Is it set up the way you think?#

The most common cause is not a fault. It is that the alert you expected has no delivery channel attached, or a preference is switched off.

Start with the two switches. Dashboard → Account & Team → Account → Preferences carries four notification switches. Two of them silence in-app items, and two gate the only two automation emails that exist.

SwitchOff means
Competitor AlertsCompetitor changes are removed from the bell panel and the Alerts Hub. They are still recorded
SEO Score AlertsRank drops are removed from the feed, and AI Visibility drop emails stop
Email NotificationsScheduled report emails and AI Visibility drop emails stop
Weekly DigestNothing. No weekly digest is sent today

See Notification preferences.

Then check the delivery channel on the item itself. This is where expectations most often outrun the setup.

You expectedIt is delivered whenWhere that is configured
A competitor change in the appAlways, if Competitor Alerts is onNothing to configure
A competitor change by Slack, webhook or emailA channel is stored on that monitored URLNot configurable from the dashboard today. The card on the Competitor Monitor screen says so: Not configured — changes detected but no alerts sent
A rank drop in the appAlways, if SEO Score Alerts is onNothing to configure
A rank drop by Slack, webhook or emailA channel is stored on that alertThe Rank Alerts form collects a keyword, a domain and a drop threshold only. It does not collect channels
A scheduled report emailThe schedule has a recipient address and Email Notifications is onThe Email Report To field when you create the schedule. A schedule with it blank shows in-app only in the schedule list
An AI Visibility drop emailBoth Email Notifications and SEO Score Alerts are onThe alert row in AI Tracking Settings → Alerts
Important

Important: Competitor changes and rank drops always land in the notifications feed. If you have been waiting on an email or a Slack message for either of those, stop waiting and check the feed. See Notifications and alerts hub and Every notification you can receive.

Finally, confirm the item exists at all. Open the tool and look:

  • Competitor Monitor — is the URL in the Monitored URLs tab?
  • Rank Alerts — is the keyword in Tracked Keywords?
  • Scheduled Reports — is the schedule in Your Active Schedules?
  • Social Dashboard — is the post in Scheduled posts? The card is hidden entirely when the queue is empty.
  • AI Tracking Settings → Alerts — is the alert listed, with the threshold you expect?

Step 2 — Was there anything due, and anything to report?#

An alert that correctly decided nothing had happened looks identical to one that never ran.

The first check never alerts. Every monitor stores a baseline before it can compare anything.

AutomationWhy the first pass is silent
Competitor MonitorThe first check captures the page as it is. There is no earlier snapshot to compare it against
Rank AlertsThe first check records the current position. A drop needs a previous position
AI visibility drop alertNeeds a previous measured value

The threshold may not have been crossed.

AutomationFires only when
Rank AlertsThe position got worse by at least the alert's drop threshold, 5 by default, or the keyword was in the top 10 and no longer ranks
AI visibility alertThe visibility percentage fell by at least the threshold, 15 points by default, since the previous measurement
Competitor Monitor, external channelsThe change was graded at or above the severity gate on that URL

A keyword that moved from #4 to #7 with a threshold of 5 is working correctly and will not alert.

The interval may not have elapsed. Check the elapsed time against the real cadence, which is on Automation limits and frequency. The short version: monitored URLs every 6 hours, rank alerts every 24 hours, AI visibility about every 22 hours, scheduled reports weekly, social posts at their set time.

The item may not be in the current rotation. AI visibility measures the five most recently used brands per pass. Track more than five and the least recently used stop being measured until you run a tool on them again.

Step 3 — Did the background job run?#

Every automation records when it last touched an item, and the app shows those timestamps. This is the fastest evidence that the machinery is alive.

Where to lookWhat it showsHealthy looks like
Competitor Monitor, the LAST SCAN figureTime since the most recent check across your URLsUnder 6 hours
Competitor Monitor, Monitored URLs tabEach URL's own last checkEach under its interval
Rank Alerts, Tracked KeywordsLast check per keywordUnder 24 hours
Scheduled Reports, the Next run columnWhen each schedule is next dueA time in the future
Social Dashboard, Scheduled postsBadges reading Scheduled, Sending…, Posted, FailedAnything past its time is no longer Scheduled
AI visibility trend chartOne point per measured dayA point for most recent days

If one item is stale and the rest are current, the scheduler is fine and the problem is with that item. A URL that returns an error is still stamped as checked so it does not block the queue, so a URL that consistently reports no changes may be failing to load. Open it in a browser: a page behind a login, a bot challenge or geo-blocking cannot be read.

If everything is stale at once, the background scheduler is not reaching the platform. Nothing you can change on your side will fix that, and nothing you set up will be lost — the jobs pick up all outstanding work as soon as they run again. Contact support with a screenshot of the stale timestamps. See Contacting support.

Note

Note: Volume is not usually the cause. Each pass takes the longest-waiting items first, and the scheduler runs several times an hour, so a large set of monitored URLs is processed in rotation rather than dropped.

Step 4 — Did delivery succeed?#

Only two automation emails reach a customer today: scheduled report ready and AI Visibility drop. If you are diagnosing a missing email that is not one of those two, go back to Step 1 — it is not a delivery problem.

CheckDetail
The recipient addressScheduled report emails go to the address on the schedule, not to your account address. A typo sends the email somewhere real and silent
Spam and quarantineAutomation email arrives from a metricvaultai.com sender. Corporate filters commonly hold it the first time
Both switchesThe AI Visibility drop email needs Email Notifications and SEO Score Alerts on at once
The 24-hour cooldownAn AI Visibility alert emails at most once a day per alert. A second fall the same day is not emailed
Platform email configurationIf email sending is not configured on the platform, alerts are skipped silently rather than reported as errors. Everything else, including the in-app feed, keeps working

For a scheduled report specifically, see My scheduled report never arrived.

For a scheduled social post that reads Failed, the queue does not show which channel refused it. Press Publish on the same text to get the per-channel result immediately, which names the real cause, usually an expired connection. See Scheduled social posts.

Resolution#

Work down the list and stop when the answer appears.

  1. Open the notifications feed first. Track & Report → Notifications & Alerts Hub, filter set to All. If the alert is there, this was never a detection problem, only a delivery expectation. See Notifications and alerts hub.
  2. Turn the two feed switches back on. Account → Preferences. Competitor Alerts and SEO Score Alerts each silence a whole class of item.
  3. Confirm the item exists in its own tool, and that its threshold and severity gate are what you expected.
  4. Give it one full cycle. Six hours for a monitored URL, 24 hours for a keyword, about a day for AI visibility. New items need two cycles, because the first stores a baseline.
  5. Check the last-run timestamps listed in Step 3. One stale item points at that item; everything stale points at the scheduler.
  6. Test the source page. Open the monitored URL in a private browser window. If it needs a login or shows a challenge page, it cannot be monitored.
  7. Add a recipient address to a schedule that only shows in-app only, and confirm Email Notifications is on.
  8. Reconnect a social channel whose posts fail, then use Publish once to confirm it works before scheduling more.
  9. Re-run by hand to prove the pipeline. Competitor Monitor and Rank Alerts both have an immediate check; running one confirms detection independently of the schedule.
  10. Contact support with the tool name, the item, the timestamps you read in Step 3 and what you expected. See Contacting support.
Warning

Warning: Do not delete and re-create a monitored URL or a rank alert to "reset" it. Re-creating starts the baseline again, which guarantees another silent first cycle and discards the history that makes the trend readable.

Quick reference by symptom#

SymptomMost likely causeWhere to confirm
Competitor change visible on the page, nothing in the feedFewer than 6 hours since the last check, or this was the first checkMonitored URLs tab, last-check column
Competitor change in the feed, no email or Slack messageNo channel is stored on the URL, and the dashboard has no form for oneThe Not configured card on the Competitor Monitor screen
Rank dropped, no alertThe drop was smaller than the thresholdThe alert's drop threshold
Rank drop in the feed, no Slack pingRank alerts created in the app store no channelsEvery notification you can receive
Scheduled report never ranIt was created less than a week ago, or the account is on FreeThe Next run column; Free cannot create schedules
Scheduled report ready, no emailNo recipient address on the schedule, or Email Notifications is offThe schedule row reads in-app only
AI visibility fell, no emailBelow threshold, within the 24-hour cooldown, or one of the two switches is offThe alert row and Account preferences
AI visibility not measured for daysThe brand is outside the five most recently usedRun the tool on that brand
Social post still Scheduled past its timeUnder about fifteen minutes is normal; longer is notThe queue badge
Social post reads FailedEvery selected channel refused it, usually an expired connectionPress Publish on the same text
Feed reads All caught up — no alerts here.A filter pill is activeSelect All
Nothing has run at all, across every toolThe background scheduler is not reaching the platformContact support

Prevention#

  • Decide where each alert should land before you create it. Competitor changes and rank drops land in the app. Scheduled reports can email a named recipient. AI visibility drops email you. Anything else is not a delivery path that exists today.
  • Put a recipient address on every schedule you actually want emailed. A blank field is the single most common reason a report "never arrived".
  • Leave the notification switches on unless you are deliberately quieting something, and note what you switched off. A switch flipped six months ago is invisible when you are debugging today.
  • Set thresholds to the movement you care about, not the smallest movement you can detect. A threshold of 3 positions on a volatile keyword produces daily noise, and noise gets muted, and muted alerts get missed.
  • Keep the tracked brand set at five or fewer if you want each one measured every day.
  • Check the connected channels on the Social Dashboard before scheduling a batch. An expired connection only announces itself after a post has already failed.
  • Read the last-scan figures occasionally. They are the cheapest health check in the product, and they make a real outage obvious within a day rather than a fortnight.
  • Do not look for the Webhooks or No-Code Automation screens. Neither is built and neither is in the menu any more. For webhooks that do fire today, see Webhooks.

See also

Was this article helpful?