SignalWatch (opens in a new tab) 4 min read
How to monitor a competitor's pricing page
Pricing pages change quietly. Watch the public URL, ignore the clocks and chat widgets, and get a diff when the price or plan text actually moves.
A competitor's pricing page is a public document that moves when you are not looking. The useful habit is a scheduled check of that URL, with the noisy bits ignored, and an alert only when the visible price or plan text changes.
Why pricing pages change
Prices move for ordinary reasons: a new tier, a discount, a limit that used to be unlimited, a feature that shifted from one plan to another. None of that arrives in your inbox. The page just reads differently the next time a customer compares you.
You do not need their changelog. You need the page they already show the world.
Watch the public pricing URL. Leave private dashboards, login walls, and checkout flows alone. SignalWatch (opens in a new tab) fetches a public HTTP(S) URL. It cannot see a page that requires a password, and it should not be pointed at one.
What to watch
Pick one URL per competitor, the page a buyer actually reads. That is usually /pricing. If the numbers live on the homepage instead, watch that URL.
On each check, pay attention to:
- Plan names and the price next to them.
- The billing period, monthly or yearly.
- Limits that define the plan: seats, monitors, pages, requests, storage.
- Lines that moved from one plan to another.
Ignore the chrome. A cookie bar, a "last updated" clock, a live visitor count, and a chat widget will change on almost every fetch. Those are not pricing changes.
How to cut false alerts
SignalWatch can narrow a monitor in three ways. Use them. A raw fetch of the whole page will email you about a timestamp.
- CSS selector. Point the check at the pricing block, often
mainor a class that wraps the plans. The header and footer drop out of the comparison. - Ignore rule. A regular expression can skip a date, a countdown, or a rotating testimonial. Example, for a "Prices as of 3 October 2026" line:
Prices as of\s+[A-Z][a-z]+\s+\d{1,2},?\s+\d{4}
- Minimum change. Set a floor so a one-word tweak in a footer does not count. The product calls this a minimum change. Use it for noise, not to hide a real price edit.
Then read the diff. SignalWatch sends a unified diff with the alert, by email, Slack, Discord, or an HMAC-signed JSON webhook. The diff is the point: you can see the old line and the new line without opening the page first.
Checks on the free plan run every 15 minutes, for up to 3 monitors, with 45 days of history. That is enough for a handful of pricing pages. Pro is $12/month or $79/year (50 monitors, every 5 minutes). Business is $29/month or $199/year (500 monitors, every 2 minutes). You can check a URL before you create an account, and the free plan does not ask for a card.
Set it up
- Copy the public pricing URL. Open it in a private window and confirm the prices are in the HTML, not trapped behind a button that never navigates.
- Create a monitor for that URL on SignalWatch.
- Add a CSS selector if the prices sit in one region.
- Add an ignore rule for any clock, countdown, or testimonial that changes on its own.
- Send the alert somewhere you already look: email is enough to start. A webhook is there when you want the diff in your own system.
- Wait for one clean check. If the first alert is a cookie banner, tighten the selector before you add the next competitor.
Three monitors is the free limit. Spend them on the pages that would change a quote, a sales call, or your own pricing.
What this will not do
It will not tell you that a link on your site broke. That is a different job. Mortise (opens in a new tab) baselines your site and alerts when a previously working link newly returns 404 or 410. The difference is covered in website change monitoring vs broken-link monitoring.
It will also not explain why they changed the price. You get the diff. The reason is still something you read.
Checklist
- One public pricing URL per competitor.
- Selector aimed at the plans, not the whole document.
- Ignore rule for dates and widgets.
- Alert destination you will actually read.
- A look at the first diff before you trust it.
The wider setup, including downtime and webhooks, is in how to get alerted when a web page changes.