Paid ads
Free message match auditor for ads and landing pages
By Charles Summers · Updated · Free, no signup
Short answer
Paste your ad headline, ad description, page headline, page subhead and primary keyword, and this scores the match out of 100 across four measured components: word overlap between the two headlines, whether the keyword survives onto the page, whether the offer promised in the ad appears anywhere on the page, and whether the page is as specific as the ad. It names the exact words that went missing, the vocabulary the page introduced that the visitor has never seen, and then rebuilds the headline and subhead using only phrasing from your own ad copy.
Use the landing page message match auditor
What does this tool actually do?
Paste your ad headline, ad description, page headline, page subhead and primary keyword, and this scores the match out of 100 across four measured components: word overlap between the two headlines, whether the keyword survives onto the page, whether the offer promised in the ad appears anywhere on the page, and whether the page is as specific as the ad. It names the exact words that went missing, the vocabulary the page introduced that the visitor has never seen, and then rebuilds the headline and subhead using only phrasing from your own ad copy..
It runs entirely in your browser. Nothing you type is sent to a server, no account is required, and there is no usage limit, because there is no cost per run to control.
What the visitor is doing in the first few seconds, and why repetition beats elegance
Someone who clicks a paid ad arrives holding a sentence in their head, and it is your sentence, because they read it four seconds ago. What happens next is not reading, it is scanning for confirmation. They are checking whether this page is about the thing they just clicked, and the fastest way to answer that is to find the same words. If the words are there they commit and start actually reading; if they are not, the page has to be re-evaluated from scratch, which costs effort the visitor did not agree to spend.
This is why an elegant rewrite of the ad promise scores worse than a blunt repetition of it. A page headline that reads "Effortless clarity for modern teams" may be better prose than "Inventory forecasting for Shopify stores", but the visitor who clicked an ad about inventory forecasting cannot pattern-match against it. The mechanism is recognition, not persuasion, and recognition needs the literal string. Synonyms are for the second paragraph, once the visitor has decided to stay.
The cost of getting this wrong is charged twice. You paid for the click and got nothing, and on Google Ads the landing page experience is one of the three components behind Quality Score, alongside expected click-through rate and ad relevance, so a page that visitors bounce off can raise what you pay for the next click as well. That makes message match one of the few things in a paid account that improves the numerator and reduces the denominator at the same time.
How this score is calculated, and what it cannot see
The overlap component compares the meaningful words in your ad headline against the meaningful words in your page headline. Stop words are dropped, and words are crudely singularised so "shoes" matches "shoe". The result is a shared-vocabulary ratio, and full marks arrive well before an exact copy, because a page headline that repeats every ad word verbatim usually reads badly. The keyword component is checked separately, in the headline first and the subhead second, because a keyword that only appears below the main headline is doing half a job.
The offer component looks for offer-shaped phrases in the ad text, things like a percentage off, a free trial, a number of days, a money-back guarantee, a demo or a price, then checks whether each one survives onto the page. This is literal string detection rather than comprehension: it can tell that the ad says "14-day free trial" and the page does not, and it cannot tell that the page says "two weeks on us" and means the same thing. Read the flagged items before acting on them.
The specificity component compares numerals in the ad against numerals on the page and scans the page for a list of vague marketing words that carry no information: seamless, innovative, world-class, next-generation and their relatives. A page that answers a specific ad with a generic promise is the most common failure this catches, and it is invisible to a pure keyword check because the keyword can be present while everything around it says nothing.
What no automated score can see is whether the page delivers on the promise once the visitor starts reading. A perfect 100 here means the top of the page matches the ad, which is a necessary condition and not a sufficient one. The form length, the price transparency and the proof below the fold decide the rest, and they need a human to look at them.
The offer is the part that breaks, and it usually breaks for operational reasons
In most accounts the ad and the landing page have different owners, different tools and different release processes. The media buyer changes the promotion in the ads platform in ten minutes; the page change needs a ticket, a designer and a deploy. So the ad promises 20% off, the page shows the old banner or none at all, and the visitor who arrived for the discount now has to hunt for it. Very few of them hunt.
The reverse happens just as often and is easier to miss. A promotion ends on the page and lives on in a paused-then-reactivated ad, or in a Performance Max asset group nobody audited, so you are advertising an offer you no longer honour. That is a policy exposure as well as a conversion problem, since advertising a price or promotion you do not deliver is exactly what the misrepresentation rules exist to catch.
The fix is procedural rather than creative. Whoever changes an offer changes it in both places in the same sitting, and the promotion has an owner and an end date written down. A monthly sweep of live ad text against live page text catches the rest, and this tool is a reasonable way to run that sweep one page at a time.
Scaling this beyond one page
A dedicated page per ad group is the textbook answer and rarely the affordable one. The practical version is one page per message theme: group ad groups that make the same promise, build one page for that promise, and only split further when the promise genuinely differs. Ten ad groups selling the same outcome to the same buyer need one page; two ad groups selling to a plumber and a hospital procurement team need two, however similar the product is.
Dynamic text replacement, where the page headline is populated from a URL parameter, closes the gap cheaply and introduces two specific risks. If the parameter is missing the page must degrade to a sensible default rather than a blank or a stray placeholder, and if the parameter is written into the page unescaped you have handed strangers a way to put arbitrary text on your site, which is both a security issue and a way to end up with an offensive headline on a page you are paying to promote. Whitelist the values you accept rather than reflecting whatever arrives.
For measurement, bounce rate is a poor read on message match because it is defined differently across analytics tools and it cannot distinguish "wrong page" from "answered my question instantly". Compare conversion rate by ad group against the same page, look at the share of sessions that scroll or engage past the fold, and watch what happens to those numbers when you change the headline. If a headline change moves the conversion rate for one ad group and not another, the mismatch was specific to that group, which tells you where the next page belongs.
Numbers worth knowing
| Metric | Typical | What it means |
|---|---|---|
| Quality Score components | 3 | Expected click-through rate, ad relevance and landing page experience. Message match is the lever that touches two of them, which is why it changes cost per click as well as conversion rate. |
| Time before a visitor decides to stay | a few seconds at most | Short enough that the decision is made by scanning for recognisable words rather than by reading. Published figures vary by method, so treat the direction as the finding, not the exact number. |
| Landing pages per ad group | 1 ideally, 1 per message theme in practice | The binding constraint is production capacity, not theory. Split when the promise differs, not when the keyword differs. |
| Word overlap for full marks here | around 60% | A verbatim copy of the ad headline usually reads badly as a page headline. Enough shared vocabulary for recognition is the target, not identical strings. |
| Where offer mismatches come from | different owners and release cycles | Ads change in minutes and pages change in sprints. Almost every offer mismatch is a process gap rather than a copywriting decision. |
Mistakes that quietly cost you results
- Writing a cleverer headline for the page than the one in the ad
- The visitor is pattern-matching against the words they just read, not judging your prose. Repeat the ad promise in the page headline and save the better phrasing for the paragraph underneath.
- Sending every keyword in the account to the homepage
- A homepage is written for people who already know who you are, so it answers a different question from the one the search asked. Send paid traffic to a page that names the thing in the query, even if that page is a simple one.
- Changing the promotion in the ad and not on the page
- The visitor arrives looking for a discount that is not there and leaves without hunting for it. Change both in the same sitting, give the promotion an owner and an end date, and sweep live ad text against live page text monthly.
- Answering a specific ad with a generic page
- An ad that says 40 minutes and a page that says seamless onboarding have broken the match even though the keyword is present. Carry the numbers across, because the number is the part the visitor remembered.
- Judging message match by bounce rate alone
- Bounce is defined inconsistently between analytics tools and cannot separate a wrong page from an instantly answered question. Compare conversion rate by ad group on the same page and watch how it moves when the headline changes.
What does the output look like?
This is the exact output the tool produces from the example inputs. It is generated by the same code that runs when you click the button, so what you see here is what you get.
Frequently asked questions
How is the 100-point score split?
Thirty points for shared vocabulary between the ad headline and the page headline, twenty-five for whether the primary keyword survives onto the page and where it lands, twenty-five for whether the offer promised in the ad appears in the page text, and twenty for specificity, which compares the numerals in your ad against the numerals on your page and penalises vague marketing words. Each component prints its own sub-score and the reason, so you can see which one is dragging the total down instead of arguing with a single number.
Does it understand synonyms?
No, and that is closer to how the visitor behaves than it sounds. The check is literal word matching with stop words removed and crude singularisation, so "shoes" matches "shoe" but "two weeks free" does not match "14-day trial". A human scanning a page for four seconds is doing something much nearer to literal matching than to semantic comprehension, so the strictness is deliberate. Read the flagged mismatches before you act on them, because a genuine paraphrase will show up as a false positive.
Where do the rewrite suggestions come from?
They are assembled from your own ad copy, never invented. The tool takes your ad headline, your keyword and the first clause of your ad description and combines them into headline and subhead options that carry the words the visitor just clicked. If the result reads awkwardly, that is usually a signal about the ad copy rather than about the page, and it is worth fixing at the source where it also affects what people click.
What message match score should a paid landing page hit before I spend on it?
Above 80 means the top of the page is doing its job and the remaining work is below the fold. Between 60 and 80 there is usually one specific thing missing, most often the offer or a number, and the breakdown will name it. Below 60 the visitor is being asked to work out for themselves that they are in the right place, and that work is where paid traffic gets lost.
Does message match affect what I pay per click?
On Google Ads, landing page experience is one of the three components behind Quality Score, alongside expected click-through rate and ad relevance, and Quality Score feeds into ad rank and what you pay. So a page that matches its ads is not only converting better, it is influencing the auction. That is unusual: most conversion rate work leaves your media cost untouched, and this is one of the few levers that moves both sides of the equation.
Related free tools
- Google Ads Headline Generator Paid ads
- Facebook Ad Copy Generator Paid ads
- ROAS Break-Even Calculator Paid ads
- Net Revenue Retention Calculator Analytics
- Pipeline Coverage Calculator Analytics
Some links on this site are affiliate links, which means Hacking Demand may earn a commission if you buy through them at no extra cost to you. This does not influence which tools are listed. The tools on this page are free and have no affiliate relationship of any kind.