Skip to main content

Conditional Monitoring

Conditional Monitoring allows you to set rules that determine when notifications should be sent. Instead of getting alerted for every change, you can filter notifications based on specific conditions - like price thresholds, keyword presence, or numeric values. Conditional monitoring configuration

What is Conditional Monitoring?

Conditional monitoring adds intelligent filtering to change detection. While change detection finds what changed, conditions determine whether to notify based on the changed content.
How it works
  1. changedetection.io detects a change on the page
  2. Conditions are evaluated against the new content
  3. If conditions are met → Notification is sent ✅
  4. If conditions are NOT met → Change is recorded, but no notification ❌

When to Use Conditions

Price Thresholds

Only notify when price drops below 50orrisesabove50 or rises above 200

Keyword Filtering

Alert only when specific keywords appear or disappear

Numeric Ranges

Notify when stock count, ratings, or other numbers meet criteria

Text Presence

Trigger when specific text exists or is removed from the page

Setting Up Conditions

Accessing Condition Rules

1

Edit Watch

Click Edit on any watch
2

Find Conditions Section

Scroll to the “Conditions” section near the bottom
3

Choose Match Logic

Select “Match all” (AND) or “Match any” (OR)
4

Add Condition Rules

Configure field, operator, and value for each rule

Condition Components

Each condition rule has three parts:

1. Field (What to Check)

Select what content to evaluate:
Extract specific values firstFor best results, use Extract text filters to isolate the value you want to check:
  1. Use filter: Price: (\d+\.\d+) to extract price
  2. Then condition: Number < 50

2. Operator (How to Compare)

Available operators:

Text Operators

Numeric Operators

3. Value (What to Compare Against)

The value to compare the field against:
  • For text: Enter the text/keyword/regex pattern
  • For numbers: Enter the numeric value (integers or decimals)
  • Case sensitivity: Text comparisons are case-insensitive by default

Match Logic

Control how multiple conditions are evaluated:
All conditions must be true to send notificationExample:
Use for: Strict filtering where all criteria must be met

Common Use Cases

Price Drop Alert (Below Threshold)

Goal: Only notify when price drops below $100 Configuration:
Setup:
  1. Use “Extract text” filter: \$([0-9.]+) to extract price
  2. Add condition: Number < 100
  3. Save watch
Result: Notifications only when extracted price is less than $100

Price in Range (Between Two Values)

Goal: Notify when price is between 50and50 and 150 Configuration:
Result: Notifies only when 50 < price < 150

Keyword Presence (Text Contains)

Goal: Alert when “Hiring” or “Now Accepting Applications” appears Configuration:
Result: Notifies if either phrase appears on the page

Stock Count Monitoring

Goal: Alert when stock count drops below 10 units Configuration:
Result: Notifies when stock count < 10

Restock Alert (Keyword Disappears)

Goal: Notify when “Out of Stock” is removed from page Configuration:
Result: Notifies when “Out of Stock” text is no longer present

Rating Threshold

Goal: Alert when product rating rises above 4.5 stars Configuration:
Result: Notifies when rating > 4.5

Advanced Conditional Logic

Multiple Keyword Detection (ALL)

Scenario: Notify only when page contains BOTH “Premium” AND “Discount”

Price Drop OR Keyword

Scenario: Alert if price < $50 OR “Sale” appears

Complex Price Condition (Outside Range)

Scenario: Notify when price drops below 20ORrisesabove20 OR rises above 100 (alert on extremes)

Regex Pattern Matching

Scenario: Alert when email address appears in specific format

Combining with Other Features

Conditions + Restock Monitoring

Scenario: Monitor product, notify only when in stock AND price < $200 Setup:
  1. Use “Restock & Price Detection” processor
  2. Add conditions:

Conditions + Browser Steps

Scenario: Login, navigate to account balance, alert if balance < $100 Setup:
  1. Browser Steps: Login and navigate to balance page
  2. Extract text: Balance: \$([0-9.]+)
  3. Condition: Number < 100

