How to Track Competitor Pricing Changes Automatically
Pricing is the single most actionable signal in competitive intelligence. Your competitor raising their Pro plan from $29 to $49 immediately changes three decisions on your side: whether to match, whether to undercut, and whether to reframe your value prop.
Unlike feature launches or hiring sprees, pricing moves show up the moment a competitor is willing to commit publicly — often weeks before they announce it. If you're watching the pricing page, you know before their marketing email goes out. It sits in the broader category of competitor monitoring, but it's the one signal with the most immediate commercial impact.
The naive way doesn't work
Most "website change" tools watch the pricing page for any change — usually via an MD5 or SHA hash of the page HTML. The page changes, you get an email.
The problem: pricing pages change constantly for reasons that have nothing to do with pricing. A new testimonial widget. An A/B test of the button color. A typo fix. A currency-detection script that shows €119 to European visitors and $129 to US visitors — same plan, different symbol, different hash.
Within a week you learn to ignore the alerts. That's worse than not having them.
What actually works: semantic diff
You don't want to know that the page changed. You want to know what changed. That requires storing the previous textual content of the page and, on each change, comparing old text to new text and extracting only the meaningful parts. This is the "content hashing" method covered in our website change detection guide — applied to the single page where the signal matters most.
An LLM does this trivially. Feed it two versions and ask for a bullet list of pricing differences — plan names, prices, included features, limits. Claude Haiku does this for well under a cent per diff. Output looks like:
• Pro plan raised from $29/mo to $49/mo
• New Enterprise tier added at $199/mo
• Free plan removed — replaced with 14-day trial
• Seat pricing changed from flat to $10/additional user
That's a decision-ready summary. "The page changed" is not.
What to store
You need three things persisted per watched page:
- A content hash — SHA-256 of the stripped-of-HTML page text. This is your cheap "did anything change?" check.
- The current text snapshot — the cleaned page content, capped at ~50KB to keep storage bounded.
- The previous text snapshot — so you can diff when the hash changes.
When the hash differs from last time, that's your trigger: run the LLM diff, save the summary, notify.
Things that will make you look stupid
A pricing page monitor needs to avoid three classes of false positive:
- Locale flips. Geo-IP-based currency switching will flip EUR to USD and back depending on which CDN pop served your request. Fix: send a fixed
Accept-Language: en-USheader on every fetch, and ignore changes that are pure currency-symbol substitutions. - Dynamic social proof. "2,473 customers trust us" widgets tick every hour. Either strip them before hashing, or stick to content inside a stable wrapper element.
- A/B test variants. Some sites serve different copy to different visitors. A single fetcher will see the same variant consistently, but if you switch IPs or User-Agents you'll get oscillation. Pick one UA and stick with it.
What to do with the signal
Pricing changes are usually one of three strategies:
- Price up. Competitor raising prices = they feel demand is inelastic, or they're burning runway and need revenue. Either way, you now have room to undercut without looking cheap.
- Price down or add a free plan. Competitor is hunting volume. Likely preparing for a bigger land-and-expand motion or a Product Hunt push. Your CAC about to get worse on the same channels.
- Add a higher tier. New Enterprise plan appears = they're moving upmarket, probably following a whale customer. They won't care about your low-end for 6–12 months.
The mechanical part of all this — fetching the page, storing text snapshots, running the LLM diff, emailing you with an AI-written summary — is exactly what RivalPages does on a WatchedPage. Point it at a competitor's pricing URL and you get a page-change email with a 4-bullet diff whenever the prices actually change.
Track this yourself in 30 seconds
RivalPages watches competitor sitemaps, pricing pages, and homepage messaging — and sends you a weekly digest of what actually matters. Free during early access.
Start tracking competitors