Skip to content

Monitors

A Monitor watches one page on a schedule: it recaptures it automatically and compares each new screenshot against a baseline, notifying you when something changes. Unlike manual captures, monitors always run server-side and only against a Production environment.

Creating a monitor

Field What it means
Page The single page this monitor watches. Each monitor watches exactly one page — to watch several pages, create a monitor per page.
Environment Must be marked Production (see Environments); non-production and browser-only environments aren't offered here.
Languages / Viewports Which language and viewport combinations to capture and compare each run.
Schedule How often it runs — hourly, daily, weekly, or a custom cron expression.
Watched region (optional) A CSS selector to scope captures to just one element instead of the full page, so sensitivity isn't diluted by unrelated changes elsewhere on the page.

Create monitor form: name, environment, page, languages, viewports

As you fill in the form, an Estimated usage panel updates live: how many screenshots one run produces, roughly how many runs per month at your chosen schedule, and the resulting monthly screenshot usage — flagging in red/amber if that would exceed your plan's per-run cap or remaining allowance.

Your plan limits how many enabled monitors a workspace can have at once (disabled/draft monitors don't count against this), and sets a minimum interval between runs — a schedule that fires too often for your plan is rejected.

Full create-monitor form including schedule, baseline, sensitivity, and estimated usage

Baselines

The baseline is the "before" screenshot each new capture is compared against.

Baseline strategy Behavior
Previous run Rolls forward automatically — the baseline becomes whatever was just captured, every run, whether or not a change was detected. This is the default.
Latest protected capture Uses the most recently protected/permanently-kept capture (or the most recent Wayback archive snapshot) instead of the last run.
Pinned (set manually) Locked to one specific past capture, set via Set as baseline on a past result or from the comparison viewer. Stays fixed until you pick a different strategy or pin a new one.

Once a monitor is pinned to a specific past capture, the Baseline dropdown shows it as a locked placeholder rather than letting you reselect "Previous run"/"Latest protected capture" directly — pick a different past result's "Set as baseline" action to replace it.

Sensitivity

Controls how big a visual difference has to be before you're notified:

Preset Threshold
Low 2% mismatch
Balanced 0.5% mismatch (default)
High 0.1% mismatch
Custom Whatever you set in "Notify above __% mismatch"

The "Notify above" field is always visible and editable, but it's only actually used when Sensitivity is set to Custom — on Low/Balanced/High, your notification threshold is the fixed preset percentage above, not this field's value. If you're not getting notified when you expect to (or the reverse), check which preset is active first.

A change other than a pure visual diff — the page's HTTP status changing, a new redirect appearing, or the page becoming unreachable — always counts as a change regardless of the mismatch percentage.

Ignoring known-noisy regions

If part of a page changes constantly for reasons you don't care about (a rotating banner, a live visitor counter), you can ignore that region so it stops triggering notifications. This is done from the comparison viewer after a run — select the noisy region on a detected change and choose "ignore this region," not from the monitor's own settings screen. An ignore rule can be scoped to just this monitor, to the page (so it applies across every monitor watching that page), or to the whole project.

Schedule

Pick Hourly, Daily, Weekly, or enter a custom cron expression directly. Runs are automatically spread out by a few minutes per monitor so a large batch scheduled for the same time (e.g. every monitor set to "daily at midnight") doesn't all fire in the same instant.

Running a monitor outside its schedule

  • Run now — triggers an immediate run without waiting for the schedule, and without needing the monitor to be enabled.
  • Run missing baselines — runs only the language/viewport combinations that don't have a baseline yet (e.g. after adding a new language), instead of recapturing everything.

A monitor only ever has one run active at a time. Triggering a new run while one is already in progress queues a single follow-up run rather than starting a second one in parallel or being lost.

Reading monitor status

Status shown Meaning
Enabled Running on schedule.
Paused Not running — either you disabled it, or it disabled itself (e.g. it has no valid scope, a run would exceed your plan's limits, or its domain isn't active on your current plan). The dashboard doesn't currently show which of these caused it, so if a monitor pauses unexpectedly, check your plan limits and the monitor's scope/environment first.
N recent failures The monitor's last few runs failed to complete (e.g. the page was unreachable). On the third consecutive failure you get an additional escalation notification.