# Alert Types



VitalSentinel supports alerts across all monitoring modules. This guide covers every available alert type and when to use them.

## Uptime Alerts [#uptime-alerts]

[Uptime Monitoring](/features/uptime-monitoring) alerts use predefined configurations. Select from these available alert types:

### Available Presets [#available-presets]

| Alert                         | Severity | Description                            |
| ----------------------------- | -------- | -------------------------------------- |
| Site is down                  | Critical | Triggers when site becomes unreachable |
| Site is up (recovery)         | Info     | Triggers when site recovers            |
| SSL will expire in 14 days    | Warning  | SSL expiration warning                 |
| SSL will expire in 7 days     | Critical | Urgent SSL expiration                  |
| Domain will expire in 14 days | Warning  | Domain expiration warning              |
| Domain will expire in 7 days  | Critical | Urgent domain expiration               |

## RUM Alerts [#rum-alerts]

[RUM Monitoring](/features/rum-monitoring) tracks real user performance metrics. See [Performance Thresholds](/features/performance-thresholds) for detailed rating breakdowns.

### LCP (Largest Contentful Paint) [#lcp-largest-contentful-paint]

| Threshold   | Rating            |
| ----------- | ----------------- |
| ≤ 2500ms    | Good              |
| 2500-4000ms | Needs Improvement |
| > 4000ms    | Poor              |

**Example:**

```
If LCP p75 > 2500ms → Warning
If LCP p75 > 4000ms → Critical
```

### CLS (Cumulative Layout Shift) [#cls-cumulative-layout-shift]

| Threshold | Rating            |
| --------- | ----------------- |
| ≤ 0.1     | Good              |
| 0.1-0.25  | Needs Improvement |
| > 0.25    | Poor              |

**Example:**

```
If CLS p75 > 0.1 → Warning
If CLS p75 > 0.25 → Critical
```

### INP (Interaction to Next Paint) [#inp-interaction-to-next-paint]

| Threshold | Rating            |
| --------- | ----------------- |
| ≤ 200ms   | Good              |
| 200-500ms | Needs Improvement |
| > 500ms   | Poor              |

**Example:**

```
If INP p75 > 200ms → Warning
If INP p75 > 500ms → Critical
```

### TTFB (Time to First Byte) [#ttfb-time-to-first-byte]

| Threshold  | Rating            |
| ---------- | ----------------- |
| ≤ 800ms    | Good              |
| 800-1800ms | Needs Improvement |
| > 1800ms   | Poor              |

**Example:**

```
If TTFB p75 > 800ms → Warning
```

### FCP (First Contentful Paint) [#fcp-first-contentful-paint]

| Threshold   | Rating            |
| ----------- | ----------------- |
| ≤ 1800ms    | Good              |
| 1800-3000ms | Needs Improvement |
| > 3000ms    | Poor              |

**Example:**

```
If FCP p75 > 1800ms → Warning
```

### Error Rate [#error-rate]

Percentage of page views with JavaScript errors.

**Example:**

```
If Error Rate > 5% → Warning
```

## CrUX Alerts [#crux-alerts]

[CrUX Monitoring](/features/crux-monitoring) tracks Chrome User Experience Report data with custom threshold alerts.

### Available Metrics [#available-metrics]

| Metric   | Good     | Needs Improvement | Poor     |
| -------- | -------- | ----------------- | -------- |
| LCP p75  | ≤ 2500ms | 2500-4000ms       | > 4000ms |
| CLS p75  | ≤ 0.1    | 0.1-0.25          | > 0.25   |
| INP p75  | ≤ 200ms  | 200-500ms         | > 500ms  |
| TTFB p75 | ≤ 800ms  | 800-1800ms        | > 1800ms |

### Configuration Options [#configuration-options]

* **URL/Origin**: Monitor specific URL or entire origin
* **Device**: Any, Phone, or Desktop

**Example:**

```
If LCP p75 > 2500ms (Origin, Any device) → Warning
If INP p75 > 200ms (Origin, Phone) → Warning
```

<Callout type="info">
  CrUX data is based on real user metrics collected over 28 days.
</Callout>

## Synthetic Alerts [#synthetic-alerts]

[Synthetic Monitoring](/features/synthetic-monitoring) runs Lighthouse tests with custom thresholds.

### Available Metrics [#available-metrics-1]

| Metric           | Default Threshold | Description              |
| ---------------- | ----------------- | ------------------------ |
| TTFB             | 800ms             | Time to First Byte       |
| FCP              | 1800ms            | First Contentful Paint   |
| SI               | 3400ms            | Speed Index              |
| LCP              | 2500ms            | Largest Contentful Paint |
| TTI              | 3800ms            | Time to Interactive      |
| TBT              | 200ms             | Total Blocking Time      |
| CLS              | 0.1               | Cumulative Layout Shift  |
| Network Requests | 100               | Total network requests   |

### Configuration Options [#configuration-options-1]

* **URL**: Select which monitored URL to track
* **Device**: Any, Phone, or Desktop
* **Evaluation Window**: Average of last 1, 3, 5, or 10 tests