Conditions + Visual Selector

Scenario: Select price element, notify only on price drop Setup:
  1. Visual Selector: Select price element
  2. Extract text: \$([0-9.]+)
  3. Store original price on first check
  4. Condition: Number < [previous_price]
For price comparisons over timeUse the built-in Restock monitoring feature instead of manual conditions. It automatically tracks price changes and has built-in thresholds.

Best Practices

Use Extract text filters to isolate the exact value before applying conditions.Example:
  • Page shows: “Price: 49.99(was49.99 (was 79.99)”
  • Extract filter: Price: \$([0-9.]+)
  • Extracted: 49.99
  • Condition: Number < 50 ✅
Without extraction, the condition would check the entire text.
After setting up conditions:
  1. Click “Check now” to run the watch
  2. View the extracted content in the Preview tab
  3. Verify conditions would evaluate correctly
  4. Adjust extract filters or condition values as needed
Choose the most specific operator for your use case:
  • “Contains” for flexible keyword matching
  • “Equals” for exact text matching
  • “Matches regex” for complex patterns
  • Numeric operators for price/number comparisons
Complex multi-rule conditions can be hard to debug.Instead of:
Try:
Use watch titles to indicate conditions:
  • “Product X - Alert when < $50”
  • “Job Board - Notify on ‘Hiring’ keyword”
  • “Stock - Alert when count < 10”

Troubleshooting

Condition Never Triggers

Problem: Condition checks the full page text, not the extracted valueSolution:
  1. Add an “Extract text” filter to isolate the value
  2. Test with “Check now” and view Preview tab
  3. Verify the extracted value appears correctly
Problem: Using numeric operator on text, or vice versaSolution:
  • For prices/numbers: Use Field = Number and numeric operators (< > ==)
  • For keywords/text: Use Field = Text and text operators (contains, equals)
Problem: “Matches regex” condition doesn’t matchSolution:
  • Test regex pattern in a regex tester (regex101.com)
  • Check for escaping issues (use \\ for literal backslash)
  • Verify the pattern matches the actual page content format
Problem: Using “Match ALL” when you need “Match ANY” or vice versaSolution:
  • ALL: All rules must be true (strict)
  • ANY: At least one rule must be true (flexible)
Verify which logic matches your intent.

Condition Always Triggers

Possible causes:
  1. Condition too broad:
    • “Text contains ‘a’” will always match (most pages have the letter ‘a’)
    • Make conditions more specific
  2. Number extraction failing:
    • If number can’t be extracted, default value (0 or empty) may match condition
    • Verify extraction is working
  3. Multiple values extracted:
    • If extraction finds multiple numbers, condition may check the first one
    • Refine extraction regex to target exact value

Notifications Still Send Despite Conditions

Check:
  1. Are conditions enabled?
    • Verify condition rules are configured and saved
  2. Is there a separate trigger text filter?
    • “Trigger text” (different feature) may override conditions
    • Check if “Keyword triggers” field is set
  3. Global vs watch notifications:
    • Check if global notifications are sending (they ignore per-watch conditions)
    • Configure conditions in both global and per-watch if needed

Condition Examples by Scenario

E-commerce Product Monitoring

Job Board Monitoring

Real Estate Listings

Stock/Inventory Tracking

Conditions vs. Other Features

Conditions vs. Trigger Text

Key difference: Trigger text delays monitoring start. Conditions filter notifications.

Conditions vs. Filters

Use together:
  1. Filters extract the price: $49.99
  2. Conditions decide whether to notify: if price < 50

Filters & Extraction

Extract specific values to use in conditions

Restock Monitoring

Built-in price and stock conditions

Trigger Text

Wait for specific text before monitoring

Next Steps

1

Set Up Your First Condition

Create a price threshold condition on a test watch
2

Combine with Extraction

Use Extract text filters to isolate values for conditions
3

Test Multiple Rules

Experiment with Match ALL vs Match ANY logic
4

Configure Notifications

Set up alerts to receive when conditions are met