Filters & Rules
Most pages look different on every load even when the content has not changed at all: rotating carousels, random ads, "updated 3 minutes ago" lines, visitor counters. Filters strip this noise out before the comparison, so you are only notified about meaningful changes without lowering the sensitivity.
Built-in Filters
The filters that are on by default for every monitor remove the iframe slots of known ad networks, cookie banners, live regions marked with aria-live and role="marquee" elements. You can turn them off in the monitor settings with builtin_filters: false.
Rule Types
| Rule | What it does | Example |
|---|---|---|
| ignore_selectors | Removes matching elements from the comparison entirely | .carousel, #ad-slot-top |
| ignore_patterns | Replaces regular-expression matches in the text with a fixed placeholder | Date, time, counter text |
| min_change | Sets a minimum score for one region, independent of the sensitivity | 0.2 for a comments section |
| stable_checks | Says in how many consecutive checks a change must be seen before it is reported | 2 for A/B tests |
ignore_patterns matches are not deleted but turned into the β
placeholder. That way the block hash stays the same when the date in "Last updated: 28 October" changes, but the text disappearing entirely still counts as a change.
Sample Configuration
{
"url": "https://news.example.com/announcements",
"interval": "6h",
"sensitivity": "normal",
"rules": {
"ignore_selectors": [".carousel", "#ad-slot-top", ".related-posts"],
"ignore_patterns": [
"\\d{1,2} (minutes|hours|days) ago",
"\\d{2}\\.\\d{2}\\.\\d{4} \\d{2}:\\d{2}",
"\\d+ people viewed"
],
"regions": [{ "selector": "#comments", "min_change": 0.2 }],
"stable_checks": 2
}
}url: https://news.example.com/announcements
interval: 6h
sensitivity: normal
rules:
ignore_selectors: [.carousel, '#ad-slot-top', .related-posts]
ignore_patterns:
- '\d{1,2} (minutes|hours|days) ago'
- '\d{2}\.\d{2}\.\d{4} \d{2}:\d{2}'
- '\d+ people viewed'
regions:
- selector: '#comments'
min_change: 0.2
stable_checks: 2stable_checks adds latency.A monitor with a value of 2 that is checked hourly reports a real change up to an hour later. For time-sensitive work such as price tracking, leave it at 1.
Noise-Hunting Tips
Open the diff of the false alarms in the monitor history; seeing which block changed is the fastest way to pick the right rule.
If the noise is outside the region you watch, narrow the selector; if it is inside, add a filter.