**Example:**

```
If LCP > 2500ms (avg last 5 tests) → Warning
If TBT > 200ms (avg last 3 tests) → Warning
If CLS > 0.1 (last test) → Critical
```

## Robots.txt Alerts [#robotstxt-alerts]

[Robots.txt Monitoring](/features/robots-txt-monitoring) alerts use predefined configurations. Select from these available alert types:

### Available Presets [#available-presets-1]

| Alert                          | Severity | Description                                       |
| ------------------------------ | -------- | ------------------------------------------------- |
| Robots.txt file changed        | Info     | Notifies when file content changes                |
| Robots.txt has syntax errors   | Critical | Triggers when parsing errors detected             |
| Robots.txt blocks sitemap URLs | Warning  | Triggers when robots.txt blocks URLs from sitemap |

## Search & Traffic Alerts (Percentage Change) [#search--traffic-alerts-percentage-change]

[Google Search Console](/features/google-search-console), Indexing, [Web Analytics](/features/web-analytics), and [Google Analytics](/features/google-analytics) alerts don't use fixed thresholds. Instead, they compare the current period against the previous one and trigger on relative change. These modules support three operators:

| Operator                   | Triggers when                                                                   |
| -------------------------- | ------------------------------------------------------------------------------- |
| Decreased by more than (%) | The metric drops by more than X% vs. the previous period                        |
| Increased by more than (%) | The metric rises by more than X% vs. the previous period                        |
| Anomaly (std. deviations)  | The metric deviates from its rolling average by more than N standard deviations |

Each rule takes a **comparison window** (1, 3, 7, 14, or 28 days) that sets both the current period and the baseline it is compared against.

### Google Search Console [#google-search-console]

| Metric               | Notes                  |
| -------------------- | ---------------------- |
| Clicks               | Web search clicks      |
| Impressions          | Web search impressions |
| Click-Through Rate   | Web search CTR         |
| Discover Clicks      | Google Discover        |
| Discover Impressions | Google Discover        |
| News Clicks          | Google News            |

**Example:**

```
If Clicks decreased by more than 30% (7-day window) → Warning
```

### Indexing [#indexing]

Alerts on the number of pages in each Google index-coverage state (Submitted and indexed, Crawled - currently not indexed, Discovered - currently not indexed, Not found (404), Server error (5xx), Blocked by robots.txt, and more).

**Example:**

```
If "Submitted and indexed" decreased by more than 15% (7-day window) → Critical
```

### Web Analytics [#web-analytics]

| Metric                |
| --------------------- |
| Visitors              |
| Sessions              |
| Pageviews             |
| Bounce Rate           |
| Avg Session Duration  |
| Avg Scroll Depth      |
| Ecommerce Revenue     |
| Ecommerce Conversions |

**Example:**

```
If Visitors decreased by more than 30% (7-day window) → Warning
```

### Google Analytics [#google-analytics]

| Metric               |
| -------------------- |
| Users                |
| Sessions             |
| Bounce Rate          |
| Engagement Rate      |
| Avg Session Duration |

**Example:**

```
If Users decreased by more than 30% (7-day window) → Warning
```

## Recommended Alert Sets [#recommended-alert-sets]

Use the **Create essential alerts with one click** feature on the Alerts page to automatically create these recommended alerts across every module.

### What Gets Created [#what-gets-created]

**RUM Monitoring** (p75 within last 24h, Warning, in-app only):

* LCP > 2.5s
* CLS > 0.1
* INP > 200ms

**CrUX Monitoring** (p75 within last 7 days, Origin, Warning, in-app only):

* LCP > 2.5s
* CLS > 0.1
* INP > 200ms

**Synthetic Monitoring** (Home URL, avg of last 5 tests, Warning, in-app only):

* LCP > 2.5s
* CLS > 0.1

**Uptime Monitoring** (with email):

* Site is down (Critical)
* Site is up / recovery (Critical)
* SSL will expire in 14 days (Warning) and 7 days (Critical)
* Domain will expire in 14 days (Warning) and 7 days (Critical)

**Robots.txt Monitoring**:

* Has syntax errors (Critical, with email)
* Blocks sitemap URLs (Warning, with email)
* File changed (Info, in-app only)

**Google Search Console** (% change over 7 days, Warning, in-app only):

* Clicks dropped > 30%
* Impressions dropped > 30%

**Indexing Monitoring** (% change over 7 days, Critical, in-app only):

* Indexed pages dropped > 15%

**Web Analytics** (% change over 7 days, Warning, in-app only):

* Visitors dropped > 30%

**Google Analytics** (% change over 7 days, Warning, in-app only):

* Users dropped > 30%

## Related [#related]

<Cards>
  <Card title="Setting Up Alerts" href="/alerts/setting-up-alerts">
    Create your first alert
  </Card>

  <Card title="Notifications" href="/alerts/notifications">
    Configure notification delivery
  </Card>

  <Card title="Performance Thresholds" href="/features/performance-thresholds">
    Understand metric ratings and thresholds
  </Card>
</Cards>
