Web change monitoring answers a narrower question than a news alert. An alert asks whether anything new has been published about a subject. A change monitor asks whether a specific page you already know has changed, and whether that change matters: a competitor's pricing page, a regulator's guidance page, a supplier's terms, a vendor's API documentation, a status page. Detecting change is the easy part, because pages change constantly. The real work is deciding which changes deserve a person's attention and, increasingly, which ones an agent should pick up. This guide covers how to choose a tool, how to set it up so it stays useful, and what changes when the reader is an agent rather than an inbox.
How a change monitor works
Nearly every tool, bought or built, runs the same five steps on each check.
- Fetch. Retrieve the page. Simple pages can be fetched over plain HTTP; pages assembled by scripts in the browser need a rendering step, usually through a headless browser. Fetching should respect the site's terms and robots rules, and a page behind a login needs explicit permission, not just an address.
- Normalise. Reduce the page to what you care about: the relevant region and its visible text, with known noise removed.
- Compare. Diff the normalised version against the baseline or the previous check.
- Classify. Decide whether the difference is cosmetic, a content edit or a material change, according to rules you wrote.
- Deliver. Send material changes, with the before and after, to whoever or whatever reviews them.
Most disappointing monitors are weak at steps two and four. They compare raw pages and treat every difference alike, so they either flood you or get muted.
Set a baseline, then define what matters
Capture a baseline
Without a baseline, the first comparison reports the whole page as new, and you have no idea what normal variation looks like. Before you switch on any alerts, capture for each page:
- the normalised content as of a known retrieval time, stored so it can be shown later;
- the region you are watching, for example the pricing table rather than the whole page;
- the parts that change routinely, such as dates, counters, rotating banners or recommended articles.
Then run the monitor in observe-only mode for several cycles. Every difference it records during that period is either noise to normalise away or a real change you would have wanted. The note on setting a baseline before you monitor explains why skipping this step costs more later.
Decide what counts as material
A material change is one that would make someone do something differently. That depends on the page and on who reads the alert, so write a rule per page, including what to ignore. For a competitor's pricing page it might read:
Alert when a plan is added or removed, when a listed price or billing period changes, or when a feature moves from one plan to another. Ignore wording edits, image swaps, reordering of plans and changes to the footer or navigation.
Each rule should name an owner: the person who decides what happens when it fires. A page nobody owns is a page nobody reviews, and its alerts become background noise. For product pages specifically, the guide to competitor feature alerts looks at what a shipped change actually looks like on a page.
Keep noise under control
Noise has a small number of common causes, and each has a standard remedy.
| Source of noise | Remedy |
|---|---|
| Timestamps, view counters, session tokens | Strip them during normalisation |
| Rotating banners and experiments that show different versions | Watch a narrower region; require a change to persist across two consecutive checks |
| Markup or whitespace reformatting | Compare visible text, not raw HTML |
| Personalised or location-dependent content | Fetch with the same documented profile every time |
| A site-wide change appearing on many pages | Group it into one event instead of one alert per page |
| A page that flips back and forth | Debounce: alert only once the new state holds |
Ask reviewers to give a short reason whenever they dismiss an alert. A month of reasons tells you which rules to tighten far better than intuition does.
Near-real-time monitoring for agents
On the web, “real time” almost always means frequent polling, because few sites push changes to anyone. Before choosing a cadence, ask how quickly anyone would act on a change. If a person reviews alerts once a day, checking every minute mostly multiplies noise and the load on someone else's server. Where speed genuinely matters, prefer signals the source publishes itself: RSS or Atom feeds, sitemaps with modification dates, official APIs, status page subscriptions and vendor webhooks. Poll only what offers no such signal.
When an agent consumes the changes, send it a structured event rather than an email. A useful event carries enough for the agent to work without fetching the page again:
event_id: chg-0192 url: https://example.com/pricing region: pricing table rule_version: pricing-v3 classification: material before: Team plan, billed annually after: Team plan, billed monthly or annually previous_fetch: retrieval time of the earlier version current_fetch: retrieval time of this version
Make delivery safe to retry by keying on the event identifier, so a resent event does not open a second task. Above all, treat page content as untrusted input. A monitored page can contain text written to steer an agent, such as “ignore your previous instructions and…”. The agent should read page text as data to summarise, never as instructions, and nothing it reads should widen what it is allowed to do. The walkthrough of an agent that researches, monitors and extracts shows where monitoring sits next to the other two jobs.
Review: where a detected change becomes work
A detected change is a question, not an instruction. Give every material change a review step with three possible outcomes: dismiss it with a reason, note it for the record, or turn it into a piece of work with an owner. Anything that would leave the team as a result, such as an email to customers, a social post or an update to your own prices, should pause for a person's approval. From a detected change to reviewed work walks through that handoff step by step.
What to look for in a tool
- Rendering for script-built pages, and control over the fetch profile.
- Region selection and normalisation rules you can see and edit.
- Classification beyond “something changed”, ideally rules written in words with exclusions.
- Stored before and after versions with retrieval times, so an alert can be checked later.
- Grouping of the same change across pages, and debouncing.
- Delivery as structured events through a documented API or webhook, not only email.
- A review queue that records who dismissed what, and why.
- Clear handling of logins, site terms and robots rules.
If you mainly need to discover new mentions rather than watch known pages, start from replacements for keyword alerts instead.
Where GoCux fits
GoCux does not crawl the web, and it is not a page-diffing service. Its part of the picture is the review side. With Pulse, you set up a recurring question over sources you choose and approve its definition as an exact version: cadence, timezone, what counts as a material change, and whether notification goes out by email or not at all. Each run is kept as its own occurrence, and the changes in it are reviewed one by one. A detected change does not act for you. If follow-up is needed, you can open a work order for it, with a goal, a scope and acceptance criteria, and sending anything out pauses until someone on the team decides. Web content reaches the workspace only through an authorised browsing or export step, carrying its page address and retrieval date. The Pulse page shows how the review works.
Setup checklist
- List the pages, and next to each the decision it informs. Drop pages with no decision and no owner.
- Choose the region to watch on each page.
- Capture a baseline and run several observe-only cycles.
- Write a materiality rule per page, including what to ignore.
- Normalise away the noise the observe-only period revealed.
- Set the cadence from how fast someone would act, and use feeds or webhooks wherever the source offers them.
- Choose the delivery format: email for people, structured events for agents and other systems.
- Name the reviewer and define what happens after review, including which follow-ups need approval.
- Read the dismissal reasons regularly and adjust rules that keep firing for nothing.
Bring this workflow into your workspace.
Set the scope. Review the evidence. Approve the steps that need it.