Free tool · Paid traffic
Message match is whether the page continues the promise the ad made. A visitor who clicks on one promise and lands on another leaves, and the only signal you get back is a bounce. This compares your ad against the page it points at across four published checks and names the specific words the page never repeats.
Free and unlimited, with no account. It runs on text comparison rather than a model, so there is nothing to meter.
Published here as well as on the result, because a score whose arithmetic is secret is a number nobody can argue with.
| Check | Weight | What it reads |
|---|---|---|
| Headline echo | 35 | At least half the ad's meaningful words appear in the page's title or H1. Half, not all: a headline that repeated an entire ad would be a copy of it. |
| Promises kept | 25 | Every meaningful word in the ad appears somewhere on the page. The ones that do not are listed by name. |
| Offer continuity | 25 | Percentages, prices, durations and the offer words are graded apart from the prose, because a number is a promise a buyer can check. |
| Call to action | 15 | The action the ad asks for appears in a button or link on the page. A page with no button at all fails this rather than skipping it. |
It is rarely carelessness. It is that the ad and the page are written at different times, for different reasons, by people answering different questions.
The structural fix is a page per angle rather than one page for every ad, which is what Presell builds: the angle is an input to the page rather than something the page is retrofitted to. And once the page is running, the claim risk scanner checks the other half of the problem, which is whether the promises the page does make are ones it can back up.
Step 1
Headline and body together. The headline carries the promise and the body carries the offer, and a page usually keeps one and drops the other.
Step 2
The destination URL, not your homepage. Message match is a property of the pair, and the same ad against two pages gets two different answers.
Step 3
The words the ad leans on that appear nowhere on the page are the reason the visitor left. That list is the output; the number is a summary of it.
Step 4
It carries the most weight here for the same reason it carries the most weight with a visitor: it is the only thing most of them read before deciding whether they are in the right place.
When you outgrow this tool
Finding the mismatch takes a minute. Presell builds the page from the angle the ad is running, so the promise and the page start out as the same argument.
FAQ
What message match is, how this score is built, and the two cases where a low score means the tool is wrong rather than the page.
Whether the page a visitor lands on continues the promise the ad made. Somebody clicks an ad about next-day delivery and arrives at a page about ingredient sourcing: both may be good, and the visit is still wasted, because the question they clicked with is not the question the page answers. It is the cheapest paid-traffic problem to fix and the hardest to see, because the only signal it produces is a bounce rate that looks like every other bounce rate.
Four checks, each worth a published amount: the headline echo is worth 35, promises kept 25, offer continuity 25, and the call to action 15. A check either passes or it does not, so the score is the sum of the weights of the checks that passed and you can rebuild it by hand from the table on the result. 80 and above is a strong match, 50 and above is partial, below that is broken.
No. It extracts the meaningful words from the ad, extracts the same from the page, and compares them. That is why it is free and unlimited rather than one run a month: there is no model call to pay for. It is also the limitation, and it cuts both ways. A page that keeps the promise in different words is marked down for it, and a page that repeats every word while answering a different question is marked up. Read the gaps rather than the number.
Because it is the only part of the page most visitors read before deciding whether they are in the right place. A page whose body eventually addresses the ad's promise, three screens down, has already lost the people who scanned the headline and left. The weighting is a claim about attention, not about importance, and it is published so you can disagree with it.
Almost always one of two things. You said the same thing in different words, which this cannot see, or your page renders its headline in JavaScript, which we do not execute. Check the missing list: if the words there are synonyms of what is on the page, the tool is wrong and your page is fine. If they are promises that genuinely are not there, it is not.
Google and Meta both grade something related and neither shows you the working. This is not a reproduction of either, and a good score here does not predict theirs. What it does is tell you which specific words differ, which is the thing neither platform will name and the only thing you can actually act on.
Every tool on the shelf is free, with no card and no trial. Most need no account at all. See all free tools.
Check up to 25 descriptions at once and find the duplicates, which is the one problem you cannot see a page at a time.
See where a title and description get cut on desktop and mobile, measured in your own browser rather than estimated from a character count.
Word and phrase frequency with the denominator stated, plus an honest note that density is not a ranking factor.
Flesch scores with every count they are derived from, long sentences listed, and passive voice shown as clauses you can overrule.