Back to HTML Pub

Your AI Landing Page Is Raising Your CPC: How Generated Code Quietly Wrecks Quality Score

Michael Sacca•
AI-Native Publishing
Landing Pages
Analytics

You launched the page. The ads are running. And somewhere between the second day and the second week, you notice the number in the CPC column creeping up while your budget quietly evaporates. Nothing about the campaign changed — the ads are the same, the bids are the same, the keywords are the same. What changed is how Google's auction is scoring the page your AI built.

This is the part of the AI-landing-page workflow that almost no content covers. The posts about building pages with Claude stop at "and then you deploy it." But a paid campaign doesn't end at deploy — it begins there, and Google Ads starts grading your page the moment traffic hits it. If you've already worked through the pre-launch checklist for AI-generated code and the performance budget for Claude's output, you've handled the launch-side problems. This post is about the auction-side problems: the specific habits of generated code that push your Quality Score down, and what that costs you every time someone clicks.

A sixty-second refresher on what you're being graded on

Google's Quality Score is built on three inputs, and only one of them is your page — but that one is the one you can fix with a prompt:

  1. Expected click-through rate — how likely people are to actually click your ad
  2. Ad relevance — how closely the ad matches the keyword
  3. Landing page experience — whether the page someone lands on delivers what the ad promised, loads reasonably fast, is easy to navigate, and has real, original content

You can't directly see the landing page score Google assigns; you see the letter grade in the Quality Score column and you infer. But the inputs are public knowledge: relevance between ad and page, load behavior, navigability, and substantive content. Which means the question isn't "is my page good?" — it's "does my page look, to an automated grader, like it delivers on the ad?"

AI-generated code fails that question in predictable ways. Here are the four big ones.

Pattern 1: The thin-content shell

Ask Claude for a landing page and you'll often get something that looks stunning and contains almost no text. Big hero headline, three feature cards with one sentence each, a CTA, a footer. Beautiful. And from a Quality Score perspective, nearly empty.

Google's landing page evaluation cares about original, relevant, substantive content — the kind of thing that demonstrates the page is a real destination, not a wrapper around a form. A generated page with 150 words of marketing boilerplate reads as thin even when it converts fine in the short term. The tell-tale signs:

  • Multiple pages from the same Claude session sharing nearly identical copy, with only the headline swapped per ad group
  • Body text that's pure ad-language ("Lightning-fast results!") with no informational content
  • No FAQ, no detail section, nothing that answers the questions a searcher would reasonably have

The per-ad-group headline swap is the sneaky one. When you templatize a page for ten keywords — which, to be clear, you should do; sharing one URL across every ad group is its own mistake — the cheap version is to regenerate ten near-identical pages. If the body copy is 90% duplicated, Google's systems can treat those as low-value doorway-style pages, which is the exact opposite of what you want the grading to see.

The fix, as a prompt

Don't ask Claude for "a landing page for [product]." Ask for substance:

Rewrite this landing page for the keyword "X". Requirements:
- At least 400 words of genuinely informative body content beyond the hero:
  how the product works, who it's for, what makes it different, and a
  section answering the top 5 questions a searcher typing "X" would have.
- Every section must be specific to "X" — no generic SaaS language that
  could appear on any product's page.
- Keep the ad headline promise ("Y") visible above the fold and echoed
  in at least one H2, so page-to-ad relevance is obvious.
- Keep the CTA. Don't let the content push it below two screens.

The "echo the ad promise in an H2" instruction matters more than it looks. Page-to-ad relevance is graded, and Claude won't know what your ad says unless you paste the ad into the prompt. So paste the ad into the prompt.

Pattern 2: The slow load that taxes every auction

This overlaps with what we covered in the performance budget for AI-generated landing pages, so I'll keep it short and connect it to the auction: LCP doesn't just cost you impatient visitors, it's a documented input to page experience signals. Every millisecond of a bloated hero image or render-blocking inline script is paid for twice — once in bounce rate, once in the ad rank math that decides how much you pay per click. If you enforced the performance budget before launch, you've done most of this work. If you didn't, a Quality Score problem is often the second symptom of the same root cause.

The one Quality-Score-specific addition: check what the page looks like from the ad's landing flow, not your dev environment. Generated pages sometimes conditionally load content or redirect based on referrer, and a grader hitting the URL cold sees a different, thinner, slower page than you do.

Pattern 3: The boilerplate fingerprint

AI models have stylistic tells — certain phrasings, certain section rhythms, certain stock gradients and rounded-card layouts. That's an aesthetic problem you can live with. It becomes a Quality Score problem when the boilerplate is structural: a page whose nav links go nowhere, whose footer is decorative, whose "About" section is one generated sentence.

Google's guidance on landing page experience explicitly includes site navigability and transparency — clear links to what the business is, contact information, privacy policy. Generated pages fail this constantly because Claude writes exactly the page you asked for: a single-purpose conversion machine with no exits. A page with zero navigational affordances looks less like a destination and more like a trap, and graders that reward navigable, transparent sites will treat it accordingly.

The fix is a prompt addition, not a redesign:

Add to this landing page:
- A minimal top nav with working links to: About/contact info, privacy
  policy, and one relevant content page.
- A privacy policy page (generate it).
- A short "who we are" block with a real business name and a contact
  method.
Keep these unobtrusive — don't let them compete with the CTA.

Pattern 4: The promise mismatch

The most expensive failure isn't in the code at all — it's in the gap between what the ad says and what the page delivers. You wrote the ad, Claude wrote the page, and nobody checked that the two agree. Ad promises "free trial," page has no mention of a trial. Ad targets "CRM for real estate agents," page says "CRM for modern teams." Every mismatch reads as a bait-and-switch to both the visitor (who bounces, hurting CTR) and the grader (who scores relevance down).

Run this reconciliation prompt before you spend another dollar:

Here is my ad copy: [paste]
Here is my landing page copy: [paste]

1. List every claim in the ad and whether the page confirms, contradicts,
   or ignores it.
2. List the primary intent behind the keyword "X" and whether the page
   serves it.
3. Rewrite the page headline and first section so the ad promise is
   literally restated within the first screen.

This is the same critique-first instinct from asking AI to tear your landing page apart — just pointed at the ad/page seam instead of the page alone.

Why the CPC math compounds

Quality Score doesn't just affect whether your ad shows. It's a multiplier in the ad rank auction: higher quality means you can win the same position at a lower bid, and lower quality means you pay a premium just to stay visible. On a thin, slow, mismatched page you're paying two taxes simultaneously — the Quality Score penalty on every click, and the bounce rate that makes every click worth less. The page Claude built cheaply becomes the most expensive asset in your campaign.

And unlike most campaign problems, this one is fully fixable with prompts. The ads are already written. The keywords are already chosen. The only broken artifact is a text file you can regenerate in twenty minutes.

The audit order, in one list

  1. Paste your ad into the reconciliation prompt and fix the promise mismatch first — it's the cheapest fix and the biggest relevance lever.
  2. Run the content-substance prompt so no two of your per-keyword pages share more than a skeleton.
  3. Add the navigability and transparency elements — nav, contact, privacy.
  4. Re-run your Lighthouse checks per the performance budget, since you're editing anyway.
  5. Only then check your Quality Score column again — and give it the few weeks Google's systems need to re-evaluate the page.

The workflow that gets a Claude-built page live is one discipline. Keeping that page cheap to advertise on is a second one, and nobody bundles them. Now you have both.

Keep Reading