Back to HTML Pub

Stop Sending Every Ad to the Same Landing Page: How Many Pages You Actually Need (and How Claude Makes Each One in 20 Minutes)

Michael Sacca•
Landing Pages
AI-Native Publishing
Publishing Strategy

Somewhere between "do I even need a landing page?" and "I'll just point everything at the homepage," there's the question nobody answers directly: how many landing pages does a paid campaign actually need?

Google's advice is unhelpful — it says match your landing page to your ad, which is true and useless. You can't match a page to every ad when each page takes a day and the campaign launches Monday. So the pragmatic compromise almost everyone lands on is one page per campaign, maybe two, with every ad group funneling into the same URL. Then Quality Score disappoints, conversion rates scatter across ad groups, and the postmortem concludes the "traffic quality" was bad.

Usually the traffic was fine. The pages were too few.

The volume rule: one page per distinct search intent, not per ad

An ad group is a container for keywords. Whether it deserves its own landing page depends on whether the person typing those keywords would read your shared page and think "yes, this is for me" or "this is adjacent to what I want."

A workable rule of thumb:

  • One landing page per buyer intent, not per ad group. If two ad groups describe the same intent phrased differently ("plumbing repair" and "emergency plumber near me"), they can share a page.
  • Split when the intent implies a different promise. "Emergency plumber" and "bathroom remodel quote" are the same service and different promises — different hero, different CTA, different proof. Two pages.
  • Split when the audience self-identifies differently. A roofing company running ads to homeowners and to property managers is one service and two conversations. Two pages.
  • Don't split below the level where you'd have something different to say. If the page for an ad group would be a word-for-word clone of another with one swapped word, merge them. You're not gaining relevance; you're doubling maintenance.

For most small paid campaigns this lands somewhere between three and six distinct pages. Not one. Not thirty. The point isn't a number — it's that the number should be set by how many distinct promises you're making, and right now it's probably being set by how much page-building hurts.

Why the shared URL quietly costs you

When every ad group lands on one page, two things happen, and both show up in your metrics as problems that aren't really page problems.

First, message mismatch. Someone clicks an ad that says "same-day service, no wait" and lands on a page whose hero is a generic brand statement. They don't consciously think "this ad lied to me" — they just bounce at a slightly higher rate than the ad group whose message happens to match. Your account averages those rates together, so the mismatch is invisible. You see "conversion rate: 4%" instead of "8% for the matched audience, 1% for the mismatched one."

Second, your testing is corrupted. If you try to improve the shared page, you're optimizing a blend of four different audiences. A headline change that helps homeowners can hurt contractors, and you'll never see it, because they're all folding into one number.

This is the same conversation as the lead-capture side of the house — covered in Your AI Landing Page Gets Traffic — But Where Do the Leads Go? — except upstream: before the form needs somewhere to send things, the page itself needs somewhere relevant for the click to land.

The real bottleneck was never strategy

Ask a paid team why they share URLs and they won't say "I believe in message consistency across intents." They'll say "each page takes half a day and I have four ad groups and a launch date."

So the fix isn't convincing anyone they need more pages. It's making a page cost twenty minutes instead of half a day. That's what Claude changes — and it's the same reason this blog keeps arguing that the hosting and publishing stack matters more than the generation, as laid out in "Easy Hosting Solutions, Ranked by What 'Easy' Means When Your Site Came Out of ChatGPT".

The template approach

You build one page properly. Then every page after it is a fill-in-the-blanks exercise:

Here is a landing page template as a variable: {{page}}

Variable slots:
- headline (the ad's core promise, in the searcher's words)
- subheadline (one sentence of specificity)
- hero_image_alt (context for the image)
- primary_cta (verb + outcome)
- proof_points (3 bullets, drawn from this audience's concerns)
- objections (1 short FAQ addressing the #1 hesitation for this audience)
- meta_title, meta_description

Here are the ad copy and keyword list for ad group {{name}}.
Fill every slot. Keep the shared page's structure and CSS untouched —
do not rewrite anything outside the slots.

The constraint in that last line is doing the heavy lifting. The failure mode of asking an LLM for "another landing page" is that it regenerates the whole thing and drifts — new fonts, new section order, subtle CSS breakage. Slotted filling avoids that: the template is frozen, the model only ever touches the holes.

The 20-minute loop per ad group

  1. Paste the ad copy and keywords for the group. This is your intent source — the searcher's vocabulary is already written down in your ads; the landing page should echo it.
  2. Fill the slots. Claude produces the filled page.
  3. Read only the slots. Check the headline against the ad, check the CTA verb, check that the objection FAQ is the right objection. You're proofreading, not designing.
  4. Ship it as a new file — /emergency-plumbing.html, not index-v3-final2.html — and deploy. If your stack turns markdown or a file drop into a live URL, step four is minutes. The path from generated file to live domain is the one covered in "ChatGPT Built Your Site. Now Who Hosts It? The Path From Code to Live Domain", so I won't repeat it here.
  5. Point the ad group at its URL. Done. Next group.

Twenty minutes is honest if the template is good and dishonest if it isn't. Spend the first real hour on the template — that hour is the best-paid hour in the whole exercise, because every page after it inherits it.

What "different" has to mean, or you're doing doorway pages

A caution before you scale this to fifteen pages: Google's spam policies target pages that exist to rank rather than to serve, and a swarm of near-identical pages reads as exactly that — to reviewers and to visitors. The test isn't "are the words different," it's "would a person from each audience choose this page over the generic one?"

If the answer is no, merge the ad groups into the shared page and spend your twenty minutes on the page that already exists. Which is also the discipline worth keeping after launch — the same instinct as iterating on real data rather than regenerating pages for their own sake, the loop described in Your Landing Page Should Never Freeze: Building a Weekly AI Iteration Loop From Campaign Data Back to Claude. More pages is only a win when each page lets you say something truer to a specific person. Claude just removes the excuse for not doing that.

The sequence, compressed

  1. Count your distinct intents. That's your page count.
  2. Build one template properly. Freeze it.
  3. Fill slots per ad group with Claude, proofread the slots only, deploy per group.
  4. Revisit quarterly — split groups that turned out to hold two intents, merge pages that turned out to be clones.

Nobody needs thirty landing pages. Almost every paid campaign needs more than one. The gap between those numbers used to be filled by how long a page took to build. It doesn't have to be anymore.

Keep Reading