CampaignStack

You find out a competitor changed their pricing on a sales call

CampaignStack5 min read

It goes like this. You are twenty minutes into a call, the prospect says "well, they do that for half", and you learn two things at once: a competitor moved, and you were the last to know.

Then you go and look at your own comparison page. It still says their entry tier is what it was in March. It has been quietly wrong for weeks, in public, to every prospect who read it before they spoke to you.

Nobody has a process for this because the process is unpleasant. Someone has to open eleven competitor sites every Monday, remember what each page said last time, and notice what moved. That person does it for three weeks and then stops.

What we do about it

We read every confirmed competitor's site once a week, keep every version, and compare each read against the last. When a page changes, the change gets ranked by whether it is worth your time. Then the ones that matter get an explanation that names the page on your own site to update.

You read three lines a week. Not three hundred.

Which pages, and in what order

Up to forty pages per competitor, and the order is deliberate. Pricing and plans first, then features and product, then integrations, then anything shaped like a comparison page: /vs, /compare, /alternatives. Then changelog and what's-new. Then blog and careers.

That ordering is the whole trick when a site has more pages than the budget. A competitor with four hundred URLs still gets their pricing page read first, every week, forever.

Blog posts are treated differently on purpose. A new post is worth knowing about. A post that got edited is not, so edits to existing posts are recorded and folded away rather than put in front of you. Otherwise a competitor who fixes typos looks like a competitor who is making moves.

Most changes are not changes

Every site edits itself constantly in ways that mean nothing. A copyright year. A testimonial counter. A rotating quote.

So a change under forty characters does not count. Neither does one where every changed line is a date, a number or a counter. That filter runs before anything is ranked, which is what stops the weekly list from being mostly noise with the real thing buried at position nineteen.

A page that disappears is also not immediately gone. It has to be missing from two consecutive weekly reads before we record it as removed, because one failed fetch is a bad afternoon, not a decision by their marketing team.

How a change gets ranked

Each real change gets sorted into one kind: pricing, a new feature, an integration, a comparison page, positioning, hiring, or content. Then it gets a materiality level on a four-point scale that runs from "nothing a competitor would act on" up to "rethink our pricing or positioning".

It also gets five plain yes-or-no readings, each with a probability:

  • did the price go up
  • did the price go down
  • do they mention us by name
  • does this target our buyer
  • is this a new offering

That third one is worth the whole feature on its own. Learning the week a competitor starts naming you in their copy is different information from learning it three months later, because it tells you they think they are winning deals against you and have decided to say so.

The part that makes it an action

A ranked list is still homework. So for the changes that clear the bar, we go one step further: pick the page on your own site that this affects, then write two short things. Why it matters, and what to change on your side.

That page is chosen from your own site's real pages, not invented. If we have never read your site, you get the change without the recommendation rather than a confident guess.

One email a week, and only when something actually cleared the bar. A quiet week sends nothing. That is deliberate: a digest that arrives every Monday regardless gets filtered to a folder by week four, and then the one that mattered goes there too.

What it does not do

It does not watch their LinkedIn posts. That is a different thing and we keep it separate.

It does not track rankings, backlinks or traffic estimates. There are good tools for that and this is not one of them.

It reads at most forty pages per competitor per week, which is not a full crawl of a large site. Deep documentation and long blog archives will be partly unread, and we would rather say that than imply coverage we do not have.

And our numbers about competitors are only as fresh as our last read, which is why every page carries the date it was read. A claim on a comparison page with no date on it is a claim you cannot check, including ours.

Why we built it for ourselves first

We run twenty-eight competitors on this. The honest reason it exists is that our own comparison pages were going stale and we kept finding out from prospects, which is the same problem in a different shirt.

The whole thing costs about a cent a week to run, because ranking a change is a typed question answered by a model that returns a probability rather than an essay. The expensive part of this category is usually a large model reading whole pages and writing paragraphs about sites that did not change. Reading the difference instead of the page is what makes watching everyone affordable rather than watching the three you remembered.