Document / 03

Visual comparison

Every scan takes a full-height mobile screenshot of the page and compares it to the baseline. Instead of a single “what percentage changed” number it looks region by region, then verifies with a second scan whether the change is real.

Page 3/9Anyone who wants to understand why a notification did (or did not) arriveTechnical owners who need to tune a noisy page

Who is this for

  • Anyone who wants to understand why a notification did (or did not) arrive
  • Technical owners who need to tune a noisy page

Prerequisites

  • A baseline for the URL
  • At least one completed comparison

Step-by-step

  1. What a baseline is

    A baseline is the last state of a page a human accepted — not the last scan. Comparison is always made against the baseline, so slow, drifting breakage stays visible.

  2. Region-based scoring

    Changed pixel ratio, number of changed regions, the share and position of the largest region, the HTML content hash, page metadata and HTTP status are evaluated together. The result is a class: visual, content, metadata, availability or dynamic_noise.

  3. A height difference is not a change

    When a page grows, “a section was added below” is told apart from “the whole page changed”. Images of different heights are still compared with their common region aligned.

  4. The verification scan

    A change that passes the threshold does not notify immediately; a second scan is taken shortly after. If a region differs from the baseline in both scans and also differs between the two scans, it counts as unstable and is discarded as noise. A change that holds is reported.

  5. Ignored regions

    Draw a rectangle on the screenshot to take carousels, ads, cookie banners or counters out of the comparison. Up to 10 regions per URL.

  6. Change states

    A change is new, reviewed or ignored. Marking it reviewed or ignored advances the baseline to that snapshot; leaving it new does not. That is why a change you never close reappears on every scan.

Operational outputs

  • Before/after/diff image with boxes around the changed regions
  • Change class and severity
  • Dated snapshot history

Plan availability

  • The whole engine is identical on every plan — a cheaper plan does not detect less
  • How far back history goes depends on the plan (7 / 90 / 180 days)

Limits and guardrails

  • One viewport profile: mobile Chrome at 412px
  • Ignored regions are normalized to 412px for x and width; y is fixed as an absolute pixel from the top
  • On very long pages the image is trimmed to the height limit
  • There is no AI layer that interprets content; decisions are based on measurable signals

Expected outcome

  • Notifications you receive are changes worth actually looking at
  • The same change is not notified over and over
  • Every decision has a visible diff behind it

Troubleshooting paths

  • If noise keeps arriving, ignore the region or lower the URL’s sensitivity
  • If an expected change did not arrive, check that the snapshot completed and that the page does not ask for a login
  • If the baseline froze in a wrong state, mark the correct snapshot as the baseline by hand

Got a notification that was wrong?

False positives and missed changes go straight into threshold calibration. Send us the diff link.

Write to us ↗