Skip to content
SiteRevenue
MODULE

Message match from ad to landing page

Last updated:

Message match is whether the arriving promise survives the fold and the form eyebrow. That promise may be an ad, a search snippet, or the sentence they clicked in an AI Overview or AI Mode citation. A free-grade click that lands on “Book a tour” is a bait-and-switch even if the product is honest. SiteRevenue scores the public page; optional outcome and competitor fields are hints, not an ads ingest. We do not connect Google Ads. On a full report we fetch competitor URLs you typed (max three, public HTML, fail-open) for a vs panel — we do not invent a rival. Teaser keeps names as notes only. Landing-first comparison: Why ads don't convert. See the sample panel and checklist Match.


What good looks like

  • Same job-to-be-done from keyword, ad, or AI Overview sentence → H1 → primary CTA → form eyebrow. Google Ads landing page experience is the paid version of the same continuity test.
  • Same audience and offer type. A “starts at $49” ad should not land on a demo-only wall with no price path.
  • Proof type matches the click. If the ad claimed a metric, that proof is near the fold — or the ad is rewritten.
  • Brand is consistent enough that the visitor does not feel they hit the wrong company.
  • Optional outcome / competitor URLs on the home form or the teaser job wizard. Those fields are not an ads file. Full jobs fetch public rival URLs you listed; teasers do not.

Match is a continuity test, not a request to clone an ad word-for-word.


Common gotchas

  • Brand slogan on the LP, feature claim in the ad — two different products in two tabs.
  • Promo or price in the creative, full list price on the page with no mention of the deal.
  • Form eyebrow switches the job (“Book a product tour” under a “free leak score” hero).
  • Dynamic keyword insertion the landing template cannot support (audience, geo, or competitor names that never appear).
  • Comparison ad, no comparison on the page — the visitor looks for the matrix and bounces.
  • New ad, old landing URL — creative moved; the public HTML did not.
  • Assuming the audit scraped your Google Ads account. It did not. There is no Ads login in this product.

How SiteRevenue scores it

New full jobs emit Message match (0–10, higher = healthier) when there is ad copy, a paid-intent hint, or a quoted arriving snippet; they omit the row when message_match is null. A panel after findings may still show arriving promise vs page promise. That slice is inferred from public HTML plus any outcome or competitor hints you typed. There is no ad-copy field and no Ads login — we do not ingest campaigns. A separate Where competitors do better table uses fetched rival HTML when those URLs loaded.

The panel is omit-safe: if the job did not return match data, the UI will not invent an ad. Live teasers omit the panel. Older jobs stay omit-safe and may fold match notes into Offer Clarity.

The sample shows an illustrative panel. SiteRevenue does not read your ads account or manage bids. Optional ad or email copy you paste on the home form is notes for the model — still not Ads OAuth, still not a Google Ads login.


Ship this week

If only the ad changed and the landing HTML is identical, fix the page or the creative before you burn a full re-audit credit — see when to re-audit.



Start with a free grade

Paste the landing URL visitors actually hit on the home page. See the open sample Message Match panel. Page file $19 · Pricing